<!doctype html>
  <html
  class="no-js"
  lang="en-US"
>
  <head>

    <script id="osano-script" src="https://cmp.osano.com/AzZcuESCJWcN06dnY/78e4eb78-19d0-49d6-8a60-7844570c4b3c/osano.js?v=v1.6.0"></script>


<style data-shopify>
  .osano-cm-widget {
    display: none;
  }
</style>

    


    
<script>
    window.Shopify = window.Shopify || {theme: {id: 157605626073, role: 'main' } };
    window._template = {
        directory: "",
        name: "index",
        suffix: ""
    };
    window.__productIdFromTemplate = null;
    window.__plpCollectionIdFromTemplate = null;
    window.igProductData = (function() {
      const data = {};return data;
    })();
  </script>
  <script type="module" blocking="render" fetchpriority="high" src="https://cdn.intelligems.io/esm/bb0373470a9f/bundle.js" data-em-disable async></script>
    
<link href="//www.bodi.com/cdn/shop/t/2/assets/overflow-list.css?v=34391953743431886101781245840" as="style" rel="preload">
<link href="//www.bodi.com/cdn/shop/t/2/assets/base.css?v=8347266990213209041787249014" rel="stylesheet" type="text/css" media="all" />
<link href="//www.bodi.com/cdn/shop/t/2/assets/rebuy-theme.css?v=124947270952125973201788378908" rel="stylesheet" type="text/css" media="all" />
<link href="//www.bodi.com/cdn/shop/t/2/assets/bodi-variables.css?v=25425319673482810351785183123" rel="stylesheet" type="text/css" media="all" />
<link href="//www.bodi.com/cdn/shop/t/2/assets/bodi-button.css?v=76464293361381150481772584678" rel="stylesheet" type="text/css" media="all" />
<link href="//www.bodi.com/cdn/shop/t/2/assets/recharge-widget-custom.css?v=37551898691326839791775061561" rel="stylesheet" type="text/css" media="all" />
<link rel="icon" href="//www.bodi.com/cdn/shop/t/2/assets/favicon.ico?v=97919708145122075061771353644" sizes="96x96" type="image/x-icon">
      <link
        rel="apple-touch-icon"
        href="//www.bodi.com/cdn/shop/t/2/assets/apple-touch-icon.png?v=176559802362480681421771353645"
        sizes="180x180"
        type="image/png"
      >
    <link
      rel="expect"
      href="#MainContent"
      blocking="render"
      id="view-transition-render-blocker"
    ><meta charset="utf-8">
<meta
  http-equiv="X-UA-Compatible"
  content="IE=edge"
>
<meta
  name="viewport"
  content="width=device-width,initial-scale=1,viewport-fit=cover"
>
<meta
  name="view-transition"
  content="same-origin"
>
<meta
  name="theme-color"
  content="#161819"
>



<link href="//www.bodi.com/cdn/shop/t/2/assets/fonts.css?v=149376122583294338101789097392" rel="stylesheet" type="text/css" media="all" />
<link href="//www.bodi.com/cdn/shop/t/2/assets/Heebo-VariableFont_wght.woff2?v=103950160879197047661771353644" as="font" type="font/woff2" crossorigin="anonymous" rel="preload">
<link href="//www.bodi.com/cdn/shop/t/2/assets/Lateral-ExtendedBold.woff2?v=166831245238582599851771353645" as="font" type="font/woff2" crossorigin="anonymous" rel="preload">

<script type="text/javascript">
  (() => {
    const configs = {
      socialladder: {
        enabled: Boolean(true),
        apiUrl: 'https://socialladder.rkiapps.com/SocialLadderAPI/api/v1',
      },
      sierra: {
        enabled: Boolean(true),
        apiUrl: 'https://sierra.chat/agent/Ut1QkpUBlHLzwwIBlHL4Ah5wk-5cYf0rK_kNTk3SH5E/embed',
        tokenUrl: 'https://www.bodi.com/api/sierra/identity-token',
      },
      recharge: {
        apiToken: 'strfnt_f88572c7ed84759fab284b62d2b7fbfc9861fae5d367e2717fe9aaa1b32e6d18',
        remorsePeriodMinutes: 65.0,
      },
      analytics: {
        autoTrackPageViewsEnabled: true,
      },
      amplitude: {
        apiKey: '1d0ded647159f1fa94847060270f1c3b',
        experimentDeploymentKey: 'client-iY0iNRt7RGFpNCPFBz3a2s4UrY0RuQ1U',
      },
      accertify: {
        dataCollectorUrl: 'https://prod.accdab.net/cdn/cs/WUWQmMNVRV4I3Iq65vKa6JqfTTA.js',
      },
      subscriptionsRedirectUrl: 'https://account.shop.bodi.com/pages/8cfdfe48-f906-45d6-8515-29818e34a6d4',
      subscriptionsMaintenanceEnabled: false,
      subscriptionsMaintenanceContent: "",
      cookiePrefix: '',
      datadog: {
        settings: {"applicationId":"fcac99de-b8a0-4b11-85f4-75c824760c42","clientToken":"pub3c11e4f0ff5fa4617371e90b5a251610","service":"commerce-shop","env":"prod","site":"datadoghq.com","logSampleRate":100,"sessionSampleRate":100,"sessionReplaySampleRate":100,"forwardConsoleLogs":"all","allowedTracingUrls":[]},
      },
      rebuy: {
        smartCartDisabled: Boolean(false),
      },
      bod: {
        enabled: Boolean(true),
      },
    };
    window.BODi = window.BODi || {};
    window.BODi.configs = configs;
  })();
</script>

<script type="text/javascript">
  (() => {
    window.BODi = window.BODi || {};

    // Customer data
    window.BODi.customer = {
      guid: null,
      email: null,
      first_name: null,
      last_name: null,
      logged_in: false,
      has_bodi_access: false,
      entitlements: [],
      sierraIdentity: null,
    };

    // Localization data
    window.BODi.localization = {
      country: 'US',
      language: 'en',
    };
  })();
</script>


<script type="text/javascript">
  (() => {
    window.BODi = window.BODi || {};

    const productRoyaltyCode = null;
    const collectionRoyaltyCode = null;
    const pageRoyaltyCode = null;

    if (productRoyaltyCode) {
      console.log('[Royalty Code] Product Royalty Code', productRoyaltyCode);
    }
    if (collectionRoyaltyCode) {
      console.log('[Royalty Code] Collection Royalty Code', collectionRoyaltyCode);
    }
    if (pageRoyaltyCode) {
      console.log('[Royalty Code] Page Royalty Code', pageRoyaltyCode);
    }

    const royaltyCode = productRoyaltyCode || collectionRoyaltyCode || pageRoyaltyCode || null;

    window.BODi.royaltyCode = royaltyCode;

    console.log(`[Royalty Code] Final Royalty Code for ${window.location.href}`, royaltyCode);
  })();
</script>



<script
  src="https://unpkg.com/@amplitude/experiment-js-client@1.21.4/dist/experiment.umd.js"
  async
></script>


<script type="text/javascript">
  // Amplitude Experiment anti-flicker snippet
  (function (d, h) {
    var apiKey = window.BODi.configs.amplitude.apiKey;
    var timeout = 2000;
    // Hides the page and loads the script. Shows page if script fails to load,
    // otherwise the script shows the page.
    var id = 'amp-exp-css';
    try {
      if (!d.getElementById(id)) {
        var st = d.createElement('style');
        st.id = id;
        st.innerText = 'html { opacity: 0 !important; }';
        // INFO: Uncomment this if Amplitude Experiment is causing unwanted flickering
        // h.appendChild(st);
        window.setTimeout(function () {
          st.remove();
        }, timeout);
        var sc = d.createElement('script');
        sc.src = 'https://cdn.amplitude.com/script/' + apiKey + '.experiment.js';
        sc.async = true;
        sc.onerror = function () {
          st.remove();
        };
        h.appendChild(sc);
      }
    } catch (e) {
      // If Amplitude Experiment fails, show the page immediately
      if (d.getElementById(id)) d.getElementById(id).remove();
      console.error(e);
    }
  })(document, document.head);
</script>


<script type="text/javascript">
  // Main Amplitude SDK initialization
  (function () {
    'use strict';

    // Helper function to load scripts
    function loadScript(scriptElement) {
      return new Promise((resolve, reject) => {
        scriptElement.onload = resolve;
        scriptElement.onerror = reject;
        document.head.appendChild(scriptElement);
      });
    }

    // Create script elements
    const amplitudeScript = document.createElement('script');
    amplitudeScript.src = 'https://cdn.amplitude.com/libs/analytics-browser-2.11.12-min.js.gz';

    const sessionReplayScript = document.createElement('script');
    sessionReplayScript.src =
      'https://cdn.amplitude.com/libs/plugin-session-replay-browser-1.13.10-min.js.gz';

    const uaParserScript = document.createElement('script');
    uaParserScript.src = 'https://cdn.jsdelivr.net/npm/ua-parser-js@1.0.38/src/ua-parser.min.js';

    // Initialize after all scripts loaded
    Promise.all([
      loadScript(amplitudeScript),
      loadScript(sessionReplayScript),
      loadScript(uaParserScript),
    ])
      .then(async () => {
        const sessionReplayTracking = window.sessionReplay.plugin({
          sampleRate: 1,
          forceSessionTracking: true,
        });

        window.amplitude.add(sessionReplayTracking);

        // Initialize Amplitude
        window.amplitude.init(window.BODi.configs.amplitude.apiKey, undefined, {
          defaultTracking: {
            sessions: true,
            pageViews: true,
            formInteractions: true,
            fileDownloads: true,
          },
        });

        // Set User ID if logged in
        if (window.BODi?.customer?.guid) {
          window.amplitude.setUserId(window.BODi.customer.guid);
        }

        // Parse user agent
        const parser = new UAParser();
        const uaResult = parser.getResult();

        // Determine membership state from entitlements
        const entitlements = window.BODi?.customer?.entitlements || [];
        const hasBodint = entitlements.some((e) => e && e.includes('BODINT'));
        const membershipState = hasBodint ? 'SUBSCRIBER' : 'NONSUBSCRIBER';

        // Fetch cart token from /cart.js
        let cartToken = '';
        try {
          const cartResponse = await fetch('/cart.js');
          const cartData = await cartResponse.json();
          cartToken = cartData.token || '';
        } catch (error) {
          console.error('[amplitude] - Failed to fetch cart token', error);
        }

        // Prepare user properties
        const userGuid = window.BODi?.customer?.guid || undefined;
        const authStatus = window.BODi?.customer?.logged_in ? 'logged_in' : 'logged_out';
        const siteCountry = window.BODi?.localization?.country || '';
        const siteLanguage = window.BODi?.localization?.language || '';
        const userAgent = navigator.userAgent;
        const userAgentData = {
          browser: uaResult.browser,
          device: uaResult.device,
          os: uaResult.os,
        };

        // Send identify event with all user properties
        const identifyEvent = new window.amplitude.Identify();
        identifyEvent.set('user id', userGuid);
        identifyEvent.set('auth status', authStatus);
        identifyEvent.set('site country', siteCountry);
        identifyEvent.set('site language', siteLanguage);
        identifyEvent.set('user agent', userAgent);
        identifyEvent.set('user agent data', userAgentData);
        identifyEvent.set('cart id', cartToken);
        identifyEvent.set('entitlements', entitlements);
        identifyEvent.set('membership state', membershipState);

        window.amplitude.identify(identifyEvent);
      })
      .catch((error) => {
        console.error('[amplitude] - Failed to load scripts', error);
      });
  })();
</script>



<script>
  (function(h,o,u,n,d) {
    h=h[d]=h[d]||{q:[],onReady:function(c){h.q.push(c)}}
    d=o.createElement(u);d.async=1;d.src=n;d.crossOrigin=''
    n=o.getElementsByTagName(u)[0];n.parentNode.insertBefore(d,n)
  })(window,document,'script','https://www.datadoghq-browser-agent.com/us1/v6/datadog-rum.js','DD_RUM')
</script>

<script>
  (function(h,o,u,n,d) {
    h=h[d]=h[d]||{q:[],onReady:function(c){h.q.push(c)}}
    d=o.createElement(u);d.async=1;d.src=n;d.crossOrigin=''
    n=o.getElementsByTagName(u)[0];n.parentNode.insertBefore(d,n)
  })(window,document,'script','https://www.datadoghq-browser-agent.com/us1/v6/datadog-logs.js','DD_LOGS')
</script>


<script>
  (function () {
    var config = window.BODi?.configs?.datadog?.settings || {};
    var guid = window.BODi?.customer?.guid;

    window.DD_RUM.onReady(function () {
      window.DD_RUM.init({
        applicationId: config.applicationId,
        clientToken: config.clientToken,
        site: config.site || 'datadoghq.com',
        service: config.service || 'commerce-shop',
        env: config.env || 'qa',
        sessionSampleRate: config.sessionSampleRate != null ? config.sessionSampleRate : 100,
        sessionReplaySampleRate: config.sessionReplaySampleRate != null ? config.sessionReplaySampleRate : 20,
        allowedTracingUrls: config.allowedTracingUrls || [],
        trackUserInteractions: true,
        trackResources: true,
        trackLongTasks: true,
        defaultPrivacyLevel: 'mask-user-input',
        silentMultipleInit: true,
      });

      if (guid) {
        window.DD_RUM.setUser({ id: guid });
      }
    });

    window.DD_LOGS.onReady(function () {
      window.DD_LOGS.init({
        clientToken: config.clientToken,
        site: config.site || 'datadoghq.com',
        service: config.service || 'commerce-shop',
        env: config.env || 'qa',
        sessionSampleRate: config.logSampleRate != null ? config.logSampleRate : 100,
        forwardConsoleLogs: config.forwardConsoleLogs || [],
        forwardReports: 'all',
        forwardErrorsToLogs: true,
        silentMultipleInit: true,
      });

      if (guid) {
        window.DD_LOGS.setUser({ id: guid });
      }
    });
  })();
</script>
<script>
  (function () {
    if (typeof window === 'undefined' || typeof fetch !== 'function') return;
    if (window.__bodiCartBootstrapPromise) return;

    if (document.cookie.split(';').some((cookie) => cookie.trim().startsWith('cart='))) {
      window.__bodiCartBootstrapPromise = Promise.resolve();
      return;
    }

    const formData = new URLSearchParams();
    formData.append('attributes[_bodi_init]', `${Date.now()}`);

    window.__bodiCartBootstrapPromise = fetch('/cart/update.js', {
      method: 'POST',
      headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },
      body: formData,
    })
      .then((response) => {
        if (!response.ok) {
          throw new Error(`Cart bootstrap failed (${response.status})`);
        }
      })
      .catch((error) => {
        console.warn('[CartBootstrap] Unable to pre-initialize cart', error);
      });
  })();
</script>
<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
<script type="importmap">
  {
    "imports": {
      "@theme/critical": "//www.bodi.com/cdn/shop/t/2/assets/critical.js?v=174785851206309248281781245567",
      "@theme/product-title": "//www.bodi.com/cdn/shop/t/2/assets/product-title-truncation.js?v=81744426891537421781771353645",
      "@theme/component": "//www.bodi.com/cdn/shop/t/2/assets/component.js?v=110735723013117678201771353646",
      "@theme/dialog": "//www.bodi.com/cdn/shop/t/2/assets/dialog.js?v=138083190563882019441771353646",
      "@theme/events": "//www.bodi.com/cdn/shop/t/2/assets/events.js?v=144203031841125949931771353646",
      "@theme/focus": "//www.bodi.com/cdn/shop/t/2/assets/focus.js?v=60436577539430446401771353645",
      "@theme/morph": "//www.bodi.com/cdn/shop/t/2/assets/morph.js?v=130689995393408371391771353645",
      "@theme/paginated-list": "//www.bodi.com/cdn/shop/t/2/assets/paginated-list.js?v=182220942238342935181778687718",
      "@theme/performance": "//www.bodi.com/cdn/shop/t/2/assets/performance.js?v=25067702614201670671771353646",
      "@theme/product-form": "//www.bodi.com/cdn/shop/t/2/assets/product-form.js?v=88643593872554363261780502833",
      "@theme/recently-viewed-products": "//www.bodi.com/cdn/shop/t/2/assets/recently-viewed-products.js?v=94729125001750262651771353644",
      "@theme/scrolling": "//www.bodi.com/cdn/shop/t/2/assets/scrolling.js?v=10957690925586738441771353645",
      "@theme/section-renderer": "//www.bodi.com/cdn/shop/t/2/assets/section-renderer.js?v=117657582323260828391771353645",
      "@theme/utilities": "//www.bodi.com/cdn/shop/t/2/assets/utilities.js?v=72522947799274318841788968944",
      "@theme/analytics.util": "//www.bodi.com/cdn/shop/t/2/assets/analytics.util.js?v=48040476879955891151788968943",
      "@theme/variant-picker": "//www.bodi.com/cdn/shop/t/2/assets/variant-picker.js?v=3281787361353841661785264054",
      "@theme/media-gallery": "//www.bodi.com/cdn/shop/t/2/assets/media-gallery.js?v=86507175541302397441775061561",
      "@theme/quick-add": "//www.bodi.com/cdn/shop/t/2/assets/quick-add.js?v=74531385036627369001771353646",
      "@theme/product-options-loader": "//www.bodi.com/cdn/shop/t/2/assets/product-options-loader.js?v=4420",
      "@theme/rebuy-variant-edit-drawer": "//www.bodi.com/cdn/shop/t/2/assets/rebuy-variant-edit-drawer.js?v=4420",
      "@theme/paginated-list-aspect-ratio": "//www.bodi.com/cdn/shop/t/2/assets/paginated-list-aspect-ratio.js?v=25254270272143792451771353646",
      "@theme/web-source-code.util": "//www.bodi.com/cdn/shop/t/2/assets/web-source-code.util.js?v=100022647184388321141771353645",
      "@theme/tracking-codes": "//www.bodi.com/cdn/shop/t/2/assets/tracking-codes.js?v=36063638829081886981776873393",
      "@theme/add-to-cart-link.util": "//www.bodi.com/cdn/shop/t/2/assets/add-to-cart-link.util.js?v=118114068868411519331780502831",
      "@theme/cart-analytics.util": "//www.bodi.com/cdn/shop/t/2/assets/cart-analytics.util.js?v=174024506925677386261787765627",
      "@theme/subscription-offer-analytics": "//www.bodi.com/cdn/shop/t/2/assets/subscription-offer-analytics.js?v=148051210093359539661789573778",
      "@theme/accertify-data-collector": "//www.bodi.com/cdn/shop/t/2/assets/accertify-data-collector.js?v=167219477265726170741772584677",
      "@theme/experiment.util": "//www.bodi.com/cdn/shop/t/2/assets/experiment.util.js?v=121332103480437961231789573775",
      "@theme/express-pay-experiment": "//www.bodi.com/cdn/shop/t/2/assets/express-pay-experiment.js?v=180756303211639942441788968943",
      "@theme/affinity-pricing.util": "//www.bodi.com/cdn/shop/t/2/assets/affinity-pricing.util.js?v=104201951747363761941789573771"
    }
  }
</script>









<link
  rel="modulepreload"
  href="//www.bodi.com/cdn/shop/t/2/assets/critical.js?v=174785851206309248281781245567"
>

<link
  rel="modulepreload"
  href="//www.bodi.com/cdn/shop/t/2/assets/utilities.js?v=72522947799274318841788968944"
  fetchpriority="low"
>
<link
  rel="modulepreload"
  href="//www.bodi.com/cdn/shop/t/2/assets/component.js?v=110735723013117678201771353646"
  fetchpriority="low"
>
<link
  rel="modulepreload"
  href="//www.bodi.com/cdn/shop/t/2/assets/section-renderer.js?v=117657582323260828391771353645"
  fetchpriority="low"
>
<link
  rel="modulepreload"
  href="//www.bodi.com/cdn/shop/t/2/assets/morph.js?v=130689995393408371391771353645"
  fetchpriority="low"
>



<link
  rel="modulepreload"
  href="//www.bodi.com/cdn/shop/t/2/assets/focus.js?v=60436577539430446401771353645"
  fetchpriority="low"
>
<link
  rel="modulepreload"
  href="//www.bodi.com/cdn/shop/t/2/assets/recently-viewed-products.js?v=94729125001750262651771353644"
  fetchpriority="low"
>
<link
  rel="modulepreload"
  href="//www.bodi.com/cdn/shop/t/2/assets/scrolling.js?v=10957690925586738441771353645"
  fetchpriority="low"
>
<link
  rel="modulepreload"
  href="//www.bodi.com/cdn/shop/t/2/assets/events.js?v=144203031841125949931771353646"
  fetchpriority="low"
>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/quick-add.js?v=74531385036627369001771353646"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/rebuy-variant-edit-drawer.js?v=4420"
  type="module"
  fetchpriority="low"
></script>

<script
  src="//www.bodi.com/cdn/shop/t/2/assets/dialog.js?v=138083190563882019441771353646"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/variant-picker.js?v=3281787361353841661785264054"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/product-card.js?v=23015674819649003541771353644"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/product-form.js?v=88643593872554363261780502833"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/accordion-custom.js?v=78770727478219950621772670204"
  type="module"
  fetchpriority="low"
></script>


<script
  src="//www.bodi.com/cdn/shop/t/2/assets/custom.js?v=164954293611269945181788459486"
  defer
  fetchpriority="low"
></script>


<script
  src="//www.bodi.com/cdn/shop/t/2/assets/media.js?v=37825095869491791421771353646"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/product-price.js?v=30079423257668675401771353645"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/cadence-text.js?v=41169851286431607791771353646"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/variant-checklist.js?v=37514240127249512841771353646"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/updateButtonVariant.js?v=180672249296976698911771353645"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/variant-metafield-text.js?v=73665773763318208401773185238"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/product-title-truncation.js?v=81744426891537421781771353645"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/product-inventory.js?v=16343734458933704981771353644"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/show-more.js?v=94563802205717136101771353646"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/slideshow.js?v=56396194353539668521774505754"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/anchored-popover.js?v=143092715850611436701771353644"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/floating-panel.js?v=128677600744947036551771353645"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/video-background.js?v=157395678258090420911774359966"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/component-quantity-selector.js?v=56330027151833116691771353646"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/component-quantity-selector-dropdown.js?v=81553553732033357941775061559"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/media-gallery.js?v=86507175541302397441775061561"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/rte-formatter.js?v=101420294193111439321771353644"
  type="module"
  fetchpriority="low"
></script>







<script
  src="//www.bodi.com/cdn/shop/t/2/assets/auto-close-details.js?v=58350291535404441581771353645"
  defer="defer"
></script>

<script>
  const basePath = 'https://cdn.shopify.com/static/themes/horizon/placeholders';
  const Theme = {
    placeholders: {
      general: [
        `${basePath}/general-1.png`,
        `${basePath}/general-2.png`,
        `${basePath}/general-3.png`,
        `${basePath}/general-4.png`,
        `${basePath}/general-5.png`,
        `${basePath}/general-6.png`,
        `${basePath}/general-7.png`,
      ],
      product: [`${basePath}/product-ball.png`, `${basePath}/product-cone.png`, `${basePath}/product-cube.png`],
    },
    translations: {
      placeholder_image: `Placeholder image`,
      added: `Added`,
      update_cart: `Update cart`,
      updated: `Updated`,
      cart_edit_error: `We couldn&#39;t update this item. Please try again.`,
      cart_edit_recovery_error: `We couldn&#39;t confirm this change. Please review your cart before checking out.`,
      cart_edit_selling_plan_error: `This option isn&#39;t available for your current subscription. Please choose a different option.`,
    },
    routes: {
      cart_add_url: '/cart/add.js',
      cart_change_url: '/cart/change',
      cart_update_url: '/cart/update',
      cart_url: '/cart',
      
      
    },
    template: {
      name: 'index',
    },
  };
</script>

<script
  src="//www.bodi.com/cdn/shop/t/2/assets/socialladder.js?v=27479865096865235401771353644"
  type="module"
  fetchpriority="low"
></script>

<script
  src="//www.bodi.com/cdn/shop/t/2/assets/cart-listener.js?v=55740414390312000901786551773"
  type="module"
></script>

<script
  src="//www.bodi.com/cdn/shop/t/2/assets/tracking-codes.js?v=36063638829081886981776873393"
  type="module"
  fetchpriority="low"
></script><script
  src="//www.bodi.com/cdn/shop/t/2/assets/add-to-cart-link.util.js?v=118114068868411519331780502831"
  type="module"
  fetchpriority="low"
></script>
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/locale-switcher.js?v=45869995406809579801776873392"
  type="module"
  fetchpriority="low"
></script>

<script
  src="//www.bodi.com/cdn/shop/t/2/assets/sierra.js?v=54464619788468369821788968944"
  type="module"
  fetchpriority="low"
></script>

<script
  src="//www.bodi.com/cdn/shop/t/2/assets/bodi-auth-redirect.js?v=35931383652729468001787765626"
  defer
></script>

<!-- Rebuy ShopifyStorefrontHelper -->

<script
  async
  type="text/javascript"
  src="https://cdn.rebuyengine.com/onsite/js/storefront-helper.js"
  fetchpriority="low"
></script>


<!-- Accertify Data Collector -->
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/accertify-data-collector.js?v=167219477265726170741772584677"
  type="module"
  fetchpriority="low"
  data-accertify-tid=""
></script>

<!-- Set Amplitude device ID to cart -->
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/amplitude-device-id-cart.js?v=28193483641527377311777477953"
  type="module"
  fetchpriority="low"
  data-amplitude-device-id=""
></script>

<!-- Express Pay A/B Experiment -->
<script
  src="//www.bodi.com/cdn/shop/t/2/assets/express-pay-experiment.js?v=180756303211639942441788968943"
  type="module"
  data-express-pay-experiment=""
></script>


<style data-shopify>
:root {
    /* Page Layout */
    --sidebar-width: 25rem;
    --narrow-content-width: 36rem;
    --normal-content-width: 42rem;
    --wide-content-width: 46rem;
    --narrow-page-width: 88rem;
    --normal-page-width: 120rem;
    --wide-page-width: 150rem;

    /* Section Heights */
    --section-height-small: 15rem;
    --section-height-medium: 25rem;
    --section-height-large: 35rem;

    @media screen and (min-width: 40em) {
      --section-height-small: 40svh;
      --section-height-medium: 55svh;
      --section-height-large: 70svh;
    }

    @media screen and (min-width: 60em) {
      --section-height-small: 50svh;
      --section-height-medium: 65svh;
      --section-height-large: 80svh;
    }

    /* Letter spacing */
    --letter-spacing-sm: 0.06em;
    --letter-spacing-md: 0.13em;

    /* Font families */
    --font-body--family: 'Heebo', var(--font-heebo), sans-serif;
    --font-body--style: normal;
    --font-body--weight: 400;
    --font-subheading--family: 'Heebo', var(--font-heebo), sans-serif;
    --font-subheading--style: normal;
    --font-subheading--weight: 500;
    --font-heading--family: 'Lateral', var(--font-lateral), sans-serif;
    --font-heading--style: normal;
    --font-heading--weight: 700;
    --font-accent--family: 'Lateral', var(--font-lateral), sans-serif;
    --font-accent--style: normal;
    --font-accent--weight: 700;

    /* Margin sizes */
    --font-h1--spacing: 0.25em;
    --font-h2--spacing: 0.25em;
    --font-h3--spacing: 0.25em;
    --font-h4--spacing: 0.25em;
    --font-h5--spacing: 0.25em;
    --font-h6--spacing: 0.25em;
    --font-paragraph--spacing: 0.5em;

    /* Heading colors */
    --font-h1--color: var(--color-foreground-heading);
    --font-h2--color: var(--color-foreground-heading);
    --font-h3--color: var(--color-foreground-heading);
    --font-h4--color: var(--color-foreground-heading);
    --font-h5--color: var(--color-foreground-heading);
    --font-h6--color: var(--color-foreground-heading);

    /** Z-Index / Layering */
    --layer-section-background: -2;
    --layer-lowest: -1;
    --layer-base: 0;
    --layer-flat: 1;
    --layer-raised: 2;
    --layer-heightened: 4;
    --layer-sticky: 8;
    --layer-window-overlay: 10;
    --layer-header-menu: 12;
    --layer-overlay: 16;
    --layer-menu-drawer: 18;
    --layer-temporary: 20;

    /* Max-width / Measure */
    --max-width--body-normal: 50ch;
    --max-width--body-narrow: 35ch;

    --max-width--heading-normal: 50ch;
    --max-width--heading-narrow: 30ch;

    --max-width--display-normal: 20ch;
    --max-width--display-narrow: 15ch;
    --max-width--display-tight: 5ch;

    /* Letter-spacing / Tracking */
    --letter-spacing--display-tight: -0.03em;
    --letter-spacing--display-normal: 0em;
    --letter-spacing--display-loose: 0.03em;

    --letter-spacing--heading-tight: -0.03em;
    --letter-spacing--heading-normal: 0em;
    --letter-spacing--heading-loose: 0.03em;

    --letter-spacing--body-tight: -0.03em;
    --letter-spacing--body-normal: 0em;
    --letter-spacing--body-loose: 0.03em;

    /* Line height / Leading */
    --line-height: 1;

    --line-height--display-tight: 1;
    --line-height--display-normal: 1.1;
    --line-height--display-loose: 1.2;

    --line-height--heading-tight: 1.15;
    --line-height--heading-normal: 1.25;
    --line-height--heading-loose: 1.35;

    --line-height--body-tight: 1em;
    --line-height--body-normal: 1.2em;
    --line-height--body-loose: 1.4em;

    /* Typography presets */
    --font-size--paragraph: 1.0rem;--font-size--h1: clamp(3.0rem, 7.2vw, 4.5rem);--font-size--h2: clamp(2.25rem, 4.8vw, 3.0rem);--font-size--h3: 2.0rem;--font-size--h4: 1.5rem;--font-size--h5: 1.25rem;--font-size--h6: 1.0rem;--font-paragraph--weight: 400;--font-paragraph--letter-spacing: var(--letter-spacing--body-normal);--font-paragraph--size: var(--font-size--paragraph);--font-paragraph--family: var(--font-body--family);--font-paragraph--style: var(--font-body--style);--font-paragraph--case: ;--font-paragraph--line-height: var(--line-height--body-normal);--font-h1--weight: var(--font-heading--weight);--font-h1--letter-spacing: var(--letter-spacing--heading-tight);--font-h1--size: var(--font-size--h1);--font-h1--family: var(--font-heading--family);--font-h1--style: var(--font-heading--style);--font-h1--case: none;--font-h1--line-height: var(--line-height--display-tight);--font-h2--weight: var(--font-heading--weight);--font-h2--letter-spacing: var(--letter-spacing--heading-normal);--font-h2--size: var(--font-size--h2);--font-h2--family: var(--font-heading--family);--font-h2--style: var(--font-heading--style);--font-h2--case: none;--font-h2--line-height: var(--line-height--display-normal);--font-h3--weight: var(--font-heading--weight);--font-h3--letter-spacing: var(--letter-spacing--heading-tight);--font-h3--size: var(--font-size--h3);--font-h3--family: var(--font-heading--family);--font-h3--style: var(--font-heading--style);--font-h3--case: none;--font-h3--line-height: var(--line-height--heading-tight);--font-h4--weight: var(--font-subheading--weight);--font-h4--letter-spacing: var(--letter-spacing--heading-normal);--font-h4--size: var(--font-size--h4);--font-h4--family: var(--font-subheading--family);--font-h4--style: var(--font-subheading--style);--font-h4--case: none;--font-h4--line-height: var(--line-height--display-normal);--font-h5--weight: var(--font-subheading--weight);--font-h5--letter-spacing: var(--letter-spacing--heading-normal);--font-h5--size: var(--font-size--h5);--font-h5--family: var(--font-subheading--family);--font-h5--style: var(--font-subheading--style);--font-h5--case: none;--font-h5--line-height: var(--line-height--display-normal);--font-h6--weight: var(--font-subheading--weight);--font-h6--letter-spacing: var(--letter-spacing--heading-normal);--font-h6--size: var(--font-size--h6);--font-h6--family: var(--font-subheading--family);--font-h6--style: var(--font-subheading--style);--font-h6--case: none;--font-h6--line-height: var(--line-height--display-normal);

    /* Hardcoded font sizes */
    --font-size--2xs: 0.625rem;
    --font-size--xs: 0.8125rem;
    --font-size--sm: 0.875rem;
    --font-size--md: 1rem;
    --font-size--lg: 1.125rem;
    --font-size--xl: 1.25rem;
    --font-size--2xl: 1.5rem;
    --font-size--3xl: 2rem;
    --font-size--4xl: 2.5rem;
    --font-size--5xl: 3rem;
    --font-size--6xl: 3.5rem;

    /* Menu font sizes */
    --menu-font-sm--size: 0.875rem;
    --menu-font-sm--line-height: calc(1.1 + 0.5 * min(16 / 14));
    --menu-font-md--size: 1rem;
    --menu-font-md--line-height: calc(1.1 + 0.5 * min(16 / 16));
    --menu-font-lg--size: 1.125rem;
    --menu-font-lg--line-height: calc(1.1 + 0.5 * min(16 / 18));
    --menu-font-xl--size: 1.25rem;
    --menu-font-xl--line-height: calc(1.1 + 0.5 * min(16 / 20));
    --menu-font-2xl--size: 1.75rem;
    --menu-font-2xl--line-height: calc(1.1 + 0.5 * min(16 / 28));

    /* Colors */
    --color-error: #8B0000;
    --color-success: #006400;
    --color-white: #FFFFFF;
    --color-white-rgb: 255 255 255;
    --color-black: #000000;
    --color-instock: #3ED660;
    --color-lowstock: #EE9441;
    --color-outofstock: #C8C8C8;

    /* Opacity */
    --opacity-5: 0.05;
    --opacity-8: 0.08;
    --opacity-10: 0.1;
    --opacity-15: 0.15;
    --opacity-20: 0.2;
    --opacity-25: 0.25;
    --opacity-30: 0.3;
    --opacity-40: 0.4;
    --opacity-50: 0.5;
    --opacity-60: 0.6;
    --opacity-70: 0.7;
    --opacity-80: 0.8;
    --opacity-85: 0.85;
    --opacity-90: 0.9;
    --opacity-subdued-text: var(--opacity-70);

    --shadow-button: 0 2px 3px rgb(0 0 0 / 20%);
    --gradient-image-overlay: linear-gradient(to top, rgb(0 0 0 / 0.5), transparent);

    /* Spacing */
    --margin-3xs: 0.125rem;
    --margin-2xs: 0.3rem;
    --margin-xs: 0.5rem;
    --margin-sm: 0.7rem;
    --margin-md: 0.8rem;
    --margin-lg: 1rem;
    --margin-xl: 1.25rem;
    --margin-2xl: 1.5rem;
    --margin-3xl: 1.75rem;
    --margin-4xl: 2rem;
    --margin-5xl: 3rem;
    --margin-6xl: 5rem;

    --scroll-margin: 50px;

    --padding-3xs: 0.125rem;
    --padding-2xs: 0.25rem;
    --padding-xs: 0.5rem;
    --padding-sm: 0.7rem;
    --padding-md: 0.8rem;
    --padding-lg: 1rem;
    --padding-xl: 1.25rem;
    --padding-2xl: 1.5rem;
    --padding-3xl: 1.75rem;
    --padding-4xl: 2rem;
    --padding-5xl: 3rem;
    --padding-6xl: 4rem;

    --gap-3xs: 0.125rem;
    --gap-2xs: 0.3rem;
    --gap-xs: 0.5rem;
    --gap-sm: 0.7rem;
    --gap-md: 0.9rem;
    --gap-lg: 1rem;
    --gap-xl: 1.25rem;
    --gap-2xl: 2rem;
    --gap-3xl: 3rem;

    --spacing-scale-sm: 0.6;
    --spacing-scale-md: 0.7;
    --spacing-scale-default: 1.0;

    /* Checkout buttons gap */
    --checkout-button-gap: 8px;

    /* Borders */
    --style-border-width: 1px;
    --style-border-radius-xs: 0.2rem;
    --style-border-radius-sm: 0.6rem;
    --style-border-radius-md: 0.8rem;
    --style-border-radius-50: 50%;
    --style-border-radius-lg: 1rem;
    --style-border-radius-pills: 40px;
    --style-border-radius-inputs: 8px;
    --style-border-radius-buttons-primary: 37px;
    --style-border-radius-buttons-secondary: 37px;
    --style-border-width-primary: 0px;
    --style-border-width-secondary: 1px;
    --style-border-width-inputs: 1px;
    --style-border-radius-popover: 12px;
    --style-border-popover: 1px none rgb(var(--color-border-rgb) / 50%);
    --style-border-drawer: 1px none rgb(var(--color-border-rgb) / 50%);
    --style-border-swatch-opacity: 10%;
    --style-border-swatch-width: 1px;
    --style-border-swatch-style: solid;

    /* Animation */
    --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
    --ease-out-quad: cubic-bezier(0.32, 0.72, 0, 1);
    --animation-speed-fast: 0.0625s;
    --animation-speed: 0.125s;
    --animation-speed-slow: 0.2s;
    --animation-speed-medium: 0.15s;
    --animation-easing: ease-in-out;
    --animation-slideshow-easing: cubic-bezier(0.4, 0, 0.2, 1);
    --drawer-animation-speed: 0.2s;
    --animation-values-slow: var(--animation-speed-slow) var(--animation-easing);
    --animation-values: var(--animation-speed) var(--animation-easing);
    --animation-values-fast: var(--animation-speed-fast) var(--animation-easing);
    --animation-values-allow-discrete: var(--animation-speed) var(--animation-easing) allow-discrete;
    --animation-timing-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --animation-timing-active: cubic-bezier(0.5, 0, 0.75, 0);
    --animation-timing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
    --animation-timing-default: cubic-bezier(0, 0, 0.2, 1);
    --animation-timing-fade-in: cubic-bezier(0.16, 1, 0.3, 1);
    --animation-timing-fade-out: cubic-bezier(0.4, 0, 0.2, 1);

    /* View transitions */
    /* View transition old */
    --view-transition-old-main-content: var(--animation-speed) var(--animation-easing) both fadeOut;

    /* View transition new */
    --view-transition-new-main-content: var(--animation-speed) var(--animation-easing) both fadeIn, var(--animation-speed) var(--animation-easing) both slideInTopViewTransition;

    /* Focus */
    --focus-outline-width: 0.09375rem;
    --focus-outline-offset: 0.2em;

    /* Badges */
    --badge-blob-padding-block: 1px;
    --badge-blob-padding-inline: 12px 8px;
    --badge-rectangle-padding-block: 1px;
    --badge-rectangle-padding-inline: 6px;
    @media screen and (min-width: 750px) {
      --badge-blob-padding-block: 4px;
      --badge-blob-padding-inline: 16px 12px;
      --badge-rectangle-padding-block: 4px;
      --badge-rectangle-padding-inline: 10px;
    }

    /* Icons */
    --icon-size-2xs: 0.6rem;
    --icon-size-xs: 0.85rem;
    --icon-size-sm: 1.25rem;
    --icon-size-md: 1.375rem;
    --icon-size-lg: 1.5rem;
    --icon-stroke-width: 1px;

    /* Input */
    --input-email-min-width: 200px;
    --input-search-max-width: 650px;
    --input-padding-y: 0.8rem;
    --input-padding-x: 0.8rem;
    --input-padding: var(--input-padding-y) var(--input-padding-x);
    --input-box-shadow-width: var(--style-border-width-inputs);
    --input-box-shadow: 0 0 0 var(--input-box-shadow-width) var(--color-input-border);
    --input-box-shadow-focus: 0 0 0 calc(var(--input-box-shadow-width) + 0.5px) var(--color-input-border);
    --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
    --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
    --input-textarea-min-height: 55px;

    /* Button size */
    --button-size-sm: 30px;
    --button-size-md: 36px;
    --button-size: var(--minimum-touch-target);
    --button-padding-inline: 24px;
    --button-padding-block: 16px;

    /* Button font-family */
    --button-font-family-primary: var(--font-body--family);
    --button-font-family-secondary: var(--font-body--family);

    /* Button font-weight */
    --button-font-weight-primary: 600;
    --button-font-weight-secondary: default;

    /* Button text case */
    --button-text-case: ;
    --button-text-case-primary: default;
    --button-text-case-secondary: default;

    /* Borders */
    --border-color: rgb(var(--color-border-rgb) / var(--opacity-50));
    --border-width-sm: 1px;
    --border-width-md: 2px;
    --border-width-lg: 5px;

    /* Drawers */
    --drawer-inline-padding: 25px;
    --drawer-menu-inline-padding: 2.5rem;
    --drawer-header-block-padding: 20px;
    --drawer-content-block-padding: 10px;
    --drawer-header-desktop-top: 0rem;
    --drawer-padding: calc(var(--padding-sm) + 7px);
    --drawer-height: 100dvh;
    --drawer-width: 95vw;
    --drawer-max-width: 500px;

    /* Variant Picker Swatches */
    --variant-picker-swatch-width-unitless: 24;
    --variant-picker-swatch-height-unitless: 24;
    --variant-picker-swatch-width: 24px;
    --variant-picker-swatch-height: 24px;
    --variant-picker-swatch-radius: 24px;
    --variant-picker-border-width: 1px;
    --variant-picker-border-style: solid;
    --variant-picker-border-opacity: 10%;

    /* Variant Picker Buttons */
    --variant-picker-button-radius: 8px;
    --variant-picker-button-border-width: 1px;

    /* Slideshow */
    --slideshow-controls-size: 3.5rem;
    --slideshow-controls-icon: 2rem;
    --peek-next-slide-size: 3rem;

    /* Utilities */
    --backdrop-opacity: 0.15;
    --backdrop-color-rgb: var(--color-shadow-rgb);
    --minimum-touch-target: 44px;
    --disabled-opacity: 0.5;
    --skeleton-opacity: 0.025;

    /* Shapes */
    --shape--circle: circle(50% at center);
    --shape--sunburst: polygon(100% 50%,94.62% 55.87%,98.3% 62.94%,91.57% 67.22%,93.3% 75%,85.7% 77.39%,85.36% 85.36%,77.39% 85.7%,75% 93.3%,67.22% 91.57%,62.94% 98.3%,55.87% 94.62%,50% 100%,44.13% 94.62%,37.06% 98.3%,32.78% 91.57%,25% 93.3%,22.61% 85.7%,14.64% 85.36%,14.3% 77.39%,6.7% 75%,8.43% 67.22%,1.7% 62.94%,5.38% 55.87%,0% 50%,5.38% 44.13%,1.7% 37.06%,8.43% 32.78%,6.7% 25%,14.3% 22.61%,14.64% 14.64%,22.61% 14.3%,25% 6.7%,32.78% 8.43%,37.06% 1.7%,44.13% 5.38%,50% 0%,55.87% 5.38%,62.94% 1.7%,67.22% 8.43%,75% 6.7%,77.39% 14.3%,85.36% 14.64%,85.7% 22.61%,93.3% 25%,91.57% 32.78%,98.3% 37.06%,94.62% 44.13%);
    --shape--diamond: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    --shape--blob: polygon(85.349% 11.712%, 87.382% 13.587%, 89.228% 15.647%, 90.886% 17.862%, 92.359% 20.204%, 93.657% 22.647%, 94.795% 25.169%, 95.786% 27.752%, 96.645% 30.382%, 97.387% 33.048%, 98.025% 35.740%, 98.564% 38.454%, 99.007% 41.186%, 99.358% 43.931%, 99.622% 46.685%, 99.808% 49.446%, 99.926% 52.210%, 99.986% 54.977%, 99.999% 57.744%, 99.975% 60.511%, 99.923% 63.278%, 99.821% 66.043%, 99.671% 68.806%, 99.453% 71.565%, 99.145% 74.314%, 98.724% 77.049%, 98.164% 79.759%, 97.433% 82.427%, 96.495% 85.030%, 95.311% 87.529%, 93.841% 89.872%, 92.062% 91.988%, 89.972% 93.796%, 87.635% 95.273%, 85.135% 96.456%, 82.532% 97.393%, 79.864% 98.127%, 77.156% 98.695%, 74.424% 99.129%, 71.676% 99.452%, 68.918% 99.685%, 66.156% 99.844%, 63.390% 99.942%, 60.624% 99.990%, 57.856% 99.999%, 55.089% 99.978%, 52.323% 99.929%, 49.557% 99.847%, 46.792% 99.723%, 44.031% 99.549%, 41.273% 99.317%, 38.522% 99.017%, 35.781% 98.639%, 33.054% 98.170%, 30.347% 97.599%, 27.667% 96.911%, 25.024% 96.091%, 22.432% 95.123%, 19.907% 93.994%, 17.466% 92.690%, 15.126% 91.216%, 12.902% 89.569%, 10.808% 87.761%, 8.854% 85.803%, 7.053% 83.703%, 5.418% 81.471%, 3.962% 79.119%, 2.702% 76.656%, 1.656% 74.095%, 0.846% 71.450%, 0.294% 68.740%, 0.024% 65.987%, 0.050% 63.221%, 0.343% 60.471%, 0.858% 57.752%, 1.548% 55.073%, 2.370% 52.431%, 3.283% 49.819%, 4.253% 47.227%, 5.249% 44.646%, 6.244% 42.063%, 7.211% 39.471%, 8.124% 36.858%, 8.958% 34.220%, 9.711% 31.558%, 10.409% 28.880%, 11.083% 26.196%, 11.760% 23.513%, 12.474% 20.839%, 13.259% 18.186%, 14.156% 15.569%, 15.214% 13.012%, 16.485% 10.556%, 18.028% 8.261%, 19.883% 6.211%, 22.041% 4.484%, 24.440% 3.110%, 26.998% 2.057%, 29.651% 1.275%, 32.360% 0.714%, 35.101% 0.337%, 37.859% 0.110%, 40.624% 0.009%, 43.391% 0.016%, 46.156% 0.113%, 48.918% 0.289%, 51.674% 0.533%, 54.425% 0.837%, 57.166% 1.215%, 59.898% 1.654%, 62.618% 2.163%, 65.322% 2.750%, 68.006% 3.424%, 70.662% 4.197%, 73.284% 5.081%, 75.860% 6.091%, 78.376% 7.242%, 80.813% 8.551%, 83.148% 10.036%, 85.349% 11.712%);

    /* Buy buttons */
    --height-buy-buttons: calc(var(--padding-lg) * 2 + var(--icon-size-sm));

    /* Card image height variables */
    --height-small: 10rem;
    --height-medium: 11.5rem;
    --height-large: 13rem;
    --height-full: 100vh;

    @media screen and (min-width: 750px) {
      --height-small: 17.5rem;
      --height-medium: 21.25rem;
      --height-large: 25rem;
    }

    /* Modal */
    --modal-max-height: 65dvh;

    /* Card styles for search */
    --card-bg-hover: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    --card-border-hover: rgb(var(--color-foreground-rgb) / var(--opacity-30));
    --card-border-focus: rgb(var(--color-foreground-rgb) / var(--opacity-10));

    /* Cart */
    --cart-primary-font-family: var(--font-heebo);
    --cart-primary-font-style: var(--font-body--style);
    --cart-primary-font-weight: var(--font-body--weight);
    --cart-secondary-font-family: var(--font-heebo);
    --cart-secondary-font-style: var(--font-secondary--style);
    --cart-secondary-font-weight: var(--font-secondary--weight);
  }
</style>
<style data-shopify>
  
    
      :root,
    
    
    
    .color-scheme-1 {
        --color-background: rgb(255 255 255 / 1.0);
        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
        --color-background-rgb: 255 255 255;
        --opacity-5-15: 0.05;
        --opacity-10-25: 0.1;
        --opacity-35-55: 0.35;
        --opacity-40-60: 0.4;
        --opacity-30-60: 0.3;
        --color-foreground: rgb(0 0 0 / 1.0);
        --color-foreground-rgb: 0 0 0;
        --color-foreground-heading: rgb(32 132 104 / 1.0);
        --color-foreground-heading-rgb: 32 132 104;
        --color-primary: rgb(0 15 159 / 1.0);
        --color-primary-rgb: 0 15 159;
        --color-primary-hover: rgb(0 0 0 / 1.0);
        --color-primary-hover-rgb: 0 0 0;
        --color-accent: rgb(32 132 104 / 1.0);
        --color-accent-rgb: 32 132 104;
        --color-grayscale: rgb(112 111 115 / 1.0);
        --color-grayscale-rgb: 112 111 115;
        --color-border: rgb(0 0 0 / 0.19);
        --color-border-rgb: 0 0 0;
        --color-shadow: rgb(0 0 0 / 1.0);
        --color-shadow-rgb: 0 0 0;
        --color-primary-button-text: rgb(22 24 25 / 1.0);
        --color-primary-button-background: rgb(188 249 134 / 1.0);
        --color-primary-button-border: rgb(22 24 25 / 1.0);
        --color-primary-button-hover-text: rgb(22 24 25 / 1.0);
        --color-primary-button-hover-background: rgb(153 246 70 / 1.0);
        --color-primary-button-hover-border: rgb(22 24 25 / 1.0);
        --color-secondary-button-text: rgb(0 0 0 / 1.0);
        --color-secondary-button-background: rgb(255 255 255 / 1.0);
        --color-secondary-button-border: rgb(0 0 0 / 1.0);
        --color-secondary-button-hover-text: rgb(0 0 0 / 1.0);
        --color-secondary-button-hover-background: rgb(222 222 222 / 1.0);
        --color-secondary-button-hover-border: rgb(0 0 0 / 1.0);
        --color-input-background: rgb(0 0 0 / 0.05);
        --color-input-text: rgb(0 0 0 / 1.0);
        --color-input-text-rgb: 0 0 0;
        --color-input-border: rgb(0 0 0 / 0.0);
        --color-input-hover-background: rgb(245 245 245 / 1.0);
        --color-variant-background: rgb(255 255 255 / 1.0);
        --color-variant-border: rgb(189 189 189 / 1.0);
        --color-variant-text: rgb(0 0 0 / 1.0);
        --color-variant-text-rgb: 0 0 0;
        --color-variant-hover-background: rgb(255 255 255 / 1.0);
        --color-variant-hover-text: rgb(0 0 0 / 1.0);
        --color-variant-hover-border: rgb(68 70 70 / 1.0);
        --color-selected-variant-background: rgb(255 255 255 / 1.0);
        --color-selected-variant-border: rgb(0 0 0 / 1.0);
        --color-selected-variant-text: rgb(0 0 0 / 1.0);
        --color-selected-variant-hover-background: rgb(255 255 255 / 1.0);
        --color-selected-variant-hover-text: rgb(0 0 0 / 1.0);
        --color-selected-variant-hover-border: rgb(16 16 16 / 1.0);

        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
        --font-h1--color: var(--color-foreground-heading);
        --font-h2--color: var(--color-foreground-heading);
        --font-h3--color: var(--color-foreground-heading);
        --font-h4--color: var(--color-foreground-heading);
        --font-h5--color: var(--color-foreground-heading);
        --font-h6--color: var(--color-foreground-heading);

        /* Shadows */
        
        
          --shadow-blur: 20px;
          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
        
      }
  
    
    
    
    .color-scheme-20731c7a-b0ca-4483-80fd-2d393a3f8252 {
        --color-background: rgb(22 24 25 / 1.0);
        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
        --color-background-rgb: 22 24 25;
        --opacity-5-15: 0.15;
        --opacity-10-25: 0.25;
        --opacity-35-55: 0.55;
        --opacity-40-60: 0.6;
        --opacity-30-60: 0.6;
        --color-foreground: rgb(255 255 255 / 1.0);
        --color-foreground-rgb: 255 255 255;
        --color-foreground-heading: rgb(255 255 255 / 1.0);
        --color-foreground-heading-rgb: 255 255 255;
        --color-primary: rgb(0 15 159 / 1.0);
        --color-primary-rgb: 0 15 159;
        --color-primary-hover: rgb(0 0 0 / 1.0);
        --color-primary-hover-rgb: 0 0 0;
        --color-accent: rgb(153 246 70 / 1.0);
        --color-accent-rgb: 153 246 70;
        --color-grayscale: rgb(112 111 115 / 1.0);
        --color-grayscale-rgb: 112 111 115;
        --color-border: rgb(0 0 0 / 0.19);
        --color-border-rgb: 0 0 0;
        --color-shadow: rgb(0 0 0 / 1.0);
        --color-shadow-rgb: 0 0 0;
        --color-primary-button-text: rgb(22 24 25 / 1.0);
        --color-primary-button-background: rgb(188 249 134 / 1.0);
        --color-primary-button-border: rgb(22 24 25 / 1.0);
        --color-primary-button-hover-text: rgb(22 24 25 / 1.0);
        --color-primary-button-hover-background: rgb(153 246 70 / 1.0);
        --color-primary-button-hover-border: rgb(22 24 25 / 1.0);
        --color-secondary-button-text: rgb(0 0 0 / 1.0);
        --color-secondary-button-background: rgb(255 255 255 / 1.0);
        --color-secondary-button-border: rgb(0 0 0 / 1.0);
        --color-secondary-button-hover-text: rgb(0 0 0 / 1.0);
        --color-secondary-button-hover-background: rgb(222 222 222 / 1.0);
        --color-secondary-button-hover-border: rgb(0 0 0 / 1.0);
        --color-input-background: rgb(255 255 255 / 1.0);
        --color-input-text: rgb(0 0 0 / 1.0);
        --color-input-text-rgb: 0 0 0;
        --color-input-border: rgb(0 0 0 / 0.0);
        --color-input-hover-background: rgb(245 245 245 / 1.0);
        --color-variant-background: rgb(255 255 255 / 1.0);
        --color-variant-border: rgb(189 189 189 / 1.0);
        --color-variant-text: rgb(0 0 0 / 1.0);
        --color-variant-text-rgb: 0 0 0;
        --color-variant-hover-background: rgb(255 255 255 / 1.0);
        --color-variant-hover-text: rgb(0 0 0 / 1.0);
        --color-variant-hover-border: rgb(68 70 70 / 1.0);
        --color-selected-variant-background: rgb(255 255 255 / 1.0);
        --color-selected-variant-border: rgb(0 0 0 / 1.0);
        --color-selected-variant-text: rgb(0 0 0 / 1.0);
        --color-selected-variant-hover-background: rgb(255 255 255 / 1.0);
        --color-selected-variant-hover-text: rgb(0 0 0 / 1.0);
        --color-selected-variant-hover-border: rgb(16 16 16 / 1.0);

        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
        --font-h1--color: var(--color-foreground-heading);
        --font-h2--color: var(--color-foreground-heading);
        --font-h3--color: var(--color-foreground-heading);
        --font-h4--color: var(--color-foreground-heading);
        --font-h5--color: var(--color-foreground-heading);
        --font-h6--color: var(--color-foreground-heading);

        /* Shadows */
        
        
          --shadow-blur: 20px;
          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
        
      }
  

  body, .color-scheme-1, .color-scheme-20731c7a-b0ca-4483-80fd-2d393a3f8252 {
    color: var(--color-foreground);
    background-color: var(--color-background);
  }
</style>


    <!-- /snippets/gwa-hreflang.liquid v.1.0.3  from https://apps.shopify.com/hreflang-manager -->

    <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/75560616153/digital_wallets/dialog">
<meta id="in-context-paypal-metadata" data-shop-id="75560616153" data-venmo-supported="true" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2781839577"></script>
<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2781839577&shop_id=75560616153" crossorigin="anonymous"></script>
<script id="shopify-features" type="application/json">{"accessToken":"8a16876903fe96fbabfc6c4c4c6257e6","betas":["rich-media-storefront-analytics"],"domain":"www.bodi.com","predictiveSearch":true,"shopId":75560616153,"locale":"en"}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "xragki-mv.myshopify.com";
Shopify.locale = "en";
Shopify.currency = {"active":"USD","rate":"1.0"};
Shopify.country = "US";
Shopify.theme = {"name":"commerce-shopify-theme\/main","id":157605626073,"schema_name":"Horizon","schema_version":"1.14.0","theme_store_id":null,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "www.bodi.com/cdn";
Shopify.routes = Shopify.routes || {};
Shopify.routes.root = "/";
Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
Shopify.SignInWithShop = Shopify.SignInWithShop || {};
Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
Shopify.SignInWithShop.User.recognized = false;</script>
<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
<script>
  window.ShopifyPay = window.ShopifyPay || {};
  window.ShopifyPay.apiHost = "shop.app\/pay";
  window.ShopifyPay.redirectState = null;
</script>
<script>
  window.Shopify = window.Shopify || {};
  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
  window.Shopify.SignInWithShop.eligible = false;
</script>
<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
<script type="module">
  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");

  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});

</script>
<script>
  window.Shopify = window.Shopify || {};
  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]};
</script>
<script>(function() {
  var isLoaded = false;
  function asyncLoad() {
    if (isLoaded) return;
    isLoaded = true;
    var urls = ["https:\/\/cdn.attn.tv\/bodi\/dtag.js?shop=xragki-mv.myshopify.com","https:\/\/xragki-mv.myshopify.com\/cdn\/shop\/t\/2\/assets\/yoast-active-script.js?shop=xragki-mv.myshopify.com"];
    for (var i = 0; i < urls.length; i++) {
      var s = document.createElement('script');
      s.type = 'text/javascript';
      s.async = true;
      s.src = urls[i];
      var x = document.getElementsByTagName('script')[0];
      x.parentNode.insertBefore(s, x);
    }
  };
  if(window.attachEvent) {
    window.attachEvent('onload', asyncLoad);
  } else {
    window.addEventListener('load', asyncLoad, false);
  }
})();</script>
<script id="__st">var __st={"a":75560616153,"offset":-25200,"reqid":"6f8797a4-5c20-425e-9f54-9fae82e67815-1789819777","pageurl":"www.bodi.com\/?referringDomain=www.teambeachbody.com","u":"7e979696c94c","p":"home"};</script>
<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.bodi.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.bodi.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script><script crossorigin="anonymous" defer="defer" src="//www.bodi.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-bf1cdb70.js?v=20250812"></script>
<script id="shopify-origin-trials" async="async" integrity="sha256-mqQjA+yhr1DtPsW5MhDIq3zDu+LghfjNT49r/ttG3eY=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-5059b83f.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
<script>
  window.Shopify = window.Shopify || {};
  window.Shopify.MCP = window.Shopify.MCP || {};
  window.Shopify.MCP.enabled = true;
  window.Shopify.MCP.shop = "xragki-mv.myshopify.com";
  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.bodi.com\/api\/mcp";
  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
</script>
<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("https:\/\/cdn.shopify.com\/storefront\/webmcp\/webmcp-0.1.1.js","");})();
</script>
<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.bodi.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
</script>
<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
  function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
</script>
<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
</script>
<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.bodi.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
<style id="shopify-accelerated-checkout-cart">
        #shopify-buyer-consent {
  margin-top: 1em;
  display: inline-block;
  width: 100%;
}

#shopify-buyer-consent.hidden {
  display: none;
}

#shopify-subscription-policy-button {
  background: none;
  border: none;
  padding: 0;
  text-decoration: underline;
  font-size: inherit;
  cursor: pointer;
}

#shopify-subscription-policy-button::before {
  box-shadow: none;
}

      </style>
<link rel="stylesheet" media="screen" href="//www.bodi.com/cdn/shop/t/2/compiled_assets/styles.css?v=173676551548246609751789573788">
<script id="sections-script" data-sections="bodi-login-drawer,bodi-account-drawer" defer="defer" src="//www.bodi.com/cdn/shop/t/2/compiled_assets/scripts.js?v=173727100816939001441787765635"></script>
<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
    
    
    
<script>
  (() => {
    // Prevent double-injection (theme editor, app embeds, etc.)
    if (window.__BODI_REBUY_EXTENSIONS__) return;
    window.__BODI_REBUY_EXTENSIONS__ = true;

    // debug flag for teacing ouput
    const BODI_REBUY_DEBUG = false;
    if (BODI_REBUY_DEBUG) {
        console.warn('[Rebuy Debug] Debug mode enabled via theme settings.');
    }

    const logDebug = (...args) => {
        if (!BODI_REBUY_DEBUG) return;
        console.log('[Rebuy Debug]', ...args);
    };

    const hasTag = (tags, needle) => {
        if (!tags || !needle) return false;
        const tagList = Array.isArray(tags) ? tags : String(tags).split(',').map(t => t.trim());
        const n = String(needle).toLowerCase();
        return tagList.some((tag) => String(tag).toLowerCase().includes(n));
    };

    const bodiWidgets = [];
    const linkedWidgetIdSet = new Set();
    const bodiWidgetById = new Map();
    const shopLocaleCode = "us_en";
    const isNativeCartPage = location.pathname === '/cart' || location.pathname.startsWith('/cart/');
    let progressBarEl = null;bodiWidgets.push({
                id: "274649",
                linked_widget_id: null,

                is_global: true,
                is_spotlight: false,
                hide_cart_on_open: false,
                show_cart_on_close: false,
                use_bodi_template: false,

                // sources and dependents for orphaned promo items
                source_product_ids: [],

                source_variant_ids: [],

                dependent_product_ids: [],

                dependent_variant_ids: []
            });

            
bodiWidgets.push({
                id: "274810",
                linked_widget_id: null,

                is_global: true,
                is_spotlight: false,
                hide_cart_on_open: true,
                show_cart_on_close: true,
                use_bodi_template: true,

                // sources and dependents for orphaned promo items
                source_product_ids: [9413928288473
,9413924192473
,9413924421849
,9665481605337
,9413924880601
,9413924094169
,9413924946137
,9413924487385
,9665481539801
,9665481572569
,9413928386777
,9413924749529
,9413923963097
,9413924159705
,9665481638105
,9413924520153
,9665481507033
,9413928616153
,9413924585689
,9413924061401
],

                source_variant_ids: [],

                dependent_product_ids: [],

                dependent_variant_ids: [48040135983321
]
            });

            
bodiWidgets.push({
                id: "274645",
                linked_widget_id: null,

                is_global: false,
                is_spotlight: false,
                hide_cart_on_open: false,
                show_cart_on_close: false,
                use_bodi_template: true,

                // sources and dependents for orphaned promo items
                source_product_ids: [],

                source_variant_ids: [],

                dependent_product_ids: [],

                dependent_variant_ids: []
            });

            
bodiWidgets.push({
                id: "298800",
                linked_widget_id: null,

                is_global: false,
                is_spotlight: true,
                hide_cart_on_open: false,
                show_cart_on_close: false,
                use_bodi_template: true,

                // sources and dependents for orphaned promo items
                source_product_ids: [],

                source_variant_ids: [],

                dependent_product_ids: [],

                dependent_variant_ids: []
            });

            
bodiWidgets.push({
                id: "274634",
                linked_widget_id: null,

                is_global: false,
                is_spotlight: true,
                hide_cart_on_open: false,
                show_cart_on_close: false,
                use_bodi_template: true,

                // sources and dependents for orphaned promo items
                source_product_ids: [],

                source_variant_ids: [],

                dependent_product_ids: [],

                dependent_variant_ids: []
            });

            
bodiWidgets.push({
                id: "274648",
                linked_widget_id: null,

                is_global: false,
                is_spotlight: false,
                hide_cart_on_open: false,
                show_cart_on_close: false,
                use_bodi_template: true,

                // sources and dependents for orphaned promo items
                source_product_ids: [],

                source_variant_ids: [],

                dependent_product_ids: [],

                dependent_variant_ids: []
            });

            
bodiWidgets.push({
                id: "274653",
                linked_widget_id: null,

                is_global: true,
                is_spotlight: false,
                hide_cart_on_open: false,
                show_cart_on_close: false,
                use_bodi_template: false,

                // sources and dependents for orphaned promo items
                source_product_ids: [],

                source_variant_ids: [],

                dependent_product_ids: [],

                dependent_variant_ids: []
            });

            
bodiWidgets.push({
                id: "274807",
                linked_widget_id: null,

                is_global: false,
                is_spotlight: false,
                hide_cart_on_open: true,
                show_cart_on_close: true,
                use_bodi_template: true,

                // sources and dependents for orphaned promo items
                source_product_ids: [],

                source_variant_ids: [47683217817817
],

                dependent_product_ids: [],

                dependent_variant_ids: [47683215982809
]
            });

            
bodiWidgets.push({
                id: "274646",
                linked_widget_id: null,

                is_global: false,
                is_spotlight: false,
                hide_cart_on_open: false,
                show_cart_on_close: false,
                use_bodi_template: true,

                // sources and dependents for orphaned promo items
                source_product_ids: [],

                source_variant_ids: [],

                dependent_product_ids: [],

                dependent_variant_ids: []
            });

            
bodiWidgets.push({
                id: "294582",
                linked_widget_id: null,

                is_global: false,
                is_spotlight: false,
                hide_cart_on_open: true,
                show_cart_on_close: true,
                use_bodi_template: true,

                // sources and dependents for orphaned promo items
                source_product_ids: [],

                source_variant_ids: [47683217817817
],

                dependent_product_ids: [],

                dependent_variant_ids: [47683215982809
]
            });

            
logDebug('Initialized bodiWidgets:', bodiWidgets);
    logDebug('Linked widget IDs:', Array.from(linkedWidgetIdSet));

    bodiWidgetById.clear();
    bodiWidgets.forEach((w) => bodiWidgetById.set(w.id, w));

    // Helper: return Rebuy widget instance by ID
    function getRebuyWidget(id) {
        if (!id) return null;
        if (!window.Rebuy || !Array.isArray(window.Rebuy.widgets)) return null;
        const w = window.Rebuy.widgets.find(w => w.id === id) || null;
        logDebug('getRebuyWidget(', id, ') ->', w);
        return w;
    }

    // Helper: get metaobject widget config (O(1))
    function getBodiWidget(id) {
        if (!id) return null;
        const w = bodiWidgetById.get(id) || null;
        logDebug('getBodiWidget(', id, ') ->', w);
        return w;
    }

    // Helper: return both Rebuy + Bodi configs
    function getWidgetPair(id) {
        const pair = { rebuy: getRebuyWidget(id), bodi: getBodiWidget(id) };
        logDebug('getWidgetPair(', id, ') ->', pair);
        return pair;
    }

    // Helper: spotlight detection
    const isSpotlight = (id) => {
        const b = getBodiWidget(id);
        return b ? !!b.is_spotlight : false;
    }

    // Helper: check if more than 1 BODi subscription is in cart
    const hasMultipleUniques = () => {
        setTimeout(() => {
            if (!window.Rebuy || !Rebuy.SmartCart || !Rebuy.Cart) return false;

            const rebuyCart = Rebuy.Cart;
            rebuyCart.enrichCart();
            const cartItems = Array.isArray(rebuyCart.items()) ? rebuyCart.items() : [];
            if (!cartItems.length) return false;

            const uniqueBodiSubTag = 'Merch_Cart_Unique';
            let uniqueCount = 0;

            cartItems.forEach((item) => {
                const tags = item.product?.tags || '';
                if (tags.toLowerCase().includes(uniqueBodiSubTag.toLowerCase())) {
                    uniqueCount++
                };
            });

            handleCartError((uniqueCount > 1));

            return (uniqueCount > 1);
        }, 300);
    }

    // Expose helper globally for rebuy-widget-templates usage (Vue attrs)
    window.__BODI_REBUY__ = window.__BODI_REBUY__ || {};
    window.__BODI_REBUY__.isSpotlight = isSpotlight;
    window.__BODI_REBUY__.hasTag = hasTag;

    // Helper: detect native Rebuy GWP widgets so we don't interfere
    function isNativeGwpWidget(widget) {
        if (!widget) return false;
        const type =
            (widget.data && widget.data.config && widget.data.config.type) ||
            widget.type ||
            '';
        return String(type).toLowerCase() === 'gift_with_purchase';
    }

    // Helper: stash widget discount message for translation
    const stashOriginalDiscountMessages = (widget) => {
        const sDisc = widget?.data?.settings?.discount;
        const cDisc = widget?.data?.config?.discount;

        if (sDisc && sDisc.__bodi_original_message == null) {
            sDisc.__bodi_original_message = sDisc.message;
        }
        if (cDisc && cDisc.__bodi_original_message == null) {
            cDisc.__bodi_original_message = cDisc.message;
        }
    };

    // Helper: apply base English discount message override from datasource custom data
    // Reads discount_message_en from the datasource rule's custom output fields
    // Call before applyWidgetFrDiscountMessageOverride so FR can layer on top
    const applyWidgetDiscountMessageOverride = (widget) => {
        if (!widget?.id) return;
        if (isNativeGwpWidget(widget)) return;

        const msg = widget?.data?.metadata?.custom?.en_discount_message;
        if (typeof msg !== 'string' || msg.trim() === '') return;

        const hasSettingsDiscount = !!widget?.data?.settings?.discount;
        const hasConfigDiscount = !!widget?.data?.config?.discount;
        if (!hasSettingsDiscount && !hasConfigDiscount) return;

        stashOriginalDiscountMessages(widget);

        if (hasSettingsDiscount) widget.data.settings.discount.message = msg.trim();
        if (hasConfigDiscount) widget.data.config.discount.message = msg.trim();

        logDebug('[Widget Discount] EN message override applied', { id: widget.id, message: msg.trim() });
    };

    // Helper: translate discount message if custom one is defined (CA-FR only)
    // Always call after applyWidgetDiscountMessageOverride so FR layers on top of EN
    const applyWidgetFrDiscountMessageOverride = (widget) => {
        if (!widget?.id) return;
        if (shopLocaleCode !== 'ca_fr') return;

        const frMsg = widget?.data?.metadata?.custom?.fr_discount_message;
        const msg = (typeof frMsg === 'string' && frMsg.trim() !== '') ? frMsg.trim() : '';
        if (!msg) return;

        const hasSettingsDiscount = !!widget?.data?.settings?.discount;
        const hasConfigDiscount = !!widget?.data?.config?.discount;
        if (!hasSettingsDiscount && !hasConfigDiscount) return;

        if (isNativeGwpWidget(widget)) return;

        stashOriginalDiscountMessages(widget);

        if (hasSettingsDiscount) widget.data.settings.discount.message = msg;
        if (hasConfigDiscount) widget.data.config.discount.message = msg;

        logDebug('[Widget Discount] CA-FR override applied', { id: widget.id, message: msg });
    };

    // Helper: override SmartCart line-item discount titles using widget metadata.custom.fr_discount_message
        const patchSmartCartDiscountTitles = () => {
        if (!Array.isArray(window.Rebuy?.widgets)) return;

        const items = window.Rebuy?.SmartCart?.cart?.items;
        if (!Array.isArray(items) || !items.length) return;

        const getWidgetById = (id) => {
            const n = Number(id);
            return window.Rebuy.widgets.find(w => Number(w?.id) === n) || null;
        };

        for (const item of items) {
            const wid = item?.properties?._widget_id;
            if (!wid) continue;

            const widget = getWidgetById(wid);

            // Resolve message: FR takes priority over EN, EN over nothing
            const enRaw = widget?.data?.metadata?.custom?.en_discount_message;
            const frRaw = widget?.data?.metadata?.custom?.fr_discount_message;
            const msgRaw = (shopLocaleCode === 'ca_fr' ? frRaw : null) || enRaw;
            const msg = (typeof msgRaw === 'string' && msgRaw.trim() !== '') ? msgRaw.trim() : '';
            if (!msg) continue;

            // Only patch if the item actually has line-item discounts
            const hasLineDiscount =
                (Array.isArray(item?.discounts) && item.discounts.length > 0) ||
                (Array.isArray(item?.line_level_discount_allocations) && item.line_level_discount_allocations.length > 0) ||
                Number(item?.line_level_total_discount || 0) > 0 ||
                Number(item?.total_discount || 0) > 0;

            if (!hasLineDiscount) continue;

            if (Array.isArray(item.discounts)) {
                item.discounts.forEach(d => {
                    if (d && typeof d === 'object') d.title = msg;
                });
            }

            if (Array.isArray(item.line_level_discount_allocations)) {
                item.line_level_discount_allocations.forEach(a => {
                    const app = a?.discount_application;
                    if (app && typeof app === 'object') app.title = msg;
                });
            }

            logDebug('[SmartCart] Patched discount title', { widget_id: wid, variant_id: item?.variant_id, msg });
        }
    };

    // Build pruning indexes from current cart items
    // Primary lookup is cfgsByWidgetId — keyed by widget ID string — so pruning
    // decisions are always scoped to the widget that actually placed the item
    const buildPruneIndexes = (items) => {
        const sourceProductIdsInCart = new Set();
        const sourceVariantIdsInCart = new Set();

        for (const it of items) {
            if (typeof it?.product_id === 'number') sourceProductIdsInCart.add(it.product_id);
            if (typeof it?.variant_id === 'number') sourceVariantIdsInCart.add(it.variant_id);
        }

        const cfgByDependentProduct = new Map();
        const cfgByDependentVariant = new Map();

        // Index configs by widget ID (string) — primary lookup path.
        // One widget ID may map to multiple configs (e.g. two promos sharing
        // one cross-sell widget, each with its own metaobject entry).
        const cfgsByWidgetId = new Map();

        for (const cfg of bodiWidgets) {
            const dp = Array.isArray(cfg.dependent_product_ids) ? cfg.dependent_product_ids : [];
            const dv = Array.isArray(cfg.dependent_variant_ids) ? cfg.dependent_variant_ids : [];

            for (const id of dp) {
                if (!cfgByDependentProduct.has(id)) cfgByDependentProduct.set(id, []);
                cfgByDependentProduct.get(id).push(cfg);
            }

            for (const id of dv) {
                if (!cfgByDependentVariant.has(id)) cfgByDependentVariant.set(id, []);
                cfgByDependentVariant.get(id).push(cfg);
            }

            // Only index configs that actually declare dependent items
            if (dp.length > 0 || dv.length > 0) {
                // Normalise to string — Liquid may render the ID as a number
                // but Rebuy writes _widget_id on line items as a string
                const wid = String(cfg.id);
                if (!cfgsByWidgetId.has(wid)) cfgsByWidgetId.set(wid, []);
                cfgsByWidgetId.get(wid).push(cfg);
            }
        }

        const skipCfgIdSet = new Set();
        if (window.Rebuy && Array.isArray(window.Rebuy.widgets)) {
            for (const w of window.Rebuy.widgets) {
                if (isNativeGwpWidget(w)) skipCfgIdSet.add(w.id);
            }
        }

        return {
            sourceProductIdsInCart,
            sourceVariantIdsInCart,
            cfgByDependentProduct,
            cfgByDependentVariant,
            cfgsByWidgetId,
            skipCfgIdSet
        };
    };

    // Removes Rebuy promo products when NO qualifying source remains.
    //
    // An item is a promo candidate only if:
    //   (a) it's Rebuy-tagged and not _flow_id protected
    //   (b) its _widget_id belongs to a managed widget (one with dependent config)
    //   (c) it's discounted or free
    //
    // Config matching: looks up all configs for the item's widget ID, finds those
    // whose dependent lists cover this item's variant/product, then keeps the item
    // if ANY of those configs has a qualifying source in cart. This correctly handles
    // multiple promos sharing one widget ID without cross-contamination.
    const pruneOrphanedRebuyItems = async ({ getItems, removeLine, label = 'Cart' }) => {
        try {
            const items = await getItems();
            if (!Array.isArray(items) || !items.length) return;

            const hasAnyRebuyTagged = items.some((it) => {
                const p = it?.properties || {};
                if (!!p._flow_id) return false;
                return p._source === 'Rebuy' || p._attribution === 'Rebuy Cart' || !!p._widget_id;
            });
            if (!hasAnyRebuyTagged) return;

            const isRebuyTagged = (it) => {
                const p = it?.properties || {};
                if (!!p._flow_id) return false;
                return p._source === 'Rebuy' || p._attribution === 'Rebuy Cart' || !!p._widget_id;
            };

            const hasDiscount = (it) => {
                if (Number(it?.total_discount || 0) > 0) return true;
                if (Array.isArray(it?.discounts) && it.discounts.length > 0) return true;
                if (Array.isArray(it?.line_level_discount_allocations) && it.line_level_discount_allocations.length > 0) return true;
                if (Number(it?.line_level_total_discount || 0) > 0) return true;

                if (typeof it?.final_price === 'number' && typeof it?.original_price === 'number') {
                    return it.final_price < it.original_price;
                }
                if (typeof it?.discounted_price === 'number' && typeof it?.original_price === 'number') {
                    return it.discounted_price < it.original_price;
                }
                return false;
            };

            const {
                sourceProductIdsInCart,
                sourceVariantIdsInCart,
                cfgsByWidgetId,
                skipCfgIdSet
            } = buildPruneIndexes(items);

            // Set of widget IDs (strings) that have at least one managed config.
            // Used to gate isPromo — items from unrelated widgets are never flagged.
            const managedWidgetIds = new Set(cfgsByWidgetId.keys());

            const isPromo = (it) => {
                if (!isRebuyTagged(it)) return false;

                const rawWid = it?.properties?._widget_id;
                const wid = rawWid != null ? String(rawWid) : null;
                if (!wid || !managedWidgetIds.has(wid)) return false;

                const isFree = typeof it?.final_price === 'number' && it.final_price === 0;
                return isFree || hasDiscount(it);
            };

            const cartHasSourceForConfig = (cfg) => {
                const srcP = Array.isArray(cfg.source_product_ids) ? cfg.source_product_ids : [];
                const srcV = Array.isArray(cfg.source_variant_ids) ? cfg.source_variant_ids : [];

                for (const id of srcP) if (sourceProductIdsInCart.has(id)) return true;
                for (const id of srcV) if (sourceVariantIdsInCart.has(id)) return true;
                return false;
            };

            const promos = items.filter(isPromo);
            if (!promos.length) return;

            const toRemove = [];

            for (const promo of promos) {
                const rawWid = promo?.properties?._widget_id;
                const wid = rawWid != null ? String(rawWid) : null;
                if (!wid) continue;

                // All configs for the widget that placed this item, minus native GWP widgets
                const widgetCfgs = (cfgsByWidgetId.get(wid) || [])
                    .filter(cfg => !skipCfgIdSet.has(cfg.id));

                if (!widgetCfgs.length) continue;

                // Find ALL configs whose dependent lists cover this promo item —
                // there may be multiple configs sharing a widget ID (one per promo).
                // The item is valid if ANY of them has a qualifying source in cart.
                const matchingCfgs = widgetCfgs.filter(cfg =>
                    (Array.isArray(cfg.dependent_variant_ids) &&
                        cfg.dependent_variant_ids.includes(promo.variant_id)) ||
                    (Array.isArray(cfg.dependent_product_ids) &&
                        cfg.dependent_product_ids.includes(promo.product_id))
                );

                if (!matchingCfgs.length) continue;

                const stillValid = matchingCfgs.some(cfg => cartHasSourceForConfig(cfg));
                if (!stillValid) toRemove.push(promo);
            }

            if (!toRemove.length) return;

            logDebug(`[${label}] Pruning orphan promos:`, toRemove);

            for (const promo of toRemove) {
                await removeLine(promo);
            }
        } catch (err) {
            console.error('[Rebuy Extensions] Error pruning orphan promos:', err);
        }
    };

    // SmartCart adapter
    const pruneSmartCartOrphans = () => {
        if (!window.Rebuy || !Rebuy.SmartCart || !Rebuy.Cart) return;

        return pruneOrphanedRebuyItems({
            label: 'SmartCart',
            getItems: () => (Array.isArray(Rebuy.SmartCart.items()) ? Rebuy.SmartCart.items() : []),
            removeLine: (item) => Rebuy.Cart.removeItem(item)
        });
    };

    let __nativePruneRunning = false;
    let __nativePrunePending = false;
    let __nativeCartCache = null;

    const dispatchNativeCartUpdate = (cartData) => {
        const detail = { data: { didError: false, cart: cartData } };

        try { document.dispatchEvent(new CustomEvent('cart:update', { detail })); } catch (e) {}
        try { window.dispatchEvent(new CustomEvent('cart:update', { detail })); } catch (e) {}

        // Optional extra “poke” some themes listen for
        // try { document.dispatchEvent(new CustomEvent('cart:refresh', { detail })); } catch (e) {}
        // try { window.dispatchEvent(new CustomEvent('cart:refresh', { detail })); } catch (e) {}
    };

    // Native /cart empty-cart edge case testing for when the DOM is not updated for whatever reason
    const safeReloadOnce = (() => {
        const KEY = '__BODI_NATIVE_CART_RELOAD_TS__';
        const COOLDOWN_MS = 15 * 1000;

        return () => {
            try {
                const now = Date.now();
                const last = Number(sessionStorage.getItem(KEY) || 0);
                if (now - last < COOLDOWN_MS) return;
                sessionStorage.setItem(KEY, String(now));
            } catch (e) {}

            try {
                const url = new URL(window.location.href);
                url.searchParams.set('__bodi_cart_refresh', String(Date.now()));
                window.location.replace(url.toString());
            } catch (e) {
                window.location.reload();
            }
        };
    })();

    // Native /cart DOM row detection. Only use when /cart.js says the cart is empty
    const countNativeCartDomRows = () => {
        const selectors = [
            '[data-line-item-key]',
            '[data-cart-item-key]',
            '[data-key]',
            '.cart-item',
            '.cart__row'
        ];
        try {
            return document.querySelectorAll(selectors.join(',')).length;
        } catch (e) {
            return 0;
        }
    };

    const fetchCartJson = async () => {
        const res = await fetch('/cart.js', { credentials: 'same-origin' });
        const data = await res.json().catch(() => null);
        if (!res.ok || !data) throw new Error(`Failed to fetch /cart.js (${res.status})`);
        __nativeCartCache = data;
        return data;
    };

    const isValidChangeId = (v) => {
        if (v == null) return false;
        const s = String(v);
        return /^\d+$/.test(s) || /^\d+:[a-f0-9]{32}$/.test(s);
    };

    const removeNativeLine = async (item) => {
        const tryChange = async (payload) => {
            const res = await fetch('/cart/change.js', {
                method: 'POST',
                headers: { 'Content-Type': 'application/json' },
                credentials: 'same-origin',
                body: JSON.stringify(payload)
            });

            const data = await res.json().catch(() => null);

            if (res.status === 422) return { ok: false, status: 422, data };
            if (!res.ok || !data) return { ok: false, status: res.status, data };

            if (typeof data.status === 'number' && data.status >= 400) {
                return { ok: false, status: data.status, data };
            }

            return { ok: true, status: res.status, data };
        };

        const findLineByKey = (cartItems, key) => {
            if (!Array.isArray(cartItems) || !key) return -1;
            return cartItems.findIndex((it) => it && it.key === key);
        };

        const key = item?.key;

        let cartItems = Array.isArray(__nativeCartCache?.items) ? __nativeCartCache.items : [];
        if (!cartItems.length) {
            const cart = await fetchCartJson();
            cartItems = Array.isArray(cart?.items) ? cart.items : [];
        }

        let idx = findLineByKey(cartItems, key);

        if (idx === -1) {
            const cart = await fetchCartJson();
            cartItems = Array.isArray(cart?.items) ? cart.items : [];
            idx = findLineByKey(cartItems, key);
        }

        if (idx === -1) {
            logDebug('[Native Cart] removeNativeLine: item already removed, skipping', key);
            return __nativeCartCache;
        }

        let result = await tryChange({ line: idx + 1, quantity: 0 });

        if (!result.ok && result.status === 422) {
            const cart = await fetchCartJson();
            const freshItems = Array.isArray(cart?.items) ? cart.items : [];
            const freshIdx = findLineByKey(freshItems, key);

            if (freshIdx === -1) {
                logDebug('[Native Cart] removeNativeLine: item already removed after refetch, skipping', key);
                return cart;
            }

            result = await tryChange({ line: freshIdx + 1, quantity: 0 });
        }

        // Last resort: id:key (NOT variant_id)
        if (!result.ok) {
            if (isValidChangeId(key)) {
                result = await tryChange({ id: String(key), quantity: 0 });
            }
        }

        if (!result.ok) {
            const msg = result?.data?.message || result?.data?.description || '';
            throw new Error(`Cart change failed (${result.status})${msg ? `: ${msg}` : ''}`);
        }

        __nativeCartCache = result.data;

        dispatchNativeCartUpdate(result.data);

        return result.data;
    };

    const pruneNativeCartOrphans = async () => {
        if (!isNativeCartPage) return;

        if (__nativePruneRunning) {
            __nativePrunePending = true;
            return;
        }

        __nativePruneRunning = true;
        try {
            do {
                __nativePrunePending = false;

                await pruneOrphanedRebuyItems({
                    label: 'Native Cart',
                    getItems: async () => {
                        const cart = await fetchCartJson();
                        return Array.isArray(cart?.items) ? cart.items : [];
                    },
                    removeLine: async (item) => {
                        await removeNativeLine(item);
                    }
                });

            } while (__nativePrunePending);
        } finally {
            __nativePruneRunning = false;
        }
    };

    let __lastThemeCartUpdateTs = 0;

    // Stamps when the theme already handled a cart update
    document.addEventListener('cart:update', () => {
        __lastThemeCartUpdateTs = Date.now();
    }, true);

    // Refresh native /cart table when the Shopify cart is mutated on /cart page
    const installNativeCartMutationRefresh = () => {
        if (!isNativeCartPage) return;
        if (window.__BODI_NATIVE_CART_MUTATION_REFRESH__) return;
        window.__BODI_NATIVE_CART_MUTATION_REFRESH__ = true;

        const originalFetch = window.fetch.bind(window);

        // Debounce: add + GWP add + GWP remove, etc. into one refresh
        let refreshTimer = null;

        const THEME_UPDATE_GRACE_MS = 450;
        const DEBOUNCE_MS = 350;

        const scheduleRefresh = (reason) => {
            // Return if the theme just updated the cart UI
            if (Date.now() - (__lastThemeCartUpdateTs || 0) < THEME_UPDATE_GRACE_MS) {
                logDebug('[Native Cart] Skip refresh (theme already updated recently)', { reason });
                return;
            }

            if (refreshTimer) clearTimeout(refreshTimer);
            refreshTimer = setTimeout(async () => {
                refreshTimer = null;

                // Theme may have updated while we were waiting
                if (Date.now() - (__lastThemeCartUpdateTs || 0) < THEME_UPDATE_GRACE_MS) {
                    logDebug('[Native Cart] Skip refresh (theme updated during debounce)', { reason });
                    return;
                }

                try {
                    const cart = await fetchCartJson();
                    dispatchNativeCartUpdate(cart);

                    await pruneNativeCartOrphans();

                    const isEmpty =
                        Number(cart?.item_count || 0) === 0 ||
                        (Array.isArray(cart?.items) && cart.items.length === 0);

                    if (isEmpty) {
                        const domRows = countNativeCartDomRows();
                        // Edge case where the DOM doesn't reflect a cart update. May not need this
                        /* if (domRows > 0) {
                            logDebug('[Native Cart] /cart.js empty but DOM still shows rows → hard refresh (guarded)');
                            safeReloadOnce();
                        } */
                    }
                } catch (e) {
                    logDebug('[Native Cart] Failed to refresh cart after cart mutation', e);
                }
            }, DEBOUNCE_MS);
        };

        const urlMatchesCartMutation = (url) => {
            if (!url) return false;
            const u = String(url);
            return (
                u.includes('/cart/add') ||
                u.includes('/cart/change') ||
                u.includes('/cart/update')
            );
        };

        // Detect theme-driven section rendering calls so we don’t cause flicker
        const looksLikeThemeSectionChange = (url, init) => {
            try {
                const u = String(url || '');
                if (!u.includes('/cart/change')) return false;

                const body = init?.body;
                if (!body) return false;

                const s = (typeof body === 'string') ? body : '';

                // Specific to theme request
                if (s.includes('"sections"') && s.includes('"sections_url"')) return true;
                if (s.includes('sections=') && s.includes('sections_url=')) return true;

                return false;
            } catch (e) {
                return false;
            }
        };

        window.fetch = async (input, init) => {
            const url = (input instanceof Request) ? input.url : input;

            const method =
                (init && init.method) ||
                (input instanceof Request ? input.method : 'GET') ||
                'GET';

            const isPost = String(method).toUpperCase() === 'POST';
            const shouldWatch = isPost && urlMatchesCartMutation(url);

            // Let the request happen first
            const res = await originalFetch(input, init);

            if (shouldWatch && res && res.ok) {
                // If this was the theme itself morphing sections, skip our refresh to reduce flicker.
                if (looksLikeThemeSectionChange(url, init)) {
                    logDebug('[Native Cart] Skip refresh (theme section change request)', url);
                    return res;
                }

                logDebug('[Native Cart] Detected Shopify cart mutation → scheduling refresh', url);
                scheduleRefresh(String(url));
            }

            return res;
        };

        logDebug('[Native Cart] Installed cart mutation refresh interceptor (debounced + guarded)');
    };

    // Helper: limit quantity for tagged products in Smart Cart
    const limitItemQuantities = () => {
        setTimeout(() => {
            if (!window.Rebuy || !Rebuy.SmartCart || !Rebuy.Cart) return;

            const cartItems = Array.isArray(Rebuy.SmartCart.items()) ? Rebuy.SmartCart.items() : [];
            const limitTags = ['DigitalPurchase', 'Membership', 'Subscription'];

            cartItems.forEach((item) => {
                const tags = item.product?.tags || [];
                const shouldLimit = limitTags.some(t => tags.includes(t));
                if (shouldLimit && item.quantity > 1) {
                    Rebuy.Cart.setItemQuantity(item, 1);
                }
            });
        }, 300);
    };

    function getProgressBarEl() {
        if (progressBarEl && document.contains(progressBarEl)) return progressBarEl;
        progressBarEl = document.querySelector('div[data-rebuy-component="progress-bar"]');
        return progressBarEl;
    }

    // shows/hides smart cart error message
    // can be extended to handle different error messages if needed (msg = '')
    function handleCartError(display) {
        const cartBodyEl = (isNativeCartPage ? document.querySelector('main') : document.querySelector('div[data-rebuy-cart-anchor="body"]'));
        const cartItemsComponentEl = (isNativeCartPage ? document.querySelector('main div.shopify-section:first-child') : document.querySelector('div[data-rebuy-component="cart-items"]'));
        const cartErrorMsgEl = document.querySelector('div[data-rebuy-cart-component="error"]');

        if (display) {
            if (cartErrorMsgEl) return;

            const errorMsgInnerHTML = `<div class="rebuy-cart__error-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" focusable="false" aria-hidden="true"><g clip-path="url(#alertCircle_svg__a)"><circle cx="7" cy="7" r="5.5"></circle><path stroke-linecap="round" stroke-linejoin="round" d="M7 3.75v3.5"></path><path stroke-linejoin="round" d="M6.99 9.74h.02v.02h-.02z"></path></g><defs><clipPath id="alertCircle_svg__a"><path fill="#fff" d="M0 0h14v14H0z"></path></clipPath></defs></svg></div><div class="rebuy-cart__error-message">Your cart contains multiple BODi Subscriptions. Please choose 1 and remove all others to proceed.</div>`;

            const errorMsgEl = document.createElement('div');
                errorMsgEl.setAttribute('data-rebuy-cart-component', 'error');
                errorMsgEl.role = 'alert';
                errorMsgEl.classList = 'rebuy-cart__error-container';
                errorMsgEl.innerHTML = errorMsgInnerHTML;
            
            cartBodyEl.insertBefore(errorMsgEl, cartItemsComponentEl);
        } else {
            if (!cartErrorMsgEl) return;

            cartErrorMsgEl.remove();
        }
    }

    function updateProgressBarVisibility(items) {
        const el = getProgressBarEl();
        if (!el) return;

        const shouldShow = Array.isArray(items)
            ? items.some(item => hasTag(item.product?.tags, 'supplement'))
            : false;

        el.style.display = shouldShow ? 'block' : 'none';
    }

    /** Rebuy tax disclaimer: only when the smart cart has line items. */
    function syncSmartCartTaxNote(scope) {
        const root =
            scope ||
            document.querySelector('[data-rebuy-cart-anchor="footer"]') ||
            document.querySelector('[data-rebuy-component="cart-subtotal"]')?.parentElement;
        if (!root) return;

        root.querySelectorAll('.tax-note').forEach((el) => el.parentElement?.remove());

        const items = window.Rebuy?.SmartCart?.items?.();
        if (!Array.isArray(items) || !items.length) return;

        const subtotal = root.querySelector('[data-rebuy-component="cart-subtotal"]');
        if (!subtotal) return;

        const wrap = document.createElement('div');
        wrap.innerHTML = `
            <div class="tax-note">
                <p>*Shipping &amp; taxes calculated at checkout.</p>
            </div>
        `;
        subtotal.parentNode.insertBefore(wrap, subtotal.nextSibling);
    }

    // Helper: handle custom actions when cart changes
    const manageCartChange = (e) => {
        const { cart } = e.detail;
        if (window.Rebuy?.Cart?.enrichCart) Rebuy.Cart.enrichCart();
        updateProgressBarVisibility(cart.items());
        syncSmartCartTaxNote();
        limitItemQuantities();
    };

    // Translate smartcart language based on store locale
    const translateSmartCart = (locale) => {
        // Only translate for CA French
        if (locale !== 'ca_fr') return;

        const getComp = (type) =>
            (window.Rebuy?.SmartCart?.getComponentsByType?.(type) || [])[0] || null;

        const components = {
            announcement: getComp('announcement_bar'),
            title: getComp('title_bar'),
            progress: getComp('tiered_progress_bar'),
            checkout: getComp('checkout'),
            subtotal: getComp('cart_subtotal'),
            items: getComp('cart_items'),
        };

        // Switch to sub / Buy more save more language at the root SmartCart settings level
        const switchToSubscriptionLanguage =
            window.Rebuy?.SmartCart?.settings?.switch_to_subscription?.language || null;

        const buyMoreSaveMoreLanguage =
            window.Rebuy?.SmartCart?.settings?.buy_more_save_more?.language || null;

        // Treat blank/placeholder values as "no translation"
        const hasValue = (v) => typeof v === 'string' && v.trim() !== '';

        const setExisting = (obj, path, value) => {
            if (!obj) return false;

            let cur = obj;
            for (let i = 0; i < path.length - 1; i++) {
            const key = path[i];
            if (cur == null) return false;
            cur = cur[key];
            if (cur == null || (typeof cur !== 'object' && !Array.isArray(cur))) return false;
            }

            const lastKey = path[path.length - 1];
            if (cur == null || !(lastKey in cur)) return false;

            cur[lastKey] = value;
            return true;
        };

        const patchExisting = (target, entries) => {
            if (!target) return;
            for (const [path, val] of entries) {
            if (!hasValue(val)) continue;
            setExisting(target, path, val);
            }
        };

        const t = {
            title: " ",

            announcement: [
                " ",
                " ",
                " ",
            ],

            progress: {
                gift_area_title:
                    " ",
                free_shipping_reached:
                    " ",
                free_shipping_remaining:
                    " ",
            },

            checkout: {
                checkout_label:
                    " ",
                view_cart_label:
                    " ",
                checking_out_label:
                    " ",
                view_cart_working_label:
                    " ",
                continue_shopping_label:
                    " ",
                terms_and_conditions_label:
                    " ",
            },
        
            cart_subtotal: {
                subtotal_plural_text:
                    " ",
                subtotal_singular_text:
                    " ",
                discount_summary_count_label:
                    " ",
                discount_summary_count_label_plural:
                    " ",
            },

            cart_items: {
                plural_line_item_label:
                    " ",
                single_line_item_label:
                    " ",
                nested_items_hidden_label:
                    " ",
                nested_items_displayed_label:
                    " ",
                savings_violator:
                    "Saving",
            },

            switch_to_subscription: {
                upgrading_label:
                    " ",
                downgrading_label:
                    " ",
                onetime_option_label:
                    " ",
                subscription_option_label:
                    " ",
                onetime_option_group_label:
                    " ",
                upgrade_to_subscription_label:
                    " ",
                subscription_option_group_label:
                    " ",
                upgrade_to_subscription_default_frequency:
                    " ",
                upgrade_to_subscription_without_discount_label:
                    " ",
            },

            buy_more_save_more: {
                bmsm_discount_message:
                    " ",
                bmsm_discount_success:
                    " ",
            },

            empty_cart_markup: " ",
        };

        // Savings violator label
        window.__BODI_REBUY__.test_var = t.cart_items.savings_violator;

        // Announcement bar
        const msgs = components.announcement?.settings?.messages;
        if (Array.isArray(msgs) && msgs.length) {
            t.announcement.forEach((val, i) => {
                if (msgs[i] != null && hasValue(val)) msgs[i] = val;
            });
        }

        // Title bar
        if (hasValue(t.title)) {
            setExisting(components.title, ['settings', 'title'], t.title);
        }

        // Tiered progress bar (bar[0])
        // only supports 1 bar, will need go extend if needed
        const bar0 = components.progress?.settings?.bars?.[0];
        if (bar0?.language) {
            patchExisting(bar0, [
                [['language', 'gift_area_title'], t.progress.gift_area_title],
                [['language', 'free_shipping_reached'], t.progress.free_shipping_reached],
                [['language', 'free_shipping_remaining'], t.progress.free_shipping_remaining],
            ]);
        }

        // Checkout
        patchExisting(components.checkout, [
            [['settings', 'language', 'checkout_label'], t.checkout.checkout_label],
            [['settings', 'language', 'view_cart_label'], t.checkout.view_cart_label],
            [['settings', 'language', 'checking_out_label'], t.checkout.checking_out_label],
            [['settings', 'language', 'view_cart_working_label'], t.checkout.view_cart_working_label],
            [['settings', 'language', 'continue_shopping_label'], t.checkout.continue_shopping_label],
            [['settings', 'language', 'terms_and_conditions_label'], t.checkout.terms_and_conditions_label],
        ]);

        // Cart subtotal
        patchExisting(components.subtotal, [
            [['settings', 'language', 'subtotal_plural_text'], t.cart_subtotal.subtotal_plural_text],
            [['settings', 'language', 'subtotal_singular_text'], t.cart_subtotal.subtotal_singular_text],
            [['settings', 'language', 'discount_summary_count_label'], t.cart_subtotal.discount_summary_count_label],
            [['settings', 'language', 'discount_summary_count_label_plural'], t.cart_subtotal.discount_summary_count_label_plural],
        ]);

        // Cart items
        patchExisting(components.items, [
            [['settings', 'language', 'plural_line_item_label'], t.cart_items.plural_line_item_label],
            [['settings', 'language', 'single_line_item_label'], t.cart_items.single_line_item_label],
            [['settings', 'language', 'nested_items_hidden_label'], t.cart_items.nested_items_hidden_label],
            [['settings', 'language', 'nested_items_displayed_label'], t.cart_items.nested_items_displayed_label],
        ]);

        // Switch to subscription
        if (switchToSubscriptionLanguage && typeof switchToSubscriptionLanguage === 'object') {
            patchExisting(switchToSubscriptionLanguage, [
                [['upgrading_label'], t.switch_to_subscription.upgrading_label],
                [['downgrading_label'], t.switch_to_subscription.downgrading_label],
                [['onetime_option_label'], t.switch_to_subscription.onetime_option_label],
                [['subscription_option_label'], t.switch_to_subscription.subscription_option_label],
                [['onetime_option_group_label'], t.switch_to_subscription.onetime_option_group_label],
                [['upgrade_to_subscription_label'], t.switch_to_subscription.upgrade_to_subscription_label],
                [['subscription_option_group_label'], t.switch_to_subscription.subscription_option_group_label],
                [['upgrade_to_subscription_default_frequency'], t.switch_to_subscription.upgrade_to_subscription_default_frequency],
                [['upgrade_to_subscription_without_discount_label'], t.switch_to_subscription.upgrade_to_subscription_without_discount_label],
            ]);
        }

        // Buy more save more
        if (buyMoreSaveMoreLanguage && typeof buyMoreSaveMoreLanguage === 'object') {
            patchExisting(buyMoreSaveMoreLanguage, [
                [['bmsm_discount_message'], t.buy_more_save_more.bmsm_discount_message],
                [['bmsm_discount_success'], t.buy_more_save_more.bmsm_discount_success],
            ]);
        }

        // Empty cart message
        if (window.Rebuy?.SmartCart?.settings?.empty_cart_markup) {
            window.Rebuy.SmartCart.settings.empty_cart_markup = t.empty_cart_markup;
        }
    };

    // widgets: init
    document.addEventListener('rebuy.init', (event) => {
        const { widget } = event.detail;
        applyWidgetDiscountMessageOverride(widget);
        applyWidgetFrDiscountMessageOverride(widget);
    });

    // widgets: ready
    document.addEventListener('rebuy.ready', (event) => {
        logDebug('rebuy.ready fired');

        const isWidgetLevel = event.detail && event.detail.widget;

        if (isWidgetLevel) {
            const widget = event.detail.widget;
            logDebug('Widget-level rebuy.ready for widget id:', widget.id);

            if (linkedWidgetIdSet.has(widget.id)) {
                widget.data = widget.data || {};
                widget.data.config = widget.data.config || {};
                widget.data.config.popup_trigger = 'manual';
                logDebug('Set popup_trigger="manual" for linked widget', widget.id, widget.data.config);
            }

            // Apply EN then CA-FR discount message overrides (CA-FR layers on top of EN)
            applyWidgetDiscountMessageOverride(widget);
            applyWidgetFrDiscountMessageOverride(widget);

            return;
        }

        logDebug('Global-level rebuy.ready (filtering active widgets)');

        if (!window.Rebuy || !Array.isArray(window.Rebuy.widgets)) {
            logDebug('window.Rebuy.widgets not ready, skipping global filtering');
            return;
        }

        const activeIds = window.Rebuy.widgets.map(w => w.id);
        logDebug('Active widget IDs:', activeIds);

        for (let i = bodiWidgets.length - 1; i >= 0; i--) {
            if (!activeIds.includes(bodiWidgets[i].id)) {
                logDebug('Pruning bodiWidget:', bodiWidgets[i]);
                bodiWidgets.splice(i, 1);
            }
        }

        bodiWidgetById.clear();
        bodiWidgets.forEach((w) => bodiWidgetById.set(w.id, w));

        document.querySelectorAll('.rebuy-widget--global').forEach(el => {
            const id = parseInt(el.dataset.rebuyId, 10);
            if (!activeIds.includes(id)) {
                logDebug('Removing unused global widget container:', id);
                el.remove();
            }
        });

        logDebug('bodiWidgets after filtering:', bodiWidgets);
    });

    // Utilize StorefrontHelper to enrich product JSON with locale-aware titles
    // update product JSON every time products are loaded or changed
    document.addEventListener('rebuy.productsChange', (e) => {
        const widget = e.detail.widget;
        const storefrontHelper = new ShopifyStorefrontHelper();

        // loop over products in the widget and enrich product json
        

          const steps = widget?.data?.config?.steps;
        if (Array.isArray(steps) && steps.length) {
        } else {
            // Regular widget: enrich flat products array
            (widget.data.products || []).forEach((product) => storefrontHelper.updateProductJSON(product));
        }


        patchSmartCartDiscountTitles();
    });

    // widgets: before show
    document.addEventListener('rebuy.beforeShow', (event) => {
        logDebug('rebuy.beforeShow fired for widget id:', event.detail.widget.id);

        const { rebuy, bodi } = getWidgetPair(event.detail.widget.id);
        if (!rebuy || !bodi) {
            logDebug('No rebuy or bodi config found for widget id:', event.detail.widget.id);
            return;
        }

        // Apply discount message overrides now that datasource metadata is populated
        // EN is applied first; CA-FR layers on top if applicable
        applyWidgetDiscountMessageOverride(rebuy);
        applyWidgetFrDiscountMessageOverride(rebuy);

        if (bodi.hide_cart_on_open) {
            logDebug('hide_cart_on_open=true for widget id:', bodi.id, '→ hiding SmartCart');
            window.Rebuy.SmartCart.hide();
            window.Rebuy.SmartCart.skip_open = true;
        }

        if (bodi.linked_widget_id) {
            logDebug('Hiding linked widget placeholder for linked widget id:', bodi.linked_widget_id);
            const el = document.getElementById('rebuy-widget-' + bodi.linked_widget_id);
            if (el) el.style.display = 'none';
        }
    });

    // widgets: hide
    document.addEventListener('rebuy.hide', (event) => {
        logDebug('rebuy.hide fired for widget id:', event.detail.widget.id);

        const { rebuy, bodi } = getWidgetPair(event.detail.widget.id);
        if (!rebuy || !bodi) return;

        if (bodi.linked_widget_id) {
            const nextId = bodi.linked_widget_id;
            const nextRebuyWidget = getRebuyWidget(nextId);

            const nextEl = document.getElementById('rebuy-widget-' + nextId);
            if (nextEl) nextEl.style.display = 'block';

            if (nextRebuyWidget && typeof nextRebuyWidget.show === 'function') {
                nextRebuyWidget.show();
            }
        }

        if (bodi.show_cart_on_close) {
            window.Rebuy.SmartCart.skip_open = false;
            window.Rebuy.SmartCart.show();
        }
    });

    // smartcart: init
    document.addEventListener('rebuy:smartcart.init', (event) => {
        logDebug('rebuy:smartcart.init fired');

        
            const desktop = document.querySelector('.bodi-nav__cart-button');
            const mobile = document.querySelector('.bodi-nav-mobile__cart-button');

            if (desktop) desktop.addEventListener('click', () => Rebuy.SmartCart.show());
            if (mobile) mobile.addEventListener('click', () => Rebuy.SmartCart.show());

            translateSmartCart(shopLocaleCode);
        
    });

    

    // smartcart: ready
    document.addEventListener('rebuy:smartcart.ready', (event) => {
        logDebug('rebuy:smartcart.ready fired');

        var STORAGE_KEY = 'bodi_rebuy_discount_synced';
        var smartcart = event.detail.smartcart;
        var urlDiscount = new URLSearchParams(window.location.search).get('discount');
        if (urlDiscount && !/^[a-zA-Z0-9_-]{1,50}$/.test(urlDiscount)) {
            urlDiscount = null;
        }

        var applyPromise = urlDiscount
            ? fetch('/cart/update.js', {
                method: 'POST',
                headers: { 'Content-Type': 'application/json' },
                body: JSON.stringify({ discount: urlDiscount })
            })
            : Promise.resolve();

        applyPromise
            .then(function () { return fetch('/cart.js'); })
            .then(function (res) { return res.json(); })
            .then(function (cart) {
                var applications = cart.cart_level_discount_applications || [];
                var codeApp = applications.find(function (app) {
                    return app.type === 'discount_code';
                });

                if (!codeApp || sessionStorage.getItem(STORAGE_KEY) === codeApp.title) {
                    return;
                }

                smartcart.applyDiscount(codeApp.title);
                sessionStorage.setItem(STORAGE_KEY, codeApp.title);
            })
            .catch(function () {});

        patchSmartCartDiscountTitles();
        const header = document.querySelector('div[data-rebuy-cart-anchor="header"]');
        const bar = document.querySelector('div[data-rebuy-component="announcement-bar"]');
        if (header && bar) header.before(bar);
        if (window.Rebuy?.SmartCart?.items) {
            Rebuy.Cart.enrichCart();
            updateProgressBarVisibility(Rebuy.SmartCart.items());
            syncSmartCartTaxNote();
        }
    });

    // smartcart: show
    document.addEventListener('rebuy:smartcart.show', (event) => {
        logDebug('rebuy:smartcart.show fired');
        patchSmartCartDiscountTitles();
        const cart = event.detail.smartcart.dom.cart;
        if (!cart) return;

        syncSmartCartTaxNote(cart);

        // Proper continue shopping CTA URL for FR
        if (shopLocaleCode === 'ca_fr' && cart.querySelector('.rebuy-cart__flyout-empty-cart a')) {
            const continueCTA = cart.querySelector('.rebuy-cart__flyout-empty-cart a');
            continueCTA.href = '/fr';
        }

        // Translate guarantee copy in the custom cart items template
        if (shopLocaleCode === 'ca_fr' && cart.querySelector('#rebuyCartGuaranteeLanguage')) {
            const guaranteeHtml = cart.querySelector('#rebuyCartGuaranteeLanguage');
            const guaranteeMsg = " ";

            if (typeof guaranteeMsg === 'string' && guaranteeMsg.trim() !== '') {
                guaranteeHtml.innerHTML = '<p>' + guaranteeMsg + '</p>';
            }
        }
    });

    // cart: change — debounced prune to let cart state fully settle before checking
    // for orphaned promo items. Prevents race condition where a just-added promo
    // is removed because the source product hasn't been reflected in cart state yet.
    let __smartCartPruneTimer = null;

    document.addEventListener('rebuy:cart.change', (event) => {
        patchSmartCartDiscountTitles();
        manageCartChange(event);
        hasMultipleUniques();

        if (__smartCartPruneTimer) clearTimeout(__smartCartPruneTimer);
        __smartCartPruneTimer = setTimeout(() => {
            __smartCartPruneTimer = null;
            pruneSmartCartOrphans();
        }, 500);
    });

    // Native /cart: refresh + prune only in response to genuine Shopify
    // cart mutations observed via fetch interception (add/change/update)
    (() => {
        if (!isNativeCartPage) return;
        installNativeCartMutationRefresh();
    })();

    
  })();

  function isBodiSpotlight(id) {
    return !!(window.__BODI_REBUY__?.isSpotlight?.(id));
  }

  function bodiSubscriptionFrequencyLabel(item, defaultLabel) {
    const overrides = [
      { tag: 'supplement', message: '1 month subscription with discounts' },
    ];

    const hasTag = window.__BODI_REBUY__?.hasTag;
    if (!overrides.length || typeof hasTag !== 'function') return defaultLabel;

    const tags = item?.product?.tags;
    const match = overrides.find((o) => o?.tag && hasTag(tags, o.tag));
    return (match && typeof match.message === 'string' && match.message.trim() !== '')
      ? match.message
      : defaultLabel;
  }
</script>



  
  

  
<script id="rebuy-widget-274810" type="text/template">
            
                <div class="rebuy-widget"
                v-cloak
                v-on:click="stopPropagation($event)"
                v-bind:id="'rebuy-widget-' + id"
                v-bind:class="['widget-type-' + config.type.replace('_','-'), 'widget-display-' + config.display_type, products.length > 0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">

                    <div
                        class="rebuy-widget-container"
                        v-cloak
                        v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]"
                        v-on:click.self="hide()">

                        <div
                            class="rebuy-widget-content"
                            v-bind:class="[isBodiSpotlight(id) ? 'widget-spotlight' : '']"
                        >
                            <div class="rebuy-modal-close" v-on:click="hide()" aria-label="close modal">
                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                    <g clip-path="url(#clip0_5603_464)">
                                        <rect opacity="0.01" width="24" height="24" fill="#E8E8E8"/>
                                        <path fill-rule="evenodd" clip-rule="evenodd" d="M17.8219 17.6852C18.0691 17.4471 18.0599 17.0443 17.8219 16.8062L12.9238 11.9082L17.8219 7.00095C18.0599 6.76291 18.0691 6.36923 17.8219 6.1312C17.5838 5.884 17.181 5.89316 16.943 6.1312L12.0449 11.0293L7.14682 6.1312C6.90878 5.89316 6.50595 5.884 6.26791 6.1312C6.02072 6.36923 6.02988 6.76291 6.26791 7.00095L11.166 11.9082L6.26791 16.8062C6.02988 17.0443 6.02072 17.4471 6.26791 17.6852C6.50595 17.9323 6.90878 17.9232 7.14682 17.6852L12.0449 12.7871L16.943 17.6852C17.181 17.9232 17.5838 17.9323 17.8219 17.6852Z" fill="#161819"/>
                                    </g>
                                    <defs>
                                        <clipPath id="clip0_5603_464">
                                            <rect width="24" height="24" fill="white"/>
                                        </clipPath>
                                    </defs>
                                </svg>
                            </div>

                            <div class="rebuy-timer" v-if="hasTimer()">
                                <p class="rebuy-timer-title" v-if="config.language.timer_title">
                                    <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span>
                                </p>
                            </div>

                            <p
                                class="super-title"
                                v-if="config.language.super_title"
                                v-html="config.language.super_title"
                            ></p>

                            <p class="primary-title"
                                v-if="config.language.title"
                                v-html="config.language.title"
                            ></p>

                            <div class="description" v-if="config.language.description" v-html="config.language.description"></div>

                            <div class="rebuy-product-grid" v-bind:class="layoutClasses" tabindex="0" role="list">

                                <div
                                    v-for="(product, product_index) in products"
                                    v-bind:class="[
                                        product.handle,
                                        'product-id-' + product.id,
                                        cartHasProduct(product) ? 'cart-has-item' : '',
                                        productTagClasses(product),
                                        hasSplideCarousel ? 'splide__slide' : '',
                                    ]"
                                    aria-label="product"
                                    class="rebuy-product-block"
                                    role="listitem"
                                >
                                    <div class="rebuy-product-media">
                                        <a
                                            class="rebuy-product-image"
                                            tabindex="-1"
                                            v-bind:href="learnMoreURL(product)"
                                            v-bind:style="imageStyles"
                                            v-on:click="learnMore(product, $event);"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                            rel="nofollow"
                                        >
                                            <img v-bind:loading="product_index > 1 ? 'lazy' : 'eager'" v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="itemImageAlt(product, product.selected_variant)">
                                        </a>

                                        <button
                                            class="rebuy-button"
                                            v-if="config.display_type == 'embed'"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                                <svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none">
                                                    <g clip-path="url(#clip0_4267_416)">
                                                        <path d="M0 7.05261C0 7.40758 0.301393 7.70228 0.656367 7.70228H6.39624V13.4421C6.39624 13.7971 6.69093 14.0985 7.04592 14.0985C7.40758 14.0985 7.70228 13.7971 7.70228 13.4421V7.70228H13.4421C13.7971 7.70228 14.0985 7.40758 14.0985 7.05261C14.0985 6.69093 13.7971 6.39624 13.4421 6.39624H7.70228V0.656367C7.70228 0.301393 7.40758 0 7.04592 0C6.69093 0 6.39624 0.301393 6.39624 0.656367V6.39624H0.656367C0.301393 6.39624 0 6.69093 0 7.05261Z" fill="#161819"></path>
                                                    </g>
                                                    <defs>
                                                        <clipPath id="clip0_4267_416">
                                                            <rect width="15.063" height="14.1119" fill="white"></rect>
                                                        </clipPath>
                                                    </defs>
                                                </svg>
                                                
                                        </button>
                                    </div>

                                    <div class="rebuy-product-info">
                                        <p
                                            class="rebuy-product-message"
                                            v-if="config.discount.message
                                                && config.display_type == 'embed'
                                                && isBodiSpotlight(id)"
                                            v-html="config.discount.message"
                                        ></p>

                                        <div
                                            class="rebuy-product-title"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']">
                                            <a
                                                v-bind:href="learnMoreURL(product)"
                                                class="rebuy-product-title-link"
                                                v-on:click="learnMore(product, $event);"
                                                v-html="metadata.custom && metadata.custom.product_title_override
                                                    && metadata.custom.product_title_override ? metadata.custom.product_title_override : product.title"
                                                v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                                v-bind:aria-label="'View ' + product.title"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div
                                            class="rebuy-product-vendor-container"
                                            v-if="showProductVendor(product.vendor)"
                                        >
                                            <a
                                                class="rebuy-product-vendor"
                                                v-bind:class="[hasEnabledProductVendorLink() ? 'clickable' : '']"
                                                v-html="product.vendor"
                                                v-bind:href="vendorURL(product.vendor)"
                                                v-bind:aria-label="'View ' + product.vendor + ' products'"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
                                        <div class="rebuy-product-review" v-if="hasProductReviews(product)" aria-label="product star rating">
                                            <span class="rebuy-star-rating">
                                                <span
                                                    v-if="product.reviews.star_rating"
                                                    class="rebuy-star-rating-value sr-only"
                                                    v-html="product.reviews.star_rating + ' stars out of 5 stars'"
                                                >
                                                </span>
                                                <span class="rebuy-star-rating-background"></span>
                                                <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
                                            </span>
                                            <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
                                        </div>

                                        <div class="rebuy-product-price">
                                            <div v-if="variantOnSale(product, product.selected_variant)">
                                                <span class="rebuy-money compare-at">
                                                    <span class="sr-only">Original price</span>
                                                    <span v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-money sale">
                                                    <span class="sr-only">Sale price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-price-label"
                                                    v-if="metadata.custom
                                                        && metadata.custom.price_label"
                                                    v-html="metadata.custom.price_label"
                                                ></span>
                                            </div>
                                            <div v-if="!(variantOnSale(product, product.selected_variant))">
                                                <span class="rebuy-money">
                                                    <span class="sr-only">Price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                            </div>
                                        </div>

                                        <div v-if="config.display_type == 'embed'" class="rebuy-product-actions">
                                            <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <!-- <div
                                                    v-if="product.subscription_frequencies.length == 1"
                                                    v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                    class="rebuy-fequency-label"
                                                ></div> -->
                                                
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="subscription frequency"
                                                    v-model="product.subscription_frequency"
                                                    v-on:change="updateSubscriptionFrequency(product)"
                                                    v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                    <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                                </select>
                                            </div>

                                            <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                                <div class="rebuy-select-wrapper">
                                                    <label class="rebuy-label">Quantity</label>
                                                    <select
                                                        class="rebuy-select"
                                                        aria-label="product quantity"
                                                        v-model="product.quantity">
                                                        <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                    </select>
                                                </div>
                                            </div>

                                            <button
                                                class="rebuy-button"
                                                v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                                v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                                v-bind:aria-label="buttonAriaLabel(product)"
                                                v-on:click="addToCart(product)"
                                                type="button">
                                                    <span v-html="buttonLabel(product)"></span>
                                            </button>

                                            <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                                <span v-html="declineLabel(product)"></span>
                                            </div>
                                        </div>

                                        <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'cart' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>
                                        
                                        <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
                                    </div>

                                    <div class="rebuy-product-options" v-if="showVariantSelect(product)">
                                        <select
                                            title="Select product variant"
                                            :id="id + '-' + 'select' + '-' + product_index"
                                            :class="{ hide : config.view_options.variant_selector === 'buttons' }"
                                            class="rebuy-select"
                                            v-bind:aria-label="'variant of ' + product.title"
                                            v-model="product.selected_variant_id"
                                            v-on:change="selectVariant(product)">
                                            <option
                                                v-for="variant in product.variants"
                                                class="rebuy-product-options__option"
                                                :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
                                                v-bind:value="variant.id"
                                                :disabled="!variantAvailable(variant)"
                                                v-html="formatVariantOptionTitle(variant)">
                                            </option>
                                        </select>

                                        <div
                                            class="rebuy-product-options__button-swatches-container"
                                            :class="{ 'rebuy-style__hidden-block' : config.view_options.variant_selector === 'select' }"
                                            >
                                            <div
                                                v-for="option in product.options"
                                                :key="'option-' + product.id + '-' + option.name"
                                                class="rebuy-product-options__button-swatches rebuy-size-swatches"
                                                >
                                                <div
                                                    v-for="(value, value_index) in filterOOSOptions(option, product)"
                                                    :key="'value-' + product.id + '-' + option.name + '-' + value + '-' + value_index"
                                                    >
                                                    <div v-if="displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-color-swatch">
                                                        <input
                                                            :name="id + '-color-' + product_index"
                                                            :id="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, 'color')"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-color-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :style="getMerchantThemeColorAssetStyle(value)"
                                                            :title="value"
                                                            class="rebuy-color-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                        </label>
                                                    </div>

                                                    <div v-if="!displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-size-swatch">
                                                        <input
                                                            :name="id + '-' + option.name + '-' + product_index"
                                                            :id="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, option.name)"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-size-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            class="rebuy-size-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                            {{ value }}
                                                        </label>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    
                                    <div v-if="config.display_type != 'embed'" class="rebuy-product-actions">
                                        <div class="subscription-checkbox" v-if="config.display_type != 'embed' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>

                                        <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                            <!-- <div
                                                v-if="product.subscription_frequencies.length == 1"
                                                v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                class="rebuy-fequency-label"
                                            ></div> -->
                                            
                                            <select
                                                class="rebuy-select"
                                                aria-label="subscription frequency"
                                                v-model="product.subscription_frequency"
                                                v-on:change="updateSubscriptionFrequency(product)"
                                                v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                            </select>
                                        </div>

                                        <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                            <div class="rebuy-select-wrapper">
                                                <label class="rebuy-label">Quantity</label>
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="product quantity"
                                                    v-model="product.quantity">
                                                    <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                </select>
                                            </div>
                                        </div>

                                        <button
                                            class="rebuy-button"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                        </button>

                                        <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                            <span v-html="declineLabel(product)"></span>
                                        </div>
                                    </div>

                                    <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'product' && showSubscriptionOptions(product)">
                                        <label class="rebuy-checkbox-label">
                                            <input
                                                class="checkbox-input rebuy-checkbox"
                                                v-model="product.subscription"
                                                v-on:change="toggleSubscription(product)"
                                                type="checkbox"
                                                :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                            />
                                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                            </svg>
                                            <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                        </label>
                                    </div>
                                    
                                    <div class="rebuy-product-disclaimer"
                                        v-if="metadata.custom
                                            && metadata.custom.disclaimer
                                            && metadata.custom.disclaimer != ''"
                                        v-html="metadata.custom.disclaimer"
                                    ></div>

                                </div>

                            </div>
                        </div>

                    </div>
                </div>
            
    </script>
  

  
<script id="rebuy-widget-274645" type="text/template">
            
                <div class="rebuy-widget"
                v-cloak
                v-on:click="stopPropagation($event)"
                v-bind:id="'rebuy-widget-' + id"
                v-bind:class="['widget-type-' + config.type.replace('_','-'), 'widget-display-' + config.display_type, products.length > 0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">

                    <div
                        class="rebuy-widget-container"
                        v-cloak
                        v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]"
                        v-on:click.self="hide()">

                        <div
                            class="rebuy-widget-content"
                            v-bind:class="[isBodiSpotlight(id) ? 'widget-spotlight' : '']"
                        >
                            <div class="rebuy-modal-close" v-on:click="hide()" aria-label="close modal">
                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                    <g clip-path="url(#clip0_5603_464)">
                                        <rect opacity="0.01" width="24" height="24" fill="#E8E8E8"/>
                                        <path fill-rule="evenodd" clip-rule="evenodd" d="M17.8219 17.6852C18.0691 17.4471 18.0599 17.0443 17.8219 16.8062L12.9238 11.9082L17.8219 7.00095C18.0599 6.76291 18.0691 6.36923 17.8219 6.1312C17.5838 5.884 17.181 5.89316 16.943 6.1312L12.0449 11.0293L7.14682 6.1312C6.90878 5.89316 6.50595 5.884 6.26791 6.1312C6.02072 6.36923 6.02988 6.76291 6.26791 7.00095L11.166 11.9082L6.26791 16.8062C6.02988 17.0443 6.02072 17.4471 6.26791 17.6852C6.50595 17.9323 6.90878 17.9232 7.14682 17.6852L12.0449 12.7871L16.943 17.6852C17.181 17.9232 17.5838 17.9323 17.8219 17.6852Z" fill="#161819"/>
                                    </g>
                                    <defs>
                                        <clipPath id="clip0_5603_464">
                                            <rect width="24" height="24" fill="white"/>
                                        </clipPath>
                                    </defs>
                                </svg>
                            </div>

                            <div class="rebuy-timer" v-if="hasTimer()">
                                <p class="rebuy-timer-title" v-if="config.language.timer_title">
                                    <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span>
                                </p>
                            </div>

                            <p
                                class="super-title"
                                v-if="config.language.super_title"
                                v-html="config.language.super_title"
                            ></p>

                            <p class="primary-title"
                                v-if="config.language.title"
                                v-html="config.language.title"
                            ></p>

                            <div class="description" v-if="config.language.description" v-html="config.language.description"></div>

                            <div class="rebuy-product-grid" v-bind:class="layoutClasses" tabindex="0" role="list">

                                <div
                                    v-for="(product, product_index) in products"
                                    v-bind:class="[
                                        product.handle,
                                        'product-id-' + product.id,
                                        cartHasProduct(product) ? 'cart-has-item' : '',
                                        productTagClasses(product),
                                        hasSplideCarousel ? 'splide__slide' : '',
                                    ]"
                                    aria-label="product"
                                    class="rebuy-product-block"
                                    role="listitem"
                                >
                                    <div class="rebuy-product-media">
                                        <a
                                            class="rebuy-product-image"
                                            tabindex="-1"
                                            v-bind:href="learnMoreURL(product)"
                                            v-bind:style="imageStyles"
                                            v-on:click="learnMore(product, $event);"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                            rel="nofollow"
                                        >
                                            <img v-bind:loading="product_index > 1 ? 'lazy' : 'eager'" v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="itemImageAlt(product, product.selected_variant)">
                                        </a>

                                        <button
                                            class="rebuy-button"
                                            v-if="config.display_type == 'embed'"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                                <svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none">
                                                    <g clip-path="url(#clip0_4267_416)">
                                                        <path d="M0 7.05261C0 7.40758 0.301393 7.70228 0.656367 7.70228H6.39624V13.4421C6.39624 13.7971 6.69093 14.0985 7.04592 14.0985C7.40758 14.0985 7.70228 13.7971 7.70228 13.4421V7.70228H13.4421C13.7971 7.70228 14.0985 7.40758 14.0985 7.05261C14.0985 6.69093 13.7971 6.39624 13.4421 6.39624H7.70228V0.656367C7.70228 0.301393 7.40758 0 7.04592 0C6.69093 0 6.39624 0.301393 6.39624 0.656367V6.39624H0.656367C0.301393 6.39624 0 6.69093 0 7.05261Z" fill="#161819"></path>
                                                    </g>
                                                    <defs>
                                                        <clipPath id="clip0_4267_416">
                                                            <rect width="15.063" height="14.1119" fill="white"></rect>
                                                        </clipPath>
                                                    </defs>
                                                </svg>
                                                
                                        </button>
                                    </div>

                                    <div class="rebuy-product-info">
                                        <p
                                            class="rebuy-product-message"
                                            v-if="config.discount.message
                                                && config.display_type == 'embed'
                                                && isBodiSpotlight(id)"
                                            v-html="config.discount.message"
                                        ></p>

                                        <div
                                            class="rebuy-product-title"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']">
                                            <a
                                                v-bind:href="learnMoreURL(product)"
                                                class="rebuy-product-title-link"
                                                v-on:click="learnMore(product, $event);"
                                                v-html="metadata.custom && metadata.custom.product_title_override
                                                    && metadata.custom.product_title_override ? metadata.custom.product_title_override : product.title"
                                                v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                                v-bind:aria-label="'View ' + product.title"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div
                                            class="rebuy-product-vendor-container"
                                            v-if="showProductVendor(product.vendor)"
                                        >
                                            <a
                                                class="rebuy-product-vendor"
                                                v-bind:class="[hasEnabledProductVendorLink() ? 'clickable' : '']"
                                                v-html="product.vendor"
                                                v-bind:href="vendorURL(product.vendor)"
                                                v-bind:aria-label="'View ' + product.vendor + ' products'"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
                                        <div class="rebuy-product-review" v-if="hasProductReviews(product)" aria-label="product star rating">
                                            <span class="rebuy-star-rating">
                                                <span
                                                    v-if="product.reviews.star_rating"
                                                    class="rebuy-star-rating-value sr-only"
                                                    v-html="product.reviews.star_rating + ' stars out of 5 stars'"
                                                >
                                                </span>
                                                <span class="rebuy-star-rating-background"></span>
                                                <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
                                            </span>
                                            <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
                                        </div>

                                        <div class="rebuy-product-price">
                                            <div v-if="variantOnSale(product, product.selected_variant)">
                                                <span class="rebuy-money compare-at">
                                                    <span class="sr-only">Original price</span>
                                                    <span v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-money sale">
                                                    <span class="sr-only">Sale price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-price-label"
                                                    v-if="metadata.custom
                                                        && metadata.custom.price_label"
                                                    v-html="metadata.custom.price_label"
                                                ></span>
                                            </div>
                                            <div v-if="!(variantOnSale(product, product.selected_variant))">
                                                <span class="rebuy-money">
                                                    <span class="sr-only">Price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                            </div>
                                        </div>

                                        <div v-if="config.display_type == 'embed'" class="rebuy-product-actions">
                                            <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <!-- <div
                                                    v-if="product.subscription_frequencies.length == 1"
                                                    v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                    class="rebuy-fequency-label"
                                                ></div> -->
                                                
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="subscription frequency"
                                                    v-model="product.subscription_frequency"
                                                    v-on:change="updateSubscriptionFrequency(product)"
                                                    v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                    <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                                </select>
                                            </div>

                                            <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                                <div class="rebuy-select-wrapper">
                                                    <label class="rebuy-label">Quantity</label>
                                                    <select
                                                        class="rebuy-select"
                                                        aria-label="product quantity"
                                                        v-model="product.quantity">
                                                        <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                    </select>
                                                </div>
                                            </div>

                                            <button
                                                class="rebuy-button"
                                                v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                                v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                                v-bind:aria-label="buttonAriaLabel(product)"
                                                v-on:click="addToCart(product)"
                                                type="button">
                                                    <span v-html="buttonLabel(product)"></span>
                                            </button>

                                            <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                                <span v-html="declineLabel(product)"></span>
                                            </div>
                                        </div>

                                        <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'cart' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>
                                        
                                        <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
                                    </div>

                                    <div class="rebuy-product-options" v-if="showVariantSelect(product)">
                                        <select
                                            title="Select product variant"
                                            :id="id + '-' + 'select' + '-' + product_index"
                                            :class="{ hide : config.view_options.variant_selector === 'buttons' }"
                                            class="rebuy-select"
                                            v-bind:aria-label="'variant of ' + product.title"
                                            v-model="product.selected_variant_id"
                                            v-on:change="selectVariant(product)">
                                            <option
                                                v-for="variant in product.variants"
                                                class="rebuy-product-options__option"
                                                :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
                                                v-bind:value="variant.id"
                                                :disabled="!variantAvailable(variant)"
                                                v-html="formatVariantOptionTitle(variant)">
                                            </option>
                                        </select>

                                        <div
                                            class="rebuy-product-options__button-swatches-container"
                                            :class="{ 'rebuy-style__hidden-block' : config.view_options.variant_selector === 'select' }"
                                            >
                                            <div
                                                v-for="option in product.options"
                                                :key="'option-' + product.id + '-' + option.name"
                                                class="rebuy-product-options__button-swatches rebuy-size-swatches"
                                                >
                                                <div
                                                    v-for="(value, value_index) in filterOOSOptions(option, product)"
                                                    :key="'value-' + product.id + '-' + option.name + '-' + value + '-' + value_index"
                                                    >
                                                    <div v-if="displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-color-swatch">
                                                        <input
                                                            :name="id + '-color-' + product_index"
                                                            :id="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, 'color')"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-color-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :style="getMerchantThemeColorAssetStyle(value)"
                                                            :title="value"
                                                            class="rebuy-color-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                        </label>
                                                    </div>

                                                    <div v-if="!displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-size-swatch">
                                                        <input
                                                            :name="id + '-' + option.name + '-' + product_index"
                                                            :id="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, option.name)"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-size-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            class="rebuy-size-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                            {{ value }}
                                                        </label>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    
                                    <div v-if="config.display_type != 'embed'" class="rebuy-product-actions">
                                        <div class="subscription-checkbox" v-if="config.display_type != 'embed' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>

                                        <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                            <!-- <div
                                                v-if="product.subscription_frequencies.length == 1"
                                                v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                class="rebuy-fequency-label"
                                            ></div> -->
                                            
                                            <select
                                                class="rebuy-select"
                                                aria-label="subscription frequency"
                                                v-model="product.subscription_frequency"
                                                v-on:change="updateSubscriptionFrequency(product)"
                                                v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                            </select>
                                        </div>

                                        <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                            <div class="rebuy-select-wrapper">
                                                <label class="rebuy-label">Quantity</label>
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="product quantity"
                                                    v-model="product.quantity">
                                                    <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                </select>
                                            </div>
                                        </div>

                                        <button
                                            class="rebuy-button"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                        </button>

                                        <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                            <span v-html="declineLabel(product)"></span>
                                        </div>
                                    </div>

                                    <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'product' && showSubscriptionOptions(product)">
                                        <label class="rebuy-checkbox-label">
                                            <input
                                                class="checkbox-input rebuy-checkbox"
                                                v-model="product.subscription"
                                                v-on:change="toggleSubscription(product)"
                                                type="checkbox"
                                                :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                            />
                                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                            </svg>
                                            <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                        </label>
                                    </div>
                                    
                                    <div class="rebuy-product-disclaimer"
                                        v-if="metadata.custom
                                            && metadata.custom.disclaimer
                                            && metadata.custom.disclaimer != ''"
                                        v-html="metadata.custom.disclaimer"
                                    ></div>

                                </div>

                            </div>
                        </div>

                    </div>
                </div>
            
    </script>
  

  
<script id="rebuy-widget-298800" type="text/template">
            
                <div class="rebuy-widget"
                v-cloak
                v-on:click="stopPropagation($event)"
                v-bind:id="'rebuy-widget-' + id"
                v-bind:class="['widget-type-' + config.type.replace('_','-'), 'widget-display-' + config.display_type, products.length > 0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">

                    <div
                        class="rebuy-widget-container"
                        v-cloak
                        v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]"
                        v-on:click.self="hide()">

                        <div
                            class="rebuy-widget-content"
                            v-bind:class="[isBodiSpotlight(id) ? 'widget-spotlight' : '']"
                        >
                            <div class="rebuy-modal-close" v-on:click="hide()" aria-label="close modal">
                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                    <g clip-path="url(#clip0_5603_464)">
                                        <rect opacity="0.01" width="24" height="24" fill="#E8E8E8"/>
                                        <path fill-rule="evenodd" clip-rule="evenodd" d="M17.8219 17.6852C18.0691 17.4471 18.0599 17.0443 17.8219 16.8062L12.9238 11.9082L17.8219 7.00095C18.0599 6.76291 18.0691 6.36923 17.8219 6.1312C17.5838 5.884 17.181 5.89316 16.943 6.1312L12.0449 11.0293L7.14682 6.1312C6.90878 5.89316 6.50595 5.884 6.26791 6.1312C6.02072 6.36923 6.02988 6.76291 6.26791 7.00095L11.166 11.9082L6.26791 16.8062C6.02988 17.0443 6.02072 17.4471 6.26791 17.6852C6.50595 17.9323 6.90878 17.9232 7.14682 17.6852L12.0449 12.7871L16.943 17.6852C17.181 17.9232 17.5838 17.9323 17.8219 17.6852Z" fill="#161819"/>
                                    </g>
                                    <defs>
                                        <clipPath id="clip0_5603_464">
                                            <rect width="24" height="24" fill="white"/>
                                        </clipPath>
                                    </defs>
                                </svg>
                            </div>

                            <div class="rebuy-timer" v-if="hasTimer()">
                                <p class="rebuy-timer-title" v-if="config.language.timer_title">
                                    <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span>
                                </p>
                            </div>

                            <p
                                class="super-title"
                                v-if="config.language.super_title"
                                v-html="config.language.super_title"
                            ></p>

                            <p class="primary-title"
                                v-if="config.language.title"
                                v-html="config.language.title"
                            ></p>

                            <div class="description" v-if="config.language.description" v-html="config.language.description"></div>

                            <div class="rebuy-product-grid" v-bind:class="layoutClasses" tabindex="0" role="list">

                                <div
                                    v-for="(product, product_index) in products"
                                    v-bind:class="[
                                        product.handle,
                                        'product-id-' + product.id,
                                        cartHasProduct(product) ? 'cart-has-item' : '',
                                        productTagClasses(product),
                                        hasSplideCarousel ? 'splide__slide' : '',
                                    ]"
                                    aria-label="product"
                                    class="rebuy-product-block"
                                    role="listitem"
                                >
                                    <div class="rebuy-product-media">
                                        <a
                                            class="rebuy-product-image"
                                            tabindex="-1"
                                            v-bind:href="learnMoreURL(product)"
                                            v-bind:style="imageStyles"
                                            v-on:click="learnMore(product, $event);"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                            rel="nofollow"
                                        >
                                            <img v-bind:loading="product_index > 1 ? 'lazy' : 'eager'" v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="itemImageAlt(product, product.selected_variant)">
                                        </a>

                                        <button
                                            class="rebuy-button"
                                            v-if="config.display_type == 'embed'"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                                <svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none">
                                                    <g clip-path="url(#clip0_4267_416)">
                                                        <path d="M0 7.05261C0 7.40758 0.301393 7.70228 0.656367 7.70228H6.39624V13.4421C6.39624 13.7971 6.69093 14.0985 7.04592 14.0985C7.40758 14.0985 7.70228 13.7971 7.70228 13.4421V7.70228H13.4421C13.7971 7.70228 14.0985 7.40758 14.0985 7.05261C14.0985 6.69093 13.7971 6.39624 13.4421 6.39624H7.70228V0.656367C7.70228 0.301393 7.40758 0 7.04592 0C6.69093 0 6.39624 0.301393 6.39624 0.656367V6.39624H0.656367C0.301393 6.39624 0 6.69093 0 7.05261Z" fill="#161819"></path>
                                                    </g>
                                                    <defs>
                                                        <clipPath id="clip0_4267_416">
                                                            <rect width="15.063" height="14.1119" fill="white"></rect>
                                                        </clipPath>
                                                    </defs>
                                                </svg>
                                                
                                        </button>
                                    </div>

                                    <div class="rebuy-product-info">
                                        <p
                                            class="rebuy-product-message"
                                            v-if="config.discount.message
                                                && config.display_type == 'embed'
                                                && isBodiSpotlight(id)"
                                            v-html="config.discount.message"
                                        ></p>

                                        <div
                                            class="rebuy-product-title"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']">
                                            <a
                                                v-bind:href="learnMoreURL(product)"
                                                class="rebuy-product-title-link"
                                                v-on:click="learnMore(product, $event);"
                                                v-html="metadata.custom && metadata.custom.product_title_override
                                                    && metadata.custom.product_title_override ? metadata.custom.product_title_override : product.title"
                                                v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                                v-bind:aria-label="'View ' + product.title"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div
                                            class="rebuy-product-vendor-container"
                                            v-if="showProductVendor(product.vendor)"
                                        >
                                            <a
                                                class="rebuy-product-vendor"
                                                v-bind:class="[hasEnabledProductVendorLink() ? 'clickable' : '']"
                                                v-html="product.vendor"
                                                v-bind:href="vendorURL(product.vendor)"
                                                v-bind:aria-label="'View ' + product.vendor + ' products'"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
                                        <div class="rebuy-product-review" v-if="hasProductReviews(product)" aria-label="product star rating">
                                            <span class="rebuy-star-rating">
                                                <span
                                                    v-if="product.reviews.star_rating"
                                                    class="rebuy-star-rating-value sr-only"
                                                    v-html="product.reviews.star_rating + ' stars out of 5 stars'"
                                                >
                                                </span>
                                                <span class="rebuy-star-rating-background"></span>
                                                <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
                                            </span>
                                            <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
                                        </div>

                                        <div class="rebuy-product-price">
                                            <div v-if="variantOnSale(product, product.selected_variant)">
                                                <span class="rebuy-money compare-at">
                                                    <span class="sr-only">Original price</span>
                                                    <span v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-money sale">
                                                    <span class="sr-only">Sale price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-price-label"
                                                    v-if="metadata.custom
                                                        && metadata.custom.price_label"
                                                    v-html="metadata.custom.price_label"
                                                ></span>
                                            </div>
                                            <div v-if="!(variantOnSale(product, product.selected_variant))">
                                                <span class="rebuy-money">
                                                    <span class="sr-only">Price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                            </div>
                                        </div>

                                        <div v-if="config.display_type == 'embed'" class="rebuy-product-actions">
                                            <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <!-- <div
                                                    v-if="product.subscription_frequencies.length == 1"
                                                    v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                    class="rebuy-fequency-label"
                                                ></div> -->
                                                
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="subscription frequency"
                                                    v-model="product.subscription_frequency"
                                                    v-on:change="updateSubscriptionFrequency(product)"
                                                    v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                    <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                                </select>
                                            </div>

                                            <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                                <div class="rebuy-select-wrapper">
                                                    <label class="rebuy-label">Quantity</label>
                                                    <select
                                                        class="rebuy-select"
                                                        aria-label="product quantity"
                                                        v-model="product.quantity">
                                                        <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                    </select>
                                                </div>
                                            </div>

                                            <button
                                                class="rebuy-button"
                                                v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                                v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                                v-bind:aria-label="buttonAriaLabel(product)"
                                                v-on:click="addToCart(product)"
                                                type="button">
                                                    <span v-html="buttonLabel(product)"></span>
                                            </button>

                                            <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                                <span v-html="declineLabel(product)"></span>
                                            </div>
                                        </div>

                                        <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'cart' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>
                                        
                                        <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
                                    </div>

                                    <div class="rebuy-product-options" v-if="showVariantSelect(product)">
                                        <select
                                            title="Select product variant"
                                            :id="id + '-' + 'select' + '-' + product_index"
                                            :class="{ hide : config.view_options.variant_selector === 'buttons' }"
                                            class="rebuy-select"
                                            v-bind:aria-label="'variant of ' + product.title"
                                            v-model="product.selected_variant_id"
                                            v-on:change="selectVariant(product)">
                                            <option
                                                v-for="variant in product.variants"
                                                class="rebuy-product-options__option"
                                                :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
                                                v-bind:value="variant.id"
                                                :disabled="!variantAvailable(variant)"
                                                v-html="formatVariantOptionTitle(variant)">
                                            </option>
                                        </select>

                                        <div
                                            class="rebuy-product-options__button-swatches-container"
                                            :class="{ 'rebuy-style__hidden-block' : config.view_options.variant_selector === 'select' }"
                                            >
                                            <div
                                                v-for="option in product.options"
                                                :key="'option-' + product.id + '-' + option.name"
                                                class="rebuy-product-options__button-swatches rebuy-size-swatches"
                                                >
                                                <div
                                                    v-for="(value, value_index) in filterOOSOptions(option, product)"
                                                    :key="'value-' + product.id + '-' + option.name + '-' + value + '-' + value_index"
                                                    >
                                                    <div v-if="displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-color-swatch">
                                                        <input
                                                            :name="id + '-color-' + product_index"
                                                            :id="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, 'color')"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-color-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :style="getMerchantThemeColorAssetStyle(value)"
                                                            :title="value"
                                                            class="rebuy-color-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                        </label>
                                                    </div>

                                                    <div v-if="!displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-size-swatch">
                                                        <input
                                                            :name="id + '-' + option.name + '-' + product_index"
                                                            :id="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, option.name)"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-size-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            class="rebuy-size-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                            {{ value }}
                                                        </label>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    
                                    <div v-if="config.display_type != 'embed'" class="rebuy-product-actions">
                                        <div class="subscription-checkbox" v-if="config.display_type != 'embed' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>

                                        <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                            <!-- <div
                                                v-if="product.subscription_frequencies.length == 1"
                                                v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                class="rebuy-fequency-label"
                                            ></div> -->
                                            
                                            <select
                                                class="rebuy-select"
                                                aria-label="subscription frequency"
                                                v-model="product.subscription_frequency"
                                                v-on:change="updateSubscriptionFrequency(product)"
                                                v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                            </select>
                                        </div>

                                        <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                            <div class="rebuy-select-wrapper">
                                                <label class="rebuy-label">Quantity</label>
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="product quantity"
                                                    v-model="product.quantity">
                                                    <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                </select>
                                            </div>
                                        </div>

                                        <button
                                            class="rebuy-button"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                        </button>

                                        <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                            <span v-html="declineLabel(product)"></span>
                                        </div>
                                    </div>

                                    <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'product' && showSubscriptionOptions(product)">
                                        <label class="rebuy-checkbox-label">
                                            <input
                                                class="checkbox-input rebuy-checkbox"
                                                v-model="product.subscription"
                                                v-on:change="toggleSubscription(product)"
                                                type="checkbox"
                                                :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                            />
                                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                            </svg>
                                            <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                        </label>
                                    </div>
                                    
                                    <div class="rebuy-product-disclaimer"
                                        v-if="metadata.custom
                                            && metadata.custom.disclaimer
                                            && metadata.custom.disclaimer != ''"
                                        v-html="metadata.custom.disclaimer"
                                    ></div>

                                </div>

                            </div>
                        </div>

                    </div>
                </div>
            
    </script>
  

  
<script id="rebuy-widget-274634" type="text/template">
            
                <div class="rebuy-widget"
                v-cloak
                v-on:click="stopPropagation($event)"
                v-bind:id="'rebuy-widget-' + id"
                v-bind:class="['widget-type-' + config.type.replace('_','-'), 'widget-display-' + config.display_type, products.length > 0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">

                    <div
                        class="rebuy-widget-container"
                        v-cloak
                        v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]"
                        v-on:click.self="hide()">

                        <div
                            class="rebuy-widget-content"
                            v-bind:class="[isBodiSpotlight(id) ? 'widget-spotlight' : '']"
                        >
                            <div class="rebuy-modal-close" v-on:click="hide()" aria-label="close modal">
                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                    <g clip-path="url(#clip0_5603_464)">
                                        <rect opacity="0.01" width="24" height="24" fill="#E8E8E8"/>
                                        <path fill-rule="evenodd" clip-rule="evenodd" d="M17.8219 17.6852C18.0691 17.4471 18.0599 17.0443 17.8219 16.8062L12.9238 11.9082L17.8219 7.00095C18.0599 6.76291 18.0691 6.36923 17.8219 6.1312C17.5838 5.884 17.181 5.89316 16.943 6.1312L12.0449 11.0293L7.14682 6.1312C6.90878 5.89316 6.50595 5.884 6.26791 6.1312C6.02072 6.36923 6.02988 6.76291 6.26791 7.00095L11.166 11.9082L6.26791 16.8062C6.02988 17.0443 6.02072 17.4471 6.26791 17.6852C6.50595 17.9323 6.90878 17.9232 7.14682 17.6852L12.0449 12.7871L16.943 17.6852C17.181 17.9232 17.5838 17.9323 17.8219 17.6852Z" fill="#161819"/>
                                    </g>
                                    <defs>
                                        <clipPath id="clip0_5603_464">
                                            <rect width="24" height="24" fill="white"/>
                                        </clipPath>
                                    </defs>
                                </svg>
                            </div>

                            <div class="rebuy-timer" v-if="hasTimer()">
                                <p class="rebuy-timer-title" v-if="config.language.timer_title">
                                    <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span>
                                </p>
                            </div>

                            <p
                                class="super-title"
                                v-if="config.language.super_title"
                                v-html="config.language.super_title"
                            ></p>

                            <p class="primary-title"
                                v-if="config.language.title"
                                v-html="config.language.title"
                            ></p>

                            <div class="description" v-if="config.language.description" v-html="config.language.description"></div>

                            <div class="rebuy-product-grid" v-bind:class="layoutClasses" tabindex="0" role="list">

                                <div
                                    v-for="(product, product_index) in products"
                                    v-bind:class="[
                                        product.handle,
                                        'product-id-' + product.id,
                                        cartHasProduct(product) ? 'cart-has-item' : '',
                                        productTagClasses(product),
                                        hasSplideCarousel ? 'splide__slide' : '',
                                    ]"
                                    aria-label="product"
                                    class="rebuy-product-block"
                                    role="listitem"
                                >
                                    <div class="rebuy-product-media">
                                        <a
                                            class="rebuy-product-image"
                                            tabindex="-1"
                                            v-bind:href="learnMoreURL(product)"
                                            v-bind:style="imageStyles"
                                            v-on:click="learnMore(product, $event);"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                            rel="nofollow"
                                        >
                                            <img v-bind:loading="product_index > 1 ? 'lazy' : 'eager'" v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="itemImageAlt(product, product.selected_variant)">
                                        </a>

                                        <button
                                            class="rebuy-button"
                                            v-if="config.display_type == 'embed'"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                                <svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none">
                                                    <g clip-path="url(#clip0_4267_416)">
                                                        <path d="M0 7.05261C0 7.40758 0.301393 7.70228 0.656367 7.70228H6.39624V13.4421C6.39624 13.7971 6.69093 14.0985 7.04592 14.0985C7.40758 14.0985 7.70228 13.7971 7.70228 13.4421V7.70228H13.4421C13.7971 7.70228 14.0985 7.40758 14.0985 7.05261C14.0985 6.69093 13.7971 6.39624 13.4421 6.39624H7.70228V0.656367C7.70228 0.301393 7.40758 0 7.04592 0C6.69093 0 6.39624 0.301393 6.39624 0.656367V6.39624H0.656367C0.301393 6.39624 0 6.69093 0 7.05261Z" fill="#161819"></path>
                                                    </g>
                                                    <defs>
                                                        <clipPath id="clip0_4267_416">
                                                            <rect width="15.063" height="14.1119" fill="white"></rect>
                                                        </clipPath>
                                                    </defs>
                                                </svg>
                                                
                                        </button>
                                    </div>

                                    <div class="rebuy-product-info">
                                        <p
                                            class="rebuy-product-message"
                                            v-if="config.discount.message
                                                && config.display_type == 'embed'
                                                && isBodiSpotlight(id)"
                                            v-html="config.discount.message"
                                        ></p>

                                        <div
                                            class="rebuy-product-title"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']">
                                            <a
                                                v-bind:href="learnMoreURL(product)"
                                                class="rebuy-product-title-link"
                                                v-on:click="learnMore(product, $event);"
                                                v-html="metadata.custom && metadata.custom.product_title_override
                                                    && metadata.custom.product_title_override ? metadata.custom.product_title_override : product.title"
                                                v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                                v-bind:aria-label="'View ' + product.title"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div
                                            class="rebuy-product-vendor-container"
                                            v-if="showProductVendor(product.vendor)"
                                        >
                                            <a
                                                class="rebuy-product-vendor"
                                                v-bind:class="[hasEnabledProductVendorLink() ? 'clickable' : '']"
                                                v-html="product.vendor"
                                                v-bind:href="vendorURL(product.vendor)"
                                                v-bind:aria-label="'View ' + product.vendor + ' products'"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
                                        <div class="rebuy-product-review" v-if="hasProductReviews(product)" aria-label="product star rating">
                                            <span class="rebuy-star-rating">
                                                <span
                                                    v-if="product.reviews.star_rating"
                                                    class="rebuy-star-rating-value sr-only"
                                                    v-html="product.reviews.star_rating + ' stars out of 5 stars'"
                                                >
                                                </span>
                                                <span class="rebuy-star-rating-background"></span>
                                                <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
                                            </span>
                                            <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
                                        </div>

                                        <div class="rebuy-product-price">
                                            <div v-if="variantOnSale(product, product.selected_variant)">
                                                <span class="rebuy-money compare-at">
                                                    <span class="sr-only">Original price</span>
                                                    <span v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-money sale">
                                                    <span class="sr-only">Sale price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-price-label"
                                                    v-if="metadata.custom
                                                        && metadata.custom.price_label"
                                                    v-html="metadata.custom.price_label"
                                                ></span>
                                            </div>
                                            <div v-if="!(variantOnSale(product, product.selected_variant))">
                                                <span class="rebuy-money">
                                                    <span class="sr-only">Price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                            </div>
                                        </div>

                                        <div v-if="config.display_type == 'embed'" class="rebuy-product-actions">
                                            <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <!-- <div
                                                    v-if="product.subscription_frequencies.length == 1"
                                                    v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                    class="rebuy-fequency-label"
                                                ></div> -->
                                                
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="subscription frequency"
                                                    v-model="product.subscription_frequency"
                                                    v-on:change="updateSubscriptionFrequency(product)"
                                                    v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                    <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                                </select>
                                            </div>

                                            <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                                <div class="rebuy-select-wrapper">
                                                    <label class="rebuy-label">Quantity</label>
                                                    <select
                                                        class="rebuy-select"
                                                        aria-label="product quantity"
                                                        v-model="product.quantity">
                                                        <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                    </select>
                                                </div>
                                            </div>

                                            <button
                                                class="rebuy-button"
                                                v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                                v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                                v-bind:aria-label="buttonAriaLabel(product)"
                                                v-on:click="addToCart(product)"
                                                type="button">
                                                    <span v-html="buttonLabel(product)"></span>
                                            </button>

                                            <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                                <span v-html="declineLabel(product)"></span>
                                            </div>
                                        </div>

                                        <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'cart' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>
                                        
                                        <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
                                    </div>

                                    <div class="rebuy-product-options" v-if="showVariantSelect(product)">
                                        <select
                                            title="Select product variant"
                                            :id="id + '-' + 'select' + '-' + product_index"
                                            :class="{ hide : config.view_options.variant_selector === 'buttons' }"
                                            class="rebuy-select"
                                            v-bind:aria-label="'variant of ' + product.title"
                                            v-model="product.selected_variant_id"
                                            v-on:change="selectVariant(product)">
                                            <option
                                                v-for="variant in product.variants"
                                                class="rebuy-product-options__option"
                                                :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
                                                v-bind:value="variant.id"
                                                :disabled="!variantAvailable(variant)"
                                                v-html="formatVariantOptionTitle(variant)">
                                            </option>
                                        </select>

                                        <div
                                            class="rebuy-product-options__button-swatches-container"
                                            :class="{ 'rebuy-style__hidden-block' : config.view_options.variant_selector === 'select' }"
                                            >
                                            <div
                                                v-for="option in product.options"
                                                :key="'option-' + product.id + '-' + option.name"
                                                class="rebuy-product-options__button-swatches rebuy-size-swatches"
                                                >
                                                <div
                                                    v-for="(value, value_index) in filterOOSOptions(option, product)"
                                                    :key="'value-' + product.id + '-' + option.name + '-' + value + '-' + value_index"
                                                    >
                                                    <div v-if="displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-color-swatch">
                                                        <input
                                                            :name="id + '-color-' + product_index"
                                                            :id="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, 'color')"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-color-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :style="getMerchantThemeColorAssetStyle(value)"
                                                            :title="value"
                                                            class="rebuy-color-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                        </label>
                                                    </div>

                                                    <div v-if="!displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-size-swatch">
                                                        <input
                                                            :name="id + '-' + option.name + '-' + product_index"
                                                            :id="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, option.name)"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-size-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            class="rebuy-size-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                            {{ value }}
                                                        </label>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    
                                    <div v-if="config.display_type != 'embed'" class="rebuy-product-actions">
                                        <div class="subscription-checkbox" v-if="config.display_type != 'embed' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>

                                        <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                            <!-- <div
                                                v-if="product.subscription_frequencies.length == 1"
                                                v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                class="rebuy-fequency-label"
                                            ></div> -->
                                            
                                            <select
                                                class="rebuy-select"
                                                aria-label="subscription frequency"
                                                v-model="product.subscription_frequency"
                                                v-on:change="updateSubscriptionFrequency(product)"
                                                v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                            </select>
                                        </div>

                                        <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                            <div class="rebuy-select-wrapper">
                                                <label class="rebuy-label">Quantity</label>
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="product quantity"
                                                    v-model="product.quantity">
                                                    <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                </select>
                                            </div>
                                        </div>

                                        <button
                                            class="rebuy-button"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                        </button>

                                        <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                            <span v-html="declineLabel(product)"></span>
                                        </div>
                                    </div>

                                    <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'product' && showSubscriptionOptions(product)">
                                        <label class="rebuy-checkbox-label">
                                            <input
                                                class="checkbox-input rebuy-checkbox"
                                                v-model="product.subscription"
                                                v-on:change="toggleSubscription(product)"
                                                type="checkbox"
                                                :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                            />
                                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                            </svg>
                                            <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                        </label>
                                    </div>
                                    
                                    <div class="rebuy-product-disclaimer"
                                        v-if="metadata.custom
                                            && metadata.custom.disclaimer
                                            && metadata.custom.disclaimer != ''"
                                        v-html="metadata.custom.disclaimer"
                                    ></div>

                                </div>

                            </div>
                        </div>

                    </div>
                </div>
            
    </script>
  

  
<script id="rebuy-widget-274648" type="text/template">
            
                <div class="rebuy-widget"
                v-cloak
                v-on:click="stopPropagation($event)"
                v-bind:id="'rebuy-widget-' + id"
                v-bind:class="['widget-type-' + config.type.replace('_','-'), 'widget-display-' + config.display_type, products.length > 0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">

                    <div
                        class="rebuy-widget-container"
                        v-cloak
                        v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]"
                        v-on:click.self="hide()">

                        <div
                            class="rebuy-widget-content"
                            v-bind:class="[isBodiSpotlight(id) ? 'widget-spotlight' : '']"
                        >
                            <div class="rebuy-modal-close" v-on:click="hide()" aria-label="close modal">
                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                    <g clip-path="url(#clip0_5603_464)">
                                        <rect opacity="0.01" width="24" height="24" fill="#E8E8E8"/>
                                        <path fill-rule="evenodd" clip-rule="evenodd" d="M17.8219 17.6852C18.0691 17.4471 18.0599 17.0443 17.8219 16.8062L12.9238 11.9082L17.8219 7.00095C18.0599 6.76291 18.0691 6.36923 17.8219 6.1312C17.5838 5.884 17.181 5.89316 16.943 6.1312L12.0449 11.0293L7.14682 6.1312C6.90878 5.89316 6.50595 5.884 6.26791 6.1312C6.02072 6.36923 6.02988 6.76291 6.26791 7.00095L11.166 11.9082L6.26791 16.8062C6.02988 17.0443 6.02072 17.4471 6.26791 17.6852C6.50595 17.9323 6.90878 17.9232 7.14682 17.6852L12.0449 12.7871L16.943 17.6852C17.181 17.9232 17.5838 17.9323 17.8219 17.6852Z" fill="#161819"/>
                                    </g>
                                    <defs>
                                        <clipPath id="clip0_5603_464">
                                            <rect width="24" height="24" fill="white"/>
                                        </clipPath>
                                    </defs>
                                </svg>
                            </div>

                            <div class="rebuy-timer" v-if="hasTimer()">
                                <p class="rebuy-timer-title" v-if="config.language.timer_title">
                                    <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span>
                                </p>
                            </div>

                            <p
                                class="super-title"
                                v-if="config.language.super_title"
                                v-html="config.language.super_title"
                            ></p>

                            <p class="primary-title"
                                v-if="config.language.title"
                                v-html="config.language.title"
                            ></p>

                            <div class="description" v-if="config.language.description" v-html="config.language.description"></div>

                            <div class="rebuy-product-grid" v-bind:class="layoutClasses" tabindex="0" role="list">

                                <div
                                    v-for="(product, product_index) in products"
                                    v-bind:class="[
                                        product.handle,
                                        'product-id-' + product.id,
                                        cartHasProduct(product) ? 'cart-has-item' : '',
                                        productTagClasses(product),
                                        hasSplideCarousel ? 'splide__slide' : '',
                                    ]"
                                    aria-label="product"
                                    class="rebuy-product-block"
                                    role="listitem"
                                >
                                    <div class="rebuy-product-media">
                                        <a
                                            class="rebuy-product-image"
                                            tabindex="-1"
                                            v-bind:href="learnMoreURL(product)"
                                            v-bind:style="imageStyles"
                                            v-on:click="learnMore(product, $event);"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                            rel="nofollow"
                                        >
                                            <img v-bind:loading="product_index > 1 ? 'lazy' : 'eager'" v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="itemImageAlt(product, product.selected_variant)">
                                        </a>

                                        <button
                                            class="rebuy-button"
                                            v-if="config.display_type == 'embed'"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                                <svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none">
                                                    <g clip-path="url(#clip0_4267_416)">
                                                        <path d="M0 7.05261C0 7.40758 0.301393 7.70228 0.656367 7.70228H6.39624V13.4421C6.39624 13.7971 6.69093 14.0985 7.04592 14.0985C7.40758 14.0985 7.70228 13.7971 7.70228 13.4421V7.70228H13.4421C13.7971 7.70228 14.0985 7.40758 14.0985 7.05261C14.0985 6.69093 13.7971 6.39624 13.4421 6.39624H7.70228V0.656367C7.70228 0.301393 7.40758 0 7.04592 0C6.69093 0 6.39624 0.301393 6.39624 0.656367V6.39624H0.656367C0.301393 6.39624 0 6.69093 0 7.05261Z" fill="#161819"></path>
                                                    </g>
                                                    <defs>
                                                        <clipPath id="clip0_4267_416">
                                                            <rect width="15.063" height="14.1119" fill="white"></rect>
                                                        </clipPath>
                                                    </defs>
                                                </svg>
                                                
                                        </button>
                                    </div>

                                    <div class="rebuy-product-info">
                                        <p
                                            class="rebuy-product-message"
                                            v-if="config.discount.message
                                                && config.display_type == 'embed'
                                                && isBodiSpotlight(id)"
                                            v-html="config.discount.message"
                                        ></p>

                                        <div
                                            class="rebuy-product-title"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']">
                                            <a
                                                v-bind:href="learnMoreURL(product)"
                                                class="rebuy-product-title-link"
                                                v-on:click="learnMore(product, $event);"
                                                v-html="metadata.custom && metadata.custom.product_title_override
                                                    && metadata.custom.product_title_override ? metadata.custom.product_title_override : product.title"
                                                v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                                v-bind:aria-label="'View ' + product.title"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div
                                            class="rebuy-product-vendor-container"
                                            v-if="showProductVendor(product.vendor)"
                                        >
                                            <a
                                                class="rebuy-product-vendor"
                                                v-bind:class="[hasEnabledProductVendorLink() ? 'clickable' : '']"
                                                v-html="product.vendor"
                                                v-bind:href="vendorURL(product.vendor)"
                                                v-bind:aria-label="'View ' + product.vendor + ' products'"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
                                        <div class="rebuy-product-review" v-if="hasProductReviews(product)" aria-label="product star rating">
                                            <span class="rebuy-star-rating">
                                                <span
                                                    v-if="product.reviews.star_rating"
                                                    class="rebuy-star-rating-value sr-only"
                                                    v-html="product.reviews.star_rating + ' stars out of 5 stars'"
                                                >
                                                </span>
                                                <span class="rebuy-star-rating-background"></span>
                                                <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
                                            </span>
                                            <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
                                        </div>

                                        <div class="rebuy-product-price">
                                            <div v-if="variantOnSale(product, product.selected_variant)">
                                                <span class="rebuy-money compare-at">
                                                    <span class="sr-only">Original price</span>
                                                    <span v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-money sale">
                                                    <span class="sr-only">Sale price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-price-label"
                                                    v-if="metadata.custom
                                                        && metadata.custom.price_label"
                                                    v-html="metadata.custom.price_label"
                                                ></span>
                                            </div>
                                            <div v-if="!(variantOnSale(product, product.selected_variant))">
                                                <span class="rebuy-money">
                                                    <span class="sr-only">Price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                            </div>
                                        </div>

                                        <div v-if="config.display_type == 'embed'" class="rebuy-product-actions">
                                            <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <!-- <div
                                                    v-if="product.subscription_frequencies.length == 1"
                                                    v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                    class="rebuy-fequency-label"
                                                ></div> -->
                                                
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="subscription frequency"
                                                    v-model="product.subscription_frequency"
                                                    v-on:change="updateSubscriptionFrequency(product)"
                                                    v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                    <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                                </select>
                                            </div>

                                            <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                                <div class="rebuy-select-wrapper">
                                                    <label class="rebuy-label">Quantity</label>
                                                    <select
                                                        class="rebuy-select"
                                                        aria-label="product quantity"
                                                        v-model="product.quantity">
                                                        <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                    </select>
                                                </div>
                                            </div>

                                            <button
                                                class="rebuy-button"
                                                v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                                v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                                v-bind:aria-label="buttonAriaLabel(product)"
                                                v-on:click="addToCart(product)"
                                                type="button">
                                                    <span v-html="buttonLabel(product)"></span>
                                            </button>

                                            <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                                <span v-html="declineLabel(product)"></span>
                                            </div>
                                        </div>

                                        <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'cart' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>
                                        
                                        <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
                                    </div>

                                    <div class="rebuy-product-options" v-if="showVariantSelect(product)">
                                        <select
                                            title="Select product variant"
                                            :id="id + '-' + 'select' + '-' + product_index"
                                            :class="{ hide : config.view_options.variant_selector === 'buttons' }"
                                            class="rebuy-select"
                                            v-bind:aria-label="'variant of ' + product.title"
                                            v-model="product.selected_variant_id"
                                            v-on:change="selectVariant(product)">
                                            <option
                                                v-for="variant in product.variants"
                                                class="rebuy-product-options__option"
                                                :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
                                                v-bind:value="variant.id"
                                                :disabled="!variantAvailable(variant)"
                                                v-html="formatVariantOptionTitle(variant)">
                                            </option>
                                        </select>

                                        <div
                                            class="rebuy-product-options__button-swatches-container"
                                            :class="{ 'rebuy-style__hidden-block' : config.view_options.variant_selector === 'select' }"
                                            >
                                            <div
                                                v-for="option in product.options"
                                                :key="'option-' + product.id + '-' + option.name"
                                                class="rebuy-product-options__button-swatches rebuy-size-swatches"
                                                >
                                                <div
                                                    v-for="(value, value_index) in filterOOSOptions(option, product)"
                                                    :key="'value-' + product.id + '-' + option.name + '-' + value + '-' + value_index"
                                                    >
                                                    <div v-if="displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-color-swatch">
                                                        <input
                                                            :name="id + '-color-' + product_index"
                                                            :id="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, 'color')"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-color-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :style="getMerchantThemeColorAssetStyle(value)"
                                                            :title="value"
                                                            class="rebuy-color-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                        </label>
                                                    </div>

                                                    <div v-if="!displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-size-swatch">
                                                        <input
                                                            :name="id + '-' + option.name + '-' + product_index"
                                                            :id="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, option.name)"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-size-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            class="rebuy-size-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                            {{ value }}
                                                        </label>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    
                                    <div v-if="config.display_type != 'embed'" class="rebuy-product-actions">
                                        <div class="subscription-checkbox" v-if="config.display_type != 'embed' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>

                                        <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                            <!-- <div
                                                v-if="product.subscription_frequencies.length == 1"
                                                v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                class="rebuy-fequency-label"
                                            ></div> -->
                                            
                                            <select
                                                class="rebuy-select"
                                                aria-label="subscription frequency"
                                                v-model="product.subscription_frequency"
                                                v-on:change="updateSubscriptionFrequency(product)"
                                                v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                            </select>
                                        </div>

                                        <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                            <div class="rebuy-select-wrapper">
                                                <label class="rebuy-label">Quantity</label>
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="product quantity"
                                                    v-model="product.quantity">
                                                    <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                </select>
                                            </div>
                                        </div>

                                        <button
                                            class="rebuy-button"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                        </button>

                                        <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                            <span v-html="declineLabel(product)"></span>
                                        </div>
                                    </div>

                                    <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'product' && showSubscriptionOptions(product)">
                                        <label class="rebuy-checkbox-label">
                                            <input
                                                class="checkbox-input rebuy-checkbox"
                                                v-model="product.subscription"
                                                v-on:change="toggleSubscription(product)"
                                                type="checkbox"
                                                :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                            />
                                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                            </svg>
                                            <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                        </label>
                                    </div>
                                    
                                    <div class="rebuy-product-disclaimer"
                                        v-if="metadata.custom
                                            && metadata.custom.disclaimer
                                            && metadata.custom.disclaimer != ''"
                                        v-html="metadata.custom.disclaimer"
                                    ></div>

                                </div>

                            </div>
                        </div>

                    </div>
                </div>
            
    </script>
  

  

  
<script id="rebuy-widget-274807" type="text/template">
            
                <div class="rebuy-widget"
                v-cloak
                v-on:click="stopPropagation($event)"
                v-bind:id="'rebuy-widget-' + id"
                v-bind:class="['widget-type-' + config.type.replace('_','-'), 'widget-display-' + config.display_type, products.length > 0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">

                    <div
                        class="rebuy-widget-container"
                        v-cloak
                        v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]"
                        v-on:click.self="hide()">

                        <div
                            class="rebuy-widget-content"
                            v-bind:class="[isBodiSpotlight(id) ? 'widget-spotlight' : '']"
                        >
                            <div class="rebuy-modal-close" v-on:click="hide()" aria-label="close modal">
                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                    <g clip-path="url(#clip0_5603_464)">
                                        <rect opacity="0.01" width="24" height="24" fill="#E8E8E8"/>
                                        <path fill-rule="evenodd" clip-rule="evenodd" d="M17.8219 17.6852C18.0691 17.4471 18.0599 17.0443 17.8219 16.8062L12.9238 11.9082L17.8219 7.00095C18.0599 6.76291 18.0691 6.36923 17.8219 6.1312C17.5838 5.884 17.181 5.89316 16.943 6.1312L12.0449 11.0293L7.14682 6.1312C6.90878 5.89316 6.50595 5.884 6.26791 6.1312C6.02072 6.36923 6.02988 6.76291 6.26791 7.00095L11.166 11.9082L6.26791 16.8062C6.02988 17.0443 6.02072 17.4471 6.26791 17.6852C6.50595 17.9323 6.90878 17.9232 7.14682 17.6852L12.0449 12.7871L16.943 17.6852C17.181 17.9232 17.5838 17.9323 17.8219 17.6852Z" fill="#161819"/>
                                    </g>
                                    <defs>
                                        <clipPath id="clip0_5603_464">
                                            <rect width="24" height="24" fill="white"/>
                                        </clipPath>
                                    </defs>
                                </svg>
                            </div>

                            <div class="rebuy-timer" v-if="hasTimer()">
                                <p class="rebuy-timer-title" v-if="config.language.timer_title">
                                    <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span>
                                </p>
                            </div>

                            <p
                                class="super-title"
                                v-if="config.language.super_title"
                                v-html="config.language.super_title"
                            ></p>

                            <p class="primary-title"
                                v-if="config.language.title"
                                v-html="config.language.title"
                            ></p>

                            <div class="description" v-if="config.language.description" v-html="config.language.description"></div>

                            <div class="rebuy-product-grid" v-bind:class="layoutClasses" tabindex="0" role="list">

                                <div
                                    v-for="(product, product_index) in products"
                                    v-bind:class="[
                                        product.handle,
                                        'product-id-' + product.id,
                                        cartHasProduct(product) ? 'cart-has-item' : '',
                                        productTagClasses(product),
                                        hasSplideCarousel ? 'splide__slide' : '',
                                    ]"
                                    aria-label="product"
                                    class="rebuy-product-block"
                                    role="listitem"
                                >
                                    <div class="rebuy-product-media">
                                        <a
                                            class="rebuy-product-image"
                                            tabindex="-1"
                                            v-bind:href="learnMoreURL(product)"
                                            v-bind:style="imageStyles"
                                            v-on:click="learnMore(product, $event);"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                            rel="nofollow"
                                        >
                                            <img v-bind:loading="product_index > 1 ? 'lazy' : 'eager'" v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="itemImageAlt(product, product.selected_variant)">
                                        </a>

                                        <button
                                            class="rebuy-button"
                                            v-if="config.display_type == 'embed'"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                                <svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none">
                                                    <g clip-path="url(#clip0_4267_416)">
                                                        <path d="M0 7.05261C0 7.40758 0.301393 7.70228 0.656367 7.70228H6.39624V13.4421C6.39624 13.7971 6.69093 14.0985 7.04592 14.0985C7.40758 14.0985 7.70228 13.7971 7.70228 13.4421V7.70228H13.4421C13.7971 7.70228 14.0985 7.40758 14.0985 7.05261C14.0985 6.69093 13.7971 6.39624 13.4421 6.39624H7.70228V0.656367C7.70228 0.301393 7.40758 0 7.04592 0C6.69093 0 6.39624 0.301393 6.39624 0.656367V6.39624H0.656367C0.301393 6.39624 0 6.69093 0 7.05261Z" fill="#161819"></path>
                                                    </g>
                                                    <defs>
                                                        <clipPath id="clip0_4267_416">
                                                            <rect width="15.063" height="14.1119" fill="white"></rect>
                                                        </clipPath>
                                                    </defs>
                                                </svg>
                                                
                                        </button>
                                    </div>

                                    <div class="rebuy-product-info">
                                        <p
                                            class="rebuy-product-message"
                                            v-if="config.discount.message
                                                && config.display_type == 'embed'
                                                && isBodiSpotlight(id)"
                                            v-html="config.discount.message"
                                        ></p>

                                        <div
                                            class="rebuy-product-title"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']">
                                            <a
                                                v-bind:href="learnMoreURL(product)"
                                                class="rebuy-product-title-link"
                                                v-on:click="learnMore(product, $event);"
                                                v-html="metadata.custom && metadata.custom.product_title_override
                                                    && metadata.custom.product_title_override ? metadata.custom.product_title_override : product.title"
                                                v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                                v-bind:aria-label="'View ' + product.title"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div
                                            class="rebuy-product-vendor-container"
                                            v-if="showProductVendor(product.vendor)"
                                        >
                                            <a
                                                class="rebuy-product-vendor"
                                                v-bind:class="[hasEnabledProductVendorLink() ? 'clickable' : '']"
                                                v-html="product.vendor"
                                                v-bind:href="vendorURL(product.vendor)"
                                                v-bind:aria-label="'View ' + product.vendor + ' products'"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
                                        <div class="rebuy-product-review" v-if="hasProductReviews(product)" aria-label="product star rating">
                                            <span class="rebuy-star-rating">
                                                <span
                                                    v-if="product.reviews.star_rating"
                                                    class="rebuy-star-rating-value sr-only"
                                                    v-html="product.reviews.star_rating + ' stars out of 5 stars'"
                                                >
                                                </span>
                                                <span class="rebuy-star-rating-background"></span>
                                                <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
                                            </span>
                                            <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
                                        </div>

                                        <div class="rebuy-product-price">
                                            <div v-if="variantOnSale(product, product.selected_variant)">
                                                <span class="rebuy-money compare-at">
                                                    <span class="sr-only">Original price</span>
                                                    <span v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-money sale">
                                                    <span class="sr-only">Sale price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-price-label"
                                                    v-if="metadata.custom
                                                        && metadata.custom.price_label"
                                                    v-html="metadata.custom.price_label"
                                                ></span>
                                            </div>
                                            <div v-if="!(variantOnSale(product, product.selected_variant))">
                                                <span class="rebuy-money">
                                                    <span class="sr-only">Price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                            </div>
                                        </div>

                                        <div v-if="config.display_type == 'embed'" class="rebuy-product-actions">
                                            <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <!-- <div
                                                    v-if="product.subscription_frequencies.length == 1"
                                                    v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                    class="rebuy-fequency-label"
                                                ></div> -->
                                                
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="subscription frequency"
                                                    v-model="product.subscription_frequency"
                                                    v-on:change="updateSubscriptionFrequency(product)"
                                                    v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                    <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                                </select>
                                            </div>

                                            <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                                <div class="rebuy-select-wrapper">
                                                    <label class="rebuy-label">Quantity</label>
                                                    <select
                                                        class="rebuy-select"
                                                        aria-label="product quantity"
                                                        v-model="product.quantity">
                                                        <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                    </select>
                                                </div>
                                            </div>

                                            <button
                                                class="rebuy-button"
                                                v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                                v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                                v-bind:aria-label="buttonAriaLabel(product)"
                                                v-on:click="addToCart(product)"
                                                type="button">
                                                    <span v-html="buttonLabel(product)"></span>
                                            </button>

                                            <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                                <span v-html="declineLabel(product)"></span>
                                            </div>
                                        </div>

                                        <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'cart' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>
                                        
                                        <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
                                    </div>

                                    <div class="rebuy-product-options" v-if="showVariantSelect(product)">
                                        <select
                                            title="Select product variant"
                                            :id="id + '-' + 'select' + '-' + product_index"
                                            :class="{ hide : config.view_options.variant_selector === 'buttons' }"
                                            class="rebuy-select"
                                            v-bind:aria-label="'variant of ' + product.title"
                                            v-model="product.selected_variant_id"
                                            v-on:change="selectVariant(product)">
                                            <option
                                                v-for="variant in product.variants"
                                                class="rebuy-product-options__option"
                                                :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
                                                v-bind:value="variant.id"
                                                :disabled="!variantAvailable(variant)"
                                                v-html="formatVariantOptionTitle(variant)">
                                            </option>
                                        </select>

                                        <div
                                            class="rebuy-product-options__button-swatches-container"
                                            :class="{ 'rebuy-style__hidden-block' : config.view_options.variant_selector === 'select' }"
                                            >
                                            <div
                                                v-for="option in product.options"
                                                :key="'option-' + product.id + '-' + option.name"
                                                class="rebuy-product-options__button-swatches rebuy-size-swatches"
                                                >
                                                <div
                                                    v-for="(value, value_index) in filterOOSOptions(option, product)"
                                                    :key="'value-' + product.id + '-' + option.name + '-' + value + '-' + value_index"
                                                    >
                                                    <div v-if="displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-color-swatch">
                                                        <input
                                                            :name="id + '-color-' + product_index"
                                                            :id="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, 'color')"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-color-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :style="getMerchantThemeColorAssetStyle(value)"
                                                            :title="value"
                                                            class="rebuy-color-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                        </label>
                                                    </div>

                                                    <div v-if="!displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-size-swatch">
                                                        <input
                                                            :name="id + '-' + option.name + '-' + product_index"
                                                            :id="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, option.name)"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-size-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            class="rebuy-size-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                            {{ value }}
                                                        </label>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    
                                    <div v-if="config.display_type != 'embed'" class="rebuy-product-actions">
                                        <div class="subscription-checkbox" v-if="config.display_type != 'embed' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>

                                        <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                            <!-- <div
                                                v-if="product.subscription_frequencies.length == 1"
                                                v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                class="rebuy-fequency-label"
                                            ></div> -->
                                            
                                            <select
                                                class="rebuy-select"
                                                aria-label="subscription frequency"
                                                v-model="product.subscription_frequency"
                                                v-on:change="updateSubscriptionFrequency(product)"
                                                v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                            </select>
                                        </div>

                                        <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                            <div class="rebuy-select-wrapper">
                                                <label class="rebuy-label">Quantity</label>
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="product quantity"
                                                    v-model="product.quantity">
                                                    <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                </select>
                                            </div>
                                        </div>

                                        <button
                                            class="rebuy-button"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                        </button>

                                        <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                            <span v-html="declineLabel(product)"></span>
                                        </div>
                                    </div>

                                    <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'product' && showSubscriptionOptions(product)">
                                        <label class="rebuy-checkbox-label">
                                            <input
                                                class="checkbox-input rebuy-checkbox"
                                                v-model="product.subscription"
                                                v-on:change="toggleSubscription(product)"
                                                type="checkbox"
                                                :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                            />
                                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                            </svg>
                                            <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                        </label>
                                    </div>
                                    
                                    <div class="rebuy-product-disclaimer"
                                        v-if="metadata.custom
                                            && metadata.custom.disclaimer
                                            && metadata.custom.disclaimer != ''"
                                        v-html="metadata.custom.disclaimer"
                                    ></div>

                                </div>

                            </div>
                        </div>

                    </div>
                </div>
            
    </script>
  

  
<script id="rebuy-widget-274646" type="text/template">
            
                <div class="rebuy-widget"
                v-cloak
                v-on:click="stopPropagation($event)"
                v-bind:id="'rebuy-widget-' + id"
                v-bind:class="['widget-type-' + config.type.replace('_','-'), 'widget-display-' + config.display_type, products.length > 0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">

                    <div
                        class="rebuy-widget-container"
                        v-cloak
                        v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]"
                        v-on:click.self="hide()">

                        <div
                            class="rebuy-widget-content"
                            v-bind:class="[isBodiSpotlight(id) ? 'widget-spotlight' : '']"
                        >
                            <div class="rebuy-modal-close" v-on:click="hide()" aria-label="close modal">
                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                    <g clip-path="url(#clip0_5603_464)">
                                        <rect opacity="0.01" width="24" height="24" fill="#E8E8E8"/>
                                        <path fill-rule="evenodd" clip-rule="evenodd" d="M17.8219 17.6852C18.0691 17.4471 18.0599 17.0443 17.8219 16.8062L12.9238 11.9082L17.8219 7.00095C18.0599 6.76291 18.0691 6.36923 17.8219 6.1312C17.5838 5.884 17.181 5.89316 16.943 6.1312L12.0449 11.0293L7.14682 6.1312C6.90878 5.89316 6.50595 5.884 6.26791 6.1312C6.02072 6.36923 6.02988 6.76291 6.26791 7.00095L11.166 11.9082L6.26791 16.8062C6.02988 17.0443 6.02072 17.4471 6.26791 17.6852C6.50595 17.9323 6.90878 17.9232 7.14682 17.6852L12.0449 12.7871L16.943 17.6852C17.181 17.9232 17.5838 17.9323 17.8219 17.6852Z" fill="#161819"/>
                                    </g>
                                    <defs>
                                        <clipPath id="clip0_5603_464">
                                            <rect width="24" height="24" fill="white"/>
                                        </clipPath>
                                    </defs>
                                </svg>
                            </div>

                            <div class="rebuy-timer" v-if="hasTimer()">
                                <p class="rebuy-timer-title" v-if="config.language.timer_title">
                                    <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span>
                                </p>
                            </div>

                            <p
                                class="super-title"
                                v-if="config.language.super_title"
                                v-html="config.language.super_title"
                            ></p>

                            <p class="primary-title"
                                v-if="config.language.title"
                                v-html="config.language.title"
                            ></p>

                            <div class="description" v-if="config.language.description" v-html="config.language.description"></div>

                            <div class="rebuy-product-grid" v-bind:class="layoutClasses" tabindex="0" role="list">

                                <div
                                    v-for="(product, product_index) in products"
                                    v-bind:class="[
                                        product.handle,
                                        'product-id-' + product.id,
                                        cartHasProduct(product) ? 'cart-has-item' : '',
                                        productTagClasses(product),
                                        hasSplideCarousel ? 'splide__slide' : '',
                                    ]"
                                    aria-label="product"
                                    class="rebuy-product-block"
                                    role="listitem"
                                >
                                    <div class="rebuy-product-media">
                                        <a
                                            class="rebuy-product-image"
                                            tabindex="-1"
                                            v-bind:href="learnMoreURL(product)"
                                            v-bind:style="imageStyles"
                                            v-on:click="learnMore(product, $event);"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                            rel="nofollow"
                                        >
                                            <img v-bind:loading="product_index > 1 ? 'lazy' : 'eager'" v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="itemImageAlt(product, product.selected_variant)">
                                        </a>

                                        <button
                                            class="rebuy-button"
                                            v-if="config.display_type == 'embed'"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                                <svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none">
                                                    <g clip-path="url(#clip0_4267_416)">
                                                        <path d="M0 7.05261C0 7.40758 0.301393 7.70228 0.656367 7.70228H6.39624V13.4421C6.39624 13.7971 6.69093 14.0985 7.04592 14.0985C7.40758 14.0985 7.70228 13.7971 7.70228 13.4421V7.70228H13.4421C13.7971 7.70228 14.0985 7.40758 14.0985 7.05261C14.0985 6.69093 13.7971 6.39624 13.4421 6.39624H7.70228V0.656367C7.70228 0.301393 7.40758 0 7.04592 0C6.69093 0 6.39624 0.301393 6.39624 0.656367V6.39624H0.656367C0.301393 6.39624 0 6.69093 0 7.05261Z" fill="#161819"></path>
                                                    </g>
                                                    <defs>
                                                        <clipPath id="clip0_4267_416">
                                                            <rect width="15.063" height="14.1119" fill="white"></rect>
                                                        </clipPath>
                                                    </defs>
                                                </svg>
                                                
                                        </button>
                                    </div>

                                    <div class="rebuy-product-info">
                                        <p
                                            class="rebuy-product-message"
                                            v-if="config.discount.message
                                                && config.display_type == 'embed'
                                                && isBodiSpotlight(id)"
                                            v-html="config.discount.message"
                                        ></p>

                                        <div
                                            class="rebuy-product-title"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']">
                                            <a
                                                v-bind:href="learnMoreURL(product)"
                                                class="rebuy-product-title-link"
                                                v-on:click="learnMore(product, $event);"
                                                v-html="metadata.custom && metadata.custom.product_title_override
                                                    && metadata.custom.product_title_override ? metadata.custom.product_title_override : product.title"
                                                v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                                v-bind:aria-label="'View ' + product.title"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div
                                            class="rebuy-product-vendor-container"
                                            v-if="showProductVendor(product.vendor)"
                                        >
                                            <a
                                                class="rebuy-product-vendor"
                                                v-bind:class="[hasEnabledProductVendorLink() ? 'clickable' : '']"
                                                v-html="product.vendor"
                                                v-bind:href="vendorURL(product.vendor)"
                                                v-bind:aria-label="'View ' + product.vendor + ' products'"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
                                        <div class="rebuy-product-review" v-if="hasProductReviews(product)" aria-label="product star rating">
                                            <span class="rebuy-star-rating">
                                                <span
                                                    v-if="product.reviews.star_rating"
                                                    class="rebuy-star-rating-value sr-only"
                                                    v-html="product.reviews.star_rating + ' stars out of 5 stars'"
                                                >
                                                </span>
                                                <span class="rebuy-star-rating-background"></span>
                                                <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
                                            </span>
                                            <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
                                        </div>

                                        <div class="rebuy-product-price">
                                            <div v-if="variantOnSale(product, product.selected_variant)">
                                                <span class="rebuy-money compare-at">
                                                    <span class="sr-only">Original price</span>
                                                    <span v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-money sale">
                                                    <span class="sr-only">Sale price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-price-label"
                                                    v-if="metadata.custom
                                                        && metadata.custom.price_label"
                                                    v-html="metadata.custom.price_label"
                                                ></span>
                                            </div>
                                            <div v-if="!(variantOnSale(product, product.selected_variant))">
                                                <span class="rebuy-money">
                                                    <span class="sr-only">Price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                            </div>
                                        </div>

                                        <div v-if="config.display_type == 'embed'" class="rebuy-product-actions">
                                            <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <!-- <div
                                                    v-if="product.subscription_frequencies.length == 1"
                                                    v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                    class="rebuy-fequency-label"
                                                ></div> -->
                                                
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="subscription frequency"
                                                    v-model="product.subscription_frequency"
                                                    v-on:change="updateSubscriptionFrequency(product)"
                                                    v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                    <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                                </select>
                                            </div>

                                            <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                                <div class="rebuy-select-wrapper">
                                                    <label class="rebuy-label">Quantity</label>
                                                    <select
                                                        class="rebuy-select"
                                                        aria-label="product quantity"
                                                        v-model="product.quantity">
                                                        <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                    </select>
                                                </div>
                                            </div>

                                            <button
                                                class="rebuy-button"
                                                v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                                v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                                v-bind:aria-label="buttonAriaLabel(product)"
                                                v-on:click="addToCart(product)"
                                                type="button">
                                                    <span v-html="buttonLabel(product)"></span>
                                            </button>

                                            <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                                <span v-html="declineLabel(product)"></span>
                                            </div>
                                        </div>

                                        <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'cart' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>
                                        
                                        <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
                                    </div>

                                    <div class="rebuy-product-options" v-if="showVariantSelect(product)">
                                        <select
                                            title="Select product variant"
                                            :id="id + '-' + 'select' + '-' + product_index"
                                            :class="{ hide : config.view_options.variant_selector === 'buttons' }"
                                            class="rebuy-select"
                                            v-bind:aria-label="'variant of ' + product.title"
                                            v-model="product.selected_variant_id"
                                            v-on:change="selectVariant(product)">
                                            <option
                                                v-for="variant in product.variants"
                                                class="rebuy-product-options__option"
                                                :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
                                                v-bind:value="variant.id"
                                                :disabled="!variantAvailable(variant)"
                                                v-html="formatVariantOptionTitle(variant)">
                                            </option>
                                        </select>

                                        <div
                                            class="rebuy-product-options__button-swatches-container"
                                            :class="{ 'rebuy-style__hidden-block' : config.view_options.variant_selector === 'select' }"
                                            >
                                            <div
                                                v-for="option in product.options"
                                                :key="'option-' + product.id + '-' + option.name"
                                                class="rebuy-product-options__button-swatches rebuy-size-swatches"
                                                >
                                                <div
                                                    v-for="(value, value_index) in filterOOSOptions(option, product)"
                                                    :key="'value-' + product.id + '-' + option.name + '-' + value + '-' + value_index"
                                                    >
                                                    <div v-if="displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-color-swatch">
                                                        <input
                                                            :name="id + '-color-' + product_index"
                                                            :id="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, 'color')"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-color-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :style="getMerchantThemeColorAssetStyle(value)"
                                                            :title="value"
                                                            class="rebuy-color-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                        </label>
                                                    </div>

                                                    <div v-if="!displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-size-swatch">
                                                        <input
                                                            :name="id + '-' + option.name + '-' + product_index"
                                                            :id="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, option.name)"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-size-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            class="rebuy-size-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                            {{ value }}
                                                        </label>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    
                                    <div v-if="config.display_type != 'embed'" class="rebuy-product-actions">
                                        <div class="subscription-checkbox" v-if="config.display_type != 'embed' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>

                                        <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                            <!-- <div
                                                v-if="product.subscription_frequencies.length == 1"
                                                v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                class="rebuy-fequency-label"
                                            ></div> -->
                                            
                                            <select
                                                class="rebuy-select"
                                                aria-label="subscription frequency"
                                                v-model="product.subscription_frequency"
                                                v-on:change="updateSubscriptionFrequency(product)"
                                                v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                            </select>
                                        </div>

                                        <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                            <div class="rebuy-select-wrapper">
                                                <label class="rebuy-label">Quantity</label>
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="product quantity"
                                                    v-model="product.quantity">
                                                    <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                </select>
                                            </div>
                                        </div>

                                        <button
                                            class="rebuy-button"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                        </button>

                                        <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                            <span v-html="declineLabel(product)"></span>
                                        </div>
                                    </div>

                                    <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'product' && showSubscriptionOptions(product)">
                                        <label class="rebuy-checkbox-label">
                                            <input
                                                class="checkbox-input rebuy-checkbox"
                                                v-model="product.subscription"
                                                v-on:change="toggleSubscription(product)"
                                                type="checkbox"
                                                :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                            />
                                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                            </svg>
                                            <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                        </label>
                                    </div>
                                    
                                    <div class="rebuy-product-disclaimer"
                                        v-if="metadata.custom
                                            && metadata.custom.disclaimer
                                            && metadata.custom.disclaimer != ''"
                                        v-html="metadata.custom.disclaimer"
                                    ></div>

                                </div>

                            </div>
                        </div>

                    </div>
                </div>
            
    </script>
  

  
<script id="rebuy-widget-294582" type="text/template">
            
                <div class="rebuy-widget"
                v-cloak
                v-on:click="stopPropagation($event)"
                v-bind:id="'rebuy-widget-' + id"
                v-bind:class="['widget-type-' + config.type.replace('_','-'), 'widget-display-' + config.display_type, products.length > 0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">

                    <div
                        class="rebuy-widget-container"
                        v-cloak
                        v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]"
                        v-on:click.self="hide()">

                        <div
                            class="rebuy-widget-content"
                            v-bind:class="[isBodiSpotlight(id) ? 'widget-spotlight' : '']"
                        >
                            <div class="rebuy-modal-close" v-on:click="hide()" aria-label="close modal">
                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                    <g clip-path="url(#clip0_5603_464)">
                                        <rect opacity="0.01" width="24" height="24" fill="#E8E8E8"/>
                                        <path fill-rule="evenodd" clip-rule="evenodd" d="M17.8219 17.6852C18.0691 17.4471 18.0599 17.0443 17.8219 16.8062L12.9238 11.9082L17.8219 7.00095C18.0599 6.76291 18.0691 6.36923 17.8219 6.1312C17.5838 5.884 17.181 5.89316 16.943 6.1312L12.0449 11.0293L7.14682 6.1312C6.90878 5.89316 6.50595 5.884 6.26791 6.1312C6.02072 6.36923 6.02988 6.76291 6.26791 7.00095L11.166 11.9082L6.26791 16.8062C6.02988 17.0443 6.02072 17.4471 6.26791 17.6852C6.50595 17.9323 6.90878 17.9232 7.14682 17.6852L12.0449 12.7871L16.943 17.6852C17.181 17.9232 17.5838 17.9323 17.8219 17.6852Z" fill="#161819"/>
                                    </g>
                                    <defs>
                                        <clipPath id="clip0_5603_464">
                                            <rect width="24" height="24" fill="white"/>
                                        </clipPath>
                                    </defs>
                                </svg>
                            </div>

                            <div class="rebuy-timer" v-if="hasTimer()">
                                <p class="rebuy-timer-title" v-if="config.language.timer_title">
                                    <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span>
                                </p>
                            </div>

                            <p
                                class="super-title"
                                v-if="config.language.super_title"
                                v-html="config.language.super_title"
                            ></p>

                            <p class="primary-title"
                                v-if="config.language.title"
                                v-html="config.language.title"
                            ></p>

                            <div class="description" v-if="config.language.description" v-html="config.language.description"></div>

                            <div class="rebuy-product-grid" v-bind:class="layoutClasses" tabindex="0" role="list">

                                <div
                                    v-for="(product, product_index) in products"
                                    v-bind:class="[
                                        product.handle,
                                        'product-id-' + product.id,
                                        cartHasProduct(product) ? 'cart-has-item' : '',
                                        productTagClasses(product),
                                        hasSplideCarousel ? 'splide__slide' : '',
                                    ]"
                                    aria-label="product"
                                    class="rebuy-product-block"
                                    role="listitem"
                                >
                                    <div class="rebuy-product-media">
                                        <a
                                            class="rebuy-product-image"
                                            tabindex="-1"
                                            v-bind:href="learnMoreURL(product)"
                                            v-bind:style="imageStyles"
                                            v-on:click="learnMore(product, $event);"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                            rel="nofollow"
                                        >
                                            <img v-bind:loading="product_index > 1 ? 'lazy' : 'eager'" v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="itemImageAlt(product, product.selected_variant)">
                                        </a>

                                        <button
                                            class="rebuy-button"
                                            v-if="config.display_type == 'embed'"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                                <svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none">
                                                    <g clip-path="url(#clip0_4267_416)">
                                                        <path d="M0 7.05261C0 7.40758 0.301393 7.70228 0.656367 7.70228H6.39624V13.4421C6.39624 13.7971 6.69093 14.0985 7.04592 14.0985C7.40758 14.0985 7.70228 13.7971 7.70228 13.4421V7.70228H13.4421C13.7971 7.70228 14.0985 7.40758 14.0985 7.05261C14.0985 6.69093 13.7971 6.39624 13.4421 6.39624H7.70228V0.656367C7.70228 0.301393 7.40758 0 7.04592 0C6.69093 0 6.39624 0.301393 6.39624 0.656367V6.39624H0.656367C0.301393 6.39624 0 6.69093 0 7.05261Z" fill="#161819"></path>
                                                    </g>
                                                    <defs>
                                                        <clipPath id="clip0_4267_416">
                                                            <rect width="15.063" height="14.1119" fill="white"></rect>
                                                        </clipPath>
                                                    </defs>
                                                </svg>
                                                
                                        </button>
                                    </div>

                                    <div class="rebuy-product-info">
                                        <p
                                            class="rebuy-product-message"
                                            v-if="config.discount.message
                                                && config.display_type == 'embed'
                                                && isBodiSpotlight(id)"
                                            v-html="config.discount.message"
                                        ></p>

                                        <div
                                            class="rebuy-product-title"
                                            v-bind:class="[hasLearnMore() ? 'clickable' : '']">
                                            <a
                                                v-bind:href="learnMoreURL(product)"
                                                class="rebuy-product-title-link"
                                                v-on:click="learnMore(product, $event);"
                                                v-html="metadata.custom && metadata.custom.product_title_override
                                                    && metadata.custom.product_title_override ? metadata.custom.product_title_override : product.title"
                                                v-bind:class="[hasLearnMore() ? 'clickable' : '']"
                                                v-bind:aria-label="'View ' + product.title"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div
                                            class="rebuy-product-vendor-container"
                                            v-if="showProductVendor(product.vendor)"
                                        >
                                            <a
                                                class="rebuy-product-vendor"
                                                v-bind:class="[hasEnabledProductVendorLink() ? 'clickable' : '']"
                                                v-html="product.vendor"
                                                v-bind:href="vendorURL(product.vendor)"
                                                v-bind:aria-label="'View ' + product.vendor + ' products'"
                                                rel="nofollow"
                                            ></a>
                                        </div>
                                        <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
                                        <div class="rebuy-product-review" v-if="hasProductReviews(product)" aria-label="product star rating">
                                            <span class="rebuy-star-rating">
                                                <span
                                                    v-if="product.reviews.star_rating"
                                                    class="rebuy-star-rating-value sr-only"
                                                    v-html="product.reviews.star_rating + ' stars out of 5 stars'"
                                                >
                                                </span>
                                                <span class="rebuy-star-rating-background"></span>
                                                <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
                                            </span>
                                            <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
                                        </div>

                                        <div class="rebuy-product-price">
                                            <div v-if="variantOnSale(product, product.selected_variant)">
                                                <span class="rebuy-money compare-at">
                                                    <span class="sr-only">Original price</span>
                                                    <span v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-money sale">
                                                    <span class="sr-only">Sale price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-price-label"
                                                    v-if="metadata.custom
                                                        && metadata.custom.price_label"
                                                    v-html="metadata.custom.price_label"
                                                ></span>
                                            </div>
                                            <div v-if="!(variantOnSale(product, product.selected_variant))">
                                                <span class="rebuy-money">
                                                    <span class="sr-only">Price</span>
                                                    <span tabindex="0" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                                </span>
                                            </div>
                                        </div>

                                        <div v-if="config.display_type == 'embed'" class="rebuy-product-actions">
                                            <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <!-- <div
                                                    v-if="product.subscription_frequencies.length == 1"
                                                    v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                    class="rebuy-fequency-label"
                                                ></div> -->
                                                
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="subscription frequency"
                                                    v-model="product.subscription_frequency"
                                                    v-on:change="updateSubscriptionFrequency(product)"
                                                    v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                    <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                                </select>
                                            </div>

                                            <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                                <div class="rebuy-select-wrapper">
                                                    <label class="rebuy-label">Quantity</label>
                                                    <select
                                                        class="rebuy-select"
                                                        aria-label="product quantity"
                                                        v-model="product.quantity">
                                                        <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                    </select>
                                                </div>
                                            </div>

                                            <button
                                                class="rebuy-button"
                                                v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                                v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                                v-bind:aria-label="buttonAriaLabel(product)"
                                                v-on:click="addToCart(product)"
                                                type="button">
                                                    <span v-html="buttonLabel(product)"></span>
                                            </button>

                                            <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                                <span v-html="declineLabel(product)"></span>
                                            </div>
                                        </div>

                                        <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'cart' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>
                                        
                                        <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
                                    </div>

                                    <div class="rebuy-product-options" v-if="showVariantSelect(product)">
                                        <select
                                            title="Select product variant"
                                            :id="id + '-' + 'select' + '-' + product_index"
                                            :class="{ hide : config.view_options.variant_selector === 'buttons' }"
                                            class="rebuy-select"
                                            v-bind:aria-label="'variant of ' + product.title"
                                            v-model="product.selected_variant_id"
                                            v-on:change="selectVariant(product)">
                                            <option
                                                v-for="variant in product.variants"
                                                class="rebuy-product-options__option"
                                                :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
                                                v-bind:value="variant.id"
                                                :disabled="!variantAvailable(variant)"
                                                v-html="formatVariantOptionTitle(variant)">
                                            </option>
                                        </select>

                                        <div
                                            class="rebuy-product-options__button-swatches-container"
                                            :class="{ 'rebuy-style__hidden-block' : config.view_options.variant_selector === 'select' }"
                                            >
                                            <div
                                                v-for="option in product.options"
                                                :key="'option-' + product.id + '-' + option.name"
                                                class="rebuy-product-options__button-swatches rebuy-size-swatches"
                                                >
                                                <div
                                                    v-for="(value, value_index) in filterOOSOptions(option, product)"
                                                    :key="'value-' + product.id + '-' + option.name + '-' + value + '-' + value_index"
                                                    >
                                                    <div v-if="displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-color-swatch">
                                                        <input
                                                            :name="id + '-color-' + product_index"
                                                            :id="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, 'color')"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-color-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                            :style="getMerchantThemeColorAssetStyle(value)"
                                                            :title="value"
                                                            class="rebuy-color-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                        </label>
                                                    </div>

                                                    <div v-if="!displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-size-swatch">
                                                        <input
                                                            :name="id + '-' + option.name + '-' + product_index"
                                                            :id="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            :checked="hasSwatchOptionSelected(product, value, value_index, option.name)"
                                                            :value="value"
                                                            type="radio"
                                                            class="rebuy-size-input hide"
                                                            v-on:change="selectVariantByOption(product, option.name, value)"
                                                            :disabled="isDisabledOptionValue(product, option.name, value)"
                                                        />

                                                        <label
                                                            :for="id + '-' + option.name + '-' + product_index + '-' + value"
                                                            class="rebuy-size-label"
                                                            :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                        >
                                                            {{ value }}
                                                        </label>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    
                                    <div v-if="config.display_type != 'embed'" class="rebuy-product-actions">
                                        <div class="subscription-checkbox" v-if="config.display_type != 'embed' && showSubscriptionOptions(product)">
                                            <label class="rebuy-checkbox-label">
                                                <input
                                                    class="checkbox-input rebuy-checkbox"
                                                    v-model="product.subscription"
                                                    v-on:change="toggleSubscription(product)"
                                                    type="checkbox"
                                                    :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                                />
                                                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                                </svg>
                                                <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                            </label>
                                        </div>

                                        <div class="subscription-frequency" v-if="showSubscriptionFrequency(product) && product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                            <!-- <div
                                                v-if="product.subscription_frequencies.length == 1"
                                                v-html="frequencyLabel(product.subscription_frequencies[0], product.subscription_interval)"
                                                class="rebuy-fequency-label"
                                            ></div> -->
                                            
                                            <select
                                                class="rebuy-select"
                                                aria-label="subscription frequency"
                                                v-model="product.subscription_frequency"
                                                v-on:change="updateSubscriptionFrequency(product)"
                                                v-if="product.subscription_frequencies && product.subscription_frequencies.length > 1">
                                                <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option>
                                            </select>
                                        </div>

                                        <div class="product-quantity" v-if="hasQuantityInputEnabled()">
                                            <div class="rebuy-select-wrapper">
                                                <label class="rebuy-label">Quantity</label>
                                                <select
                                                    class="rebuy-select"
                                                    aria-label="product quantity"
                                                    v-model="product.quantity">
                                                    <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option>
                                                </select>
                                            </div>
                                        </div>

                                        <button
                                            class="rebuy-button"
                                            v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }"
                                            v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')"
                                            v-bind:aria-label="buttonAriaLabel(product)"
                                            v-on:click="addToCart(product)"
                                            type="button">
                                                <span v-html="buttonLabel(product)"></span>
                                        </button>

                                        <div class="no-thanks" v-if="showContinueButton()" v-on:click="hide()">
                                            <span v-html="declineLabel(product)"></span>
                                        </div>
                                    </div>

                                    <div class="subscription-checkbox" v-if="config.display_type == 'embed' && config.type == 'product' && showSubscriptionOptions(product)">
                                        <label class="rebuy-checkbox-label">
                                            <input
                                                class="checkbox-input rebuy-checkbox"
                                                v-model="product.subscription"
                                                v-on:change="toggleSubscription(product)"
                                                type="checkbox"
                                                :aria-label="upgradeToSubscriptionAriaLabel(product)"
                                            />
                                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                                                <path fill-rule="evenodd" clip-rule="evenodd" d="M12 5.25C13.2131 5.25 14.4153 5.2957 15.6052 5.38545C17.2196 5.50723 18.4928 6.78038 18.6146 8.39481C18.6586 8.97827 18.692 9.56471 18.7146 10.1539L17.0303 8.46967C16.7374 8.17678 16.2626 8.17678 15.9697 8.46967C15.6768 8.76256 15.6768 9.23744 15.9697 9.53033L18.9697 12.5303C19.2626 12.8232 19.7374 12.8232 20.0303 12.5303L23.0303 9.53033C23.3232 9.23744 23.3232 8.76256 23.0303 8.46967C22.7374 8.17678 22.2626 8.17678 21.9697 8.46967L20.2181 10.2212C20.1948 9.57151 20.1588 8.92503 20.1103 8.28199C19.9327 5.92812 18.0719 4.06725 15.718 3.8897C14.4907 3.79712 13.2508 3.75 12 3.75C10.7492 3.75 9.50933 3.79712 8.28199 3.8897C5.92812 4.06725 4.06725 5.92812 3.8897 8.28199C3.87284 8.50552 3.85748 8.72948 3.84365 8.95384C3.81815 9.36727 4.13264 9.72308 4.54606 9.74858C4.95949 9.77407 5.31531 9.45959 5.3408 9.04616C5.35422 8.82864 5.3691 8.61152 5.38545 8.39481C5.50723 6.78038 6.78038 5.50723 8.39481 5.38545C9.58465 5.2957 10.7869 5.25 12 5.25ZM5.03033 11.4697C4.73744 11.1768 4.26256 11.1768 3.96967 11.4697L0.96967 14.4697C0.676777 14.7626 0.676777 15.2374 0.96967 15.5303C1.26256 15.8232 1.73744 15.8232 2.03033 15.5303L3.78186 13.7788C3.80517 14.4285 3.84119 15.075 3.8897 15.718C4.06725 18.0719 5.92812 19.9327 8.28199 20.1103C9.50933 20.2029 10.7492 20.25 12 20.25C13.2508 20.25 14.4907 20.2029 15.718 20.1103C18.0719 19.9327 19.9327 18.0719 20.1103 15.718C20.1272 15.4945 20.1425 15.2705 20.1564 15.0462C20.1818 14.6327 19.8674 14.2769 19.4539 14.2514C19.0405 14.2259 18.6847 14.5404 18.6592 14.9538C18.6458 15.1714 18.6309 15.3885 18.6146 15.6052C18.4928 17.2196 17.2196 18.4928 15.6052 18.6146C14.4153 18.7043 13.2131 18.75 12 18.75C10.7869 18.75 9.58465 18.7043 8.39481 18.6146C6.78038 18.4928 5.50723 17.2196 5.38545 15.6052C5.34144 15.0217 5.30802 14.4353 5.28539 13.8461L6.96967 15.5303C7.26256 15.8232 7.73744 15.8232 8.03033 15.5303C8.32322 15.2374 8.32322 14.7626 8.03033 14.4697L5.03033 11.4697Z" fill="#161819"/>
                                            </svg>
                                            <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span>
                                        </label>
                                    </div>
                                    
                                    <div class="rebuy-product-disclaimer"
                                        v-if="metadata.custom
                                            && metadata.custom.disclaimer
                                            && metadata.custom.disclaimer != ''"
                                        v-html="metadata.custom.disclaimer"
                                    ></div>

                                </div>

                            </div>
                        </div>

                    </div>
                </div>
            
    </script>
  


<script id="rebuy-dynamic-bundle-template" type="text/template">
    <div class="rebuy-widget"
        v-cloak
        v-on:click="stopPropagation($event)"
        v-bind:id="'rebuy-widget-' + id"
        v-bind:class="['widget-type-' + config.type.replace('_','-'), products.length > 0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]">

        <div class="rebuy-widget-container"
            v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]">
            <div class="rebuy-widget-content">
                <div class="rebuy-timer" v-if="hasTimer()">
                    <h5 class="rebuy-timer-title" v-if="config.language.timer_title">
                        <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span>
                    </h5>
                </div>

                <div class="rebuy-dynamic-bundle-header" v-if="products.length > 0">
                    <div class="super-title" v-if="config.language.super_title != ''" v-html="config.language.super_title"></div>
                    <h2 class="primary-title" v-if="config.language.title != ''" v-html="config.language.title"></h2>
                    <div class="description" v-if="config.language.description != ''" v-html="config.language.description"></div>
                </div>

                <div class="rebuy-bundle">

                    <div class="rebuy-bundle__items"
                        v-bind:class="[products.length > 2 ? 'rebuy-bundle-items-many' : 'rebuy-bundle-items-duo']">

                        <div
                            v-for="(product, product_index) in products"
                            class="rebuy-product-block"
                            v-bind:class="[product.handle, 'product-id-' + product.id, cartHasProduct(product) ? 'cart-has-item' : '', productTagClasses(product), isInputProduct(product) ? 'is-input-product' : '' ,product.selected ? 'is-selected': '', variantAvailable(product.selected_variant) ? '' : 'rebuy-product-block--out-of-stock']"
                        >
                            <div class="rebuy-bundle-image">
                                <a class="rebuy-bundle__image-item bundle-single-image"
                                    v-bind:href="learnMoreURL(product)"
                                    v-bind:style="imageStyles"
                                    v-on:click="learnMore(product);"
                                    v-bind:class="[hasLearnMore() && !isInputProduct(product) ? 'clickable' : '' ]">
                                    <img v-bind:src="itemImage(product, product.selected_variant)" v-bind:alt="product.title">
                                </a>
                            </div>

                            <div class="rebuy-product-info">

                                <div class="rebuy-product-title-info">
                                    <div class="rebuy-product-badge">
                                        <span v-if="product.selected_variant.metafields.custom.badge" v-html="product.selected_variant.metafields.custom.badge"></span>
                                    </div>
                                    <a class="rebuy-product-title" v-bind:href="learnMoreURL(product)" v-on:click="learnMore(product);" v-bind:class="[hasLearnMore() && !isInputProduct(product) ? 'clickable' : '']">
                                        <h3 v-html="product.title"></h3>
                                    </a>
                                    <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div>
                                    <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div>
                                </div>
                                
                                <div class="rebuy-product-review" v-if="hasProductReviews(product)">
                                    <span class="rebuy-star-rating" aria-label="product star rating">
                                        <span class="rebuy-star-rating-background"></span>
                                        <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
                                    </span>
                                    <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
                                </div>
                                
                                <div class="rebuy-product-options" v-if="showVariantSelect(product)">
                                    
                                        <!--<div v-for="(option, option_index) in product.options" :key="'option-select-' + product.id + '-' + option.name" class="rebuy-product-option-select">
                                            <select
                                                class="rebuy-select"
                                                :id="id + '-option-select-' + product_index + '-' + option_index"
                                                @change="selectVariantByOption(product, option.name, $event.target.value)"
                                            >
                                                <option
                                                    v-for="(value, value_index) in filterOOSOptions(option, product)"
                                                    :key="'value-' + product.id + '-' + option.name + '-' + value_index"
                                                    :value="value"
                                                    :selected="hasSwatchOptionSelected(product, value, value_index, option.name)"
                                                    :disabled="isDisabledOptionValue(product, option.name, value)"
                                                    v-html="value"
                                                ></option>
                                            </select>
                                        </div>-->
                                        <div
                                            v-for="(option, option_index) in product.options"
                                            :key="'option-select-' + product.id + '-' + option.name"
                                            class="rebuy-product-option-select"
                                        >
                                            <!-- More than one value: show the select -->
                                            <template v-if="filterOOSOptions(option, product).length > 1">
                                                <select
                                                    class="rebuy-select"
                                                    :id="id + '-option-select-' + product_index + '-' + option_index"
                                                    @change="selectVariantByOption(product, option.name, $event.target.value)"
                                                >
                                                <option
                                                    v-for="(value, value_index) in filterOOSOptions(option, product)"
                                                    :key="'value-' + product.id + '-' + option.name + '-' + value_index"
                                                    :value="value"
                                                    :selected="hasSwatchOptionSelected(product, value, value_index, option.name)"
                                                    :disabled="isDisabledOptionValue(product, option.name, value)"
                                                    v-html="value"
                                                ></option>
                                                </select>
                                            </template>

                                            <!-- Exactly one value: just display the text -->
                                            <!--<template v-else-if="filterOOSOptions(option, product).length === 1">
                                                <p class="rebuy-option-single-value" v-html="filterOOSOptions(option, product)[0]"></p>
                                            </template>-->

                                            <!-- Zero values (all OOS): render nothing, or a sold-out message -->
                                            <!--<template v-else>
                                                <p class="rebuy-option-sold-out"></p>
                                            </template>-->
                                        </div>
                                    

                                    <div
                                        class="rebuy-product-options__button-swatches-container"
                                        :class="{ 'rebuy-style__hidden-block' : config.view_options.variant_selector === 'select' }"
                                        >
                                        <div
                                            v-for="option in product.options"
                                            :key="'option-' + product.id + '-' + option.name"
                                            class="rebuy-product-options__button-swatches rebuy-size-swatches"
                                            >
                                            <div
                                                v-for="(value, value_index) in filterOOSOptions(option, product)"
                                                :key="'value-' + product.id + '-' + option.name + '-' + value + '-' + value_index"
                                                >
                                                <div v-if="displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-color-swatch">
                                                    <input
                                                        :name="id + '-color-' + product_index"
                                                        :id="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                        :checked="hasSwatchOptionSelected(product, value, value_index, 'color')"
                                                        :value="value"
                                                        type="radio"
                                                        class="rebuy-color-input hide"
                                                        v-on:change="selectVariantByOption(product, option.name, value)"
                                                        :disabled="isDisabledOptionValue(product, option.name, value)"
                                                    />

                                                    <label
                                                        :for="id + '-color-' + product_index + '-' + value + '-' + value_index"
                                                        :style="getMerchantThemeColorAssetStyle(value)"
                                                        :title="value"
                                                        class="rebuy-color-label"
                                                        :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                    >
                                                    </label>
                                                </div>

                                                <div v-if="!displayColorSwatches(option)" class="rebuy-product-options__button-swatch rebuy-size-swatch">
                                                    <input
                                                        :name="id + '-' + option.name + '-' + product_index"
                                                        :id="id + '-' + option.name + '-' + product_index + '-' + value"
                                                        :checked="hasSwatchOptionSelected(product, value, value_index, option.name)"
                                                        :value="value"
                                                        type="radio"
                                                        class="rebuy-size-input hide"
                                                        v-on:change="selectVariantByOption(product, option.name, value)"
                                                        :disabled="isDisabledOptionValue(product, option.name, value)"
                                                    />

                                                    <label
                                                        :for="id + '-' + option.name + '-' + product_index + '-' + value"
                                                        class="rebuy-size-label"
                                                        :class="{ 'rebuy-product-options__button-swatch-label--disabled' : isDisabledOptionValue(product, option.name, value) }"
                                                    >
                                                        
                                                    </label>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>

                                <div class="rebuy-product-price">
                                    <div v-if="variantOnSale(product, product.selected_variant)">
                                        <span class="rebuy-money compare-at">
                                            <span class="sr-only">Original price</span>
                                            <span v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span>
                                        </span>
                                        <span class="rebuy-money sale">
                                            <span class="sr-only">Sale price</span>
                                            <span v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                        </span>
                                    </div>
                                    <div v-if="!(variantOnSale(product, product.selected_variant))">
                                        <span class="rebuy-money">
                                            <span class="sr-only">Price</span>
                                            <span v-html="formatMoney(variantPrice(product, product.selected_variant))"></span>
                                        </span>
                                    </div>
                                </div>
                            </div>

                            <div class="rebuy-product-checkbox" v-if="!bundleRequiresAllItems()">
                                <label class="rebuy-checkbox-label">
                                    <span class="sr-only">
                                        Select  for bundle
                                    </span>
                                    <input
                                        class="checkbox-input rebuy-checkbox"
                                        v-model="product.selected"
                                        type="checkbox"
                                        :id="'checkbox-' + product.id" />
                                </label>
                            </div>
                        </div>
                    </div>

                    <div class="rebuy-bundle__actions" v-if="subtotal() > 0">
                        <div class="rebuy-bundle__actions-price">
                            <!--<strong
                                class="rebuy-bundle__actions-price-label"
                                v-if="metadata.custom.total_price_label"
                                v-html="metadata.custom.total_price_label">
                            </strong>
                            <strong
                                class="rebuy-bundle__actions-price-label"
                                v-else
                                v-html="config.language.total_price_label">
                            </strong> -->
                            <p class="rebuy-bundle__actions-price-value" v-if="bundleOnSale()">
                                <span class="rebuy-money compare-at">
                                    <span class="sr-only">Original price</span>
                                    <span v-html="formatMoney(compareAtSubtotal())"></span>
                                </span>
                                <span class="rebuy-money sale">
                                    <span class="sr-only">Sale price</span>
                                    <span v-html="formatMoney(subtotal())"></span>
                                </span>
                            </p>
                            <p class="rebuy-bundle__actions-price-value" v-if="!(bundleOnSale())">
                                <span class="rebuy-money">
                                    <span class="sr-only">Total Price</span>
                                    <span v-html="formatMoney(subtotal())"></span>
                                </span>
                            </p>
                        </div>

                        <div class="rebuy-bundle__actions-buttons">
                            <button
                                class="rebuy-button"
                                v-on:click="addSelectedProductsToCart()"
                                v-bind:disabled="isBundleIncomplete()"
                                type="button">
                                    <span v-html="buttonWidgetLabel()"></span>
                            </button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</script>

<script type="text/javascript">
   function getRoundedSavingPercent(value) {
      if (value == null || value === '') return '';

      return `${Math.round(parseFloat(value))}%`;
  }

</script>

<script id="rebuy-bundle-builder-template" type="text/template">
      <div
        class="rebuy-widget rebuy-bundle-builder"
        v-bind:id="'rebuy-widget-' + id"
    >
        <div
            class="rebuy-bundle-builder__main rebuy-bundle-builder-layout"
            v-bind:class="['rebuy-bundle-builder__layout--' + config.layout.type]"
            ref="stepTabsWrapper"
            >

            <!-- Page Header Section -->
            <div v-if="hasBundleHeaderSection()" class="rebuy-bundle-builder__main-header">
                <h1
                    v-if="getBundleConfigLabel('super_title')"
                    class="rebuy-bundle-builder__main-header-super-title"
                    v-html="getBundleConfigLabel('super_title')"
                >
                </h1>

                <h2
                    v-if="getBundleConfigLabel('title')"
                    class="rebuy-bundle-builder__main-header-title"
                    v-html="getBundleConfigLabel('title')"
                >
                </h2>

                <p
                    v-if="getBundleConfigLabel('description')"
                    class="rebuy-bundle-builder__main-header-description"
                    v-html="getBundleConfigLabel('description')"
                >
                </p>
            </div>
            <!-- /Page Header Section -->

            <!-- Sorting and Filtering Section -->
            <div
                class="rebuy-bundle-builder__header-utility-container"
                v-bind:class="[hasBundleFiltering() && hasBundleBuilderSorting() ? 'rebuy-bundle-builder__header-utility-container--space-between' : 'rebuy-bundle-builder__header-utility-container--end']"
            >
                <!-- Filter Section -->
                <div v-if="hasBundleFiltering()" class="rebuy-bundle-builder__filter-section">
                    <div class="rebuy-bundle-builder__filter-trigger">
                        <button
                            type="button"
                            class="rebuy-bundle-builder__filter-trigger-button"
                            v-on:click.stop="toggleBundleFilterSection()"
                            v-bind:aria-expanded="is_filter_visible ? 'true' : 'false'"
                            aria-controls="rebuy-bundle-filter-section"
                            aria-label="Toggle product filters"
                        >
                            <span
                                class="rebuy-bundle-builder__filter-trigger-label"
                                v-html="getBundleConfigLabel('filter_title')">
                            </span>

                            <rebuy-icon
                                name="list-filter"
                                class="rebuy-icon-wrapper--inline"
                            ></rebuy-icon>
                        </button>
                    </div>

                    <div
                        class="rebuy-bundle-builder__filter-flyout-overlay"
                        v-bind:class="[is_filter_visible && isBundleFilterFlyoutLayout() ? 'rebuy-bundle-builder__filter-flyout-overlay--active' : '']"
                        v-on:click="toggleBundleFilterSection()"
                    ></div>

                    <div
                        id="rebuy-bundle-filter-section"
                        class="rebuy-bundle-builder__filter-panel"
                        v-bind:class="[getBundleFilterLayoutClass(), is_filter_visible ? 'rebuy-bundle-builder__filter-panel--active' : '']"
                        role="region"
                        aria-label="Product filters"
                    >
                        <button
                            type="button"
                            class="rebuy-bundle-builder__filter-panel-close"
                            v-on:click="toggleBundleFilterSection()"
                            aria-label="Close product filters"
                        >
                            <rebuy-icon name="x"></rebuy-icon>
                        </button>

                        <!-- Selected Filter Tags -->
                        <div
                            v-if="hasBundleFiltersActive() && shouldShowBundleSelectedFilters()"
                            class="rebuy-bundle-builder__filter-selected"
                        >
                            <div class="rebuy-bundle-builder__filter-selected-header">
                                <h4
                                    class="rebuy-bundle-builder__filter-selected-title"
                                    v-html="getBundleConfigLabel('filter_selected_Label')">
                                </h4>

                                <button
                                    type="button"
                                    class="rebuy-bundle-builder__filter-selected-reset"
                                    v-on:click="clearBundleFilters()"
                                    aria-label="Reset all filters"
                                    v-html="getBundleConfigLabel('filter_reset_label')"
                                >
                                </button>
                            </div>

                            <div class="rebuy-bundle-builder__filter-selected-body">
                                <div
                                    v-for="(item, item_index) in getSelectedBundleFilterItems()"
                                    :key="item.key + '-' + item_index"
                                    class="rebuy-bundle-builder__filter-selected-tag"
                                >
                                    <span
                                        class="rebuy-bundle-builder__filter-selected-tag-label"
                                        v-html="item.label"
                                    >
                                    </span>

                                    <button
                                        type="button"
                                        class="rebuy-bundle-builder__filter-selected-tag-remove"
                                        v-bind:aria-label="'Remove ' + item.label + ' filter'"
                                        v-on:click="handleRemovingBundleFilterItem(item.filterType, item.rawValue)"
                                    >
                                        <rebuy-icon name="x"></rebuy-icon>
                                    </button>
                                </div>
                            </div>
                        </div>

                        <!-- Empty State -->
                        <div
                            v-if="!mapped_aggregated_filters || mapped_aggregated_filters.length === 0"
                            class="rebuy-bundle-builder__filter-empty"
                            v-html="getBundleConfigLabel('filter_no_results_label')"
                        ></div>

                        <!-- Filter Groups -->
                        <ul
                            v-else
                            class="rebuy-bundle-builder__filter-list-container"
                        >
                            <li
                                v-for="(filter, filter_index) in mapped_aggregated_filters"
                                :key="filter.type + '-' + filter_index"
                                class="rebuy-bundle-builder__filter-panel-list-item"
                            >
                                <div
                                    v-if="hasBundleFilterEnabled(filter)"
                                >
                                    <div class="rebuy-bundle-builder__filter-list-header">
                                        <button
                                            class="rebuy-bundle-builder__filter-list-toggle"
                                            type="button"
                                            v-bind:aria-expanded="filter.isExpanded ? 'true' : 'false'"
                                            v-bind:aria-label="filter.isExpanded ? 'Collapse ' + getBundleFilterName(filter) + ' filters' : 'Expand ' + getBundleFilterName(filter) + ' filters'"
                                            v-on:click="handleToggleBundleFilterExpansion(filter, filter_index)"
                                        >
                                            <h4
                                                class="rebuy-bundle-builder__filter-list-title"
                                                v-html="getBundleFilterName(filter)"
                                            ></h4>

                                            <div v-if="getBundleFilterDropDownStyle('plusMinus')">
                                                <rebuy-icon v-if="filter.isExpanded" name="minus"></rebuy-icon>
                                                <rebuy-icon v-else name="plus"></rebuy-icon>
                                            </div>

                                            <div v-if="getBundleFilterDropDownStyle('chevron')">
                                                <rebuy-icon
                                                    v-bind:name="filter.isExpanded ? 'chevron-up' : 'chevron-down'"
                                                ></rebuy-icon>
                                            </div>
                                        </button>
                                    </div>

                                    <div
                                        v-bind:class="[filter.isExpanded ? 'active' : '']"
                                        class="rebuy-bundle-builder__filter-list-body"
                                    >
                                        <!-- Product Tags Filter -->
                                        <ul
                                            v-if="isBundleFilterType(filter, 'product-tags')"
                                            class="rebuy-bundle-builder__filter-option rebuy-bundle-builder__filter-product-tags"
                                        >
                                            <li
                                                v-for="(value, value_index) in filter.values"
                                                :key="'tag-' + value_index + '-' + value.tags"
                                                class="rebuy-bundle-builder__filter-option-list"
                                            >
                                                <input
                                                    :id="'rebuy-bundle-filter-tag-' + value.tags"
                                                    type="checkbox"
                                                    class="rebuy-checkbox"
                                                    :checked="hasSelectedBundleFilter('product-tags', value.tags)"
                                                    v-on:change="handleBundleFilterUpdate('product-tags', value.tags)"
                                                />

                                                <label
                                                    :for="'rebuy-bundle-filter-tag-' + value.tags"
                                                    class="rebuy-bundle-builder__filter-option-checkbox-label"
                                                >
                                                    <span class="rebuy-bundle-builder__filter-option-checkbox-label-text" v-html="formatTagValue(value.tags)"></span>
                                                    <span v-if="shouldShowBundleProductFilterCount()" class="rebuy-bundle-builder__filter-label" v-html="value.numProducts"></span>
                                                </label>
                                            </li>
                                        </ul>

                                        <!-- Product Vendor Filter -->
                                        <ul
                                            v-if="isBundleFilterType(filter, 'vendor')"
                                            class="rebuy-bundle-builder__filter-option rebuy-bundle-builder__filter-vendor"
                                        >
                                            <li
                                                v-for="(value, value_index) in filter.values"
                                                :key="'vendor-' + value_index + '-' + value.vendorAsTag"
                                                class="rebuy-bundle-builder__filter-option-list"
                                            >
                                                <input
                                                    :id="'rebuy-bundle-filter-vendor-' + value.vendorAsTag"
                                                    type="checkbox"
                                                    class="rebuy-checkbox"
                                                    :checked="hasSelectedBundleFilter('vendor', value.vendorAsTag)"
                                                    v-on:change="handleBundleFilterUpdate('vendor', value.vendorAsTag)"
                                                />

                                                <label
                                                    :for="'rebuy-bundle-filter-vendor-' + value.vendorAsTag"
                                                    class="rebuy-bundle-builder__filter-option-checkbox-label"
                                                >
                                                    <span class="rebuy-bundle-builder__filter-option-checkbox-label-text" v-html="value.vendorAsTag"></span>
                                                    <span v-if="shouldShowBundleProductFilterCount()" class="rebuy-bundle-builder__filter-label" v-html="value.numProducts"></span>
                                                </label>
                                            </li>
                                        </ul>

                                        <!-- Product Availability Filter -->
                                        <ul
                                            v-if="isBundleFilterType(filter, 'availability')"
                                            class="rebuy-bundle-builder__filter-option rebuy-bundle-builder__filter-availability"
                                            role="radiogroup"
                                            aria-label="Filter by availability"
                                        >
                                            <li class="rebuy-bundle-builder__filter-option-list">
                                                <label class="rebuy-radio-label">
                                                    <input
                                                        class="radio-input rebuy-radio"
                                                        v-on:click="handleBundleFilterUpdate('availability', 'available')"
                                                        :checked="hasSelectedBundleFilter('availability', 'available')"
                                                        v-bind:value="true"
                                                        type="radio"
                                                        name="rebuy-bundle-availability-filter"
                                                        v-bind:disabled="!hasInStockBundleAvailabilityFilter(filter.values)"
                                                    />
                                                    <span
                                                        class="radio-label"
                                                        v-bind:class="[!hasInStockBundleAvailabilityFilter(filter.values) ? 'disabled' : '']"
                                                    >
                                                        <span class="rebuy-bundle-builder__filter-option-checkbox-label-text">Available</span>
                                                        <span
                                                            v-if="hasInStockBundleAvailabilityFilter(filter.values) && shouldShowBundleProductFilterCount()"
                                                            v-html="bundleAvailabilityFilterCount(filter.values, 'available')"
                                                            class="rebuy-bundle-builder__filter-label"
                                                        >
                                                        </span>
                                                    </span>
                                                </label>
                                            </li>

                                            <li class="rebuy-bundle-builder__filter-option-list">
                                                <label class="rebuy-radio-label">
                                                    <input
                                                        class="radio-input rebuy-radio"
                                                        v-on:click="handleBundleFilterUpdate('availability', 'soldOut')"
                                                        :checked="hasSelectedBundleFilter('availability', 'soldOut')"
                                                        v-bind:value="false"
                                                        type="radio"
                                                        name="rebuy-bundle-availability-filter"
                                                        v-bind:disabled="!hasSoldOutBundleAvailabilityFilter(filter.values)"
                                                    />
                                                    <span
                                                        class="radio-label"
                                                        v-bind:class="[!hasSoldOutBundleAvailabilityFilter(filter.values) ? 'disabled' : '']"
                                                    >
                                                        <span class="rebuy-bundle-builder__filter-option-checkbox-label-text">Sold Out</span>
                                                        <span
                                                            v-if="hasSoldOutBundleAvailabilityFilter(filter.values) && shouldShowBundleProductFilterCount()"
                                                            v-html="bundleAvailabilityFilterCount(filter.values, 'soldOut')"
                                                            class="rebuy-bundle-builder__filter-label"
                                                        >
                                                        </span>
                                                    </span>
                                                </label>
                                            </li>
                                        </ul>

                                        <!-- Product Type Filter -->
                                        <ul
                                            v-if="isBundleFilterType(filter, 'product-type')"
                                            class="rebuy-bundle-builder__filter-option rebuy-bundle-builder__filter-product-type"
                                        >
                                            <li
                                                v-for="(value, value_index) in filter.values"
                                                :key="'type-' + value_index + '-' + value.categories"
                                                class="rebuy-bundle-builder__filter-option-list"
                                            >
                                                <input
                                                    :id="'rebuy-bundle-filter-product-type-' + value.categories"
                                                    type="checkbox"
                                                    class="rebuy-checkbox"
                                                    :checked="hasSelectedBundleFilter('product-type', value.categories)"
                                                    v-on:change="handleBundleFilterUpdate('product-type', value.categories)"
                                                />

                                                <label
                                                    :for="'rebuy-bundle-filter-product-type-' + value.categories"
                                                    class="rebuy-bundle-builder__filter-option-checkbox-label"
                                                >
                                                    <span class="rebuy-bundle-builder__filter-option-checkbox-label-text" v-html="value.categories"></span>
                                                    <span v-if="shouldShowBundleProductFilterCount()" class="rebuy-bundle-builder__filter-label" v-html="value.numProducts"></span>
                                                </label>
                                            </li>
                                        </ul>

                                        <!-- Product Price Filter -->
                                        <div
                                            v-if="isBundleFilterType(filter, 'price')"
                                            class="rebuy-bundle-builder__filter-option rebuy-bundle-builder__filter-option--row rebuy-bundle-builder__filter-price"
                                        >
                                            <div class="rebuy-bundle-builder__filter-price-block">
                                                <label
                                                    for="rebuy-bundle-filter-price-from"
                                                    v-html="shopCurrencySymbol()"
                                                    class="rebuy-bundle-builder__filter-price-label"
                                                >
                                                </label>

                                                <input
                                                    id="rebuy-bundle-filter-price-from"
                                                    type="number"
                                                    class="rebuy-input rebuy-bundle-builder__filter-price-input"
                                                    placeholder="From"
                                                    v-bind:value="getBundleFilterPriceMin()"
                                                    min="0"
                                                    :max="getBundleFilterPriceMax()"
                                                    v-on:change="handleBundlePriceFilterChange('min', $event)"
                                                />
                                            </div>

                                            <div class="rebuy-bundle-builder__filter-price-dash">-</div>

                                            <div class="rebuy-bundle-builder__filter-price-block">
                                                <label
                                                    for="rebuy-bundle-filter-price-to"
                                                    v-html="shopCurrencySymbol()"
                                                    class="rebuy-bundle-builder__filter-price-label"
                                                >
                                                </label>

                                                <input
                                                    id="rebuy-bundle-filter-price-to"
                                                    type="number"
                                                    class="rebuy-input rebuy-bundle-builder__filter-price-input"
                                                    placeholder="To"
                                                    v-bind:value="getBundleFilterPriceMax()"
                                                    :min="getBundleFilterPriceMin()"
                                                    v-on:change="handleBundlePriceFilterChange('max', $event)"
                                                />
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </li>
                        </ul>
                    </div>
                </div>
                <!-- /Filter Section -->

                <!-- Sorting Section -->
                <div v-if="hasBundleBuilderSorting()" class="rebuy-bundle-builder__header-utility-sorting-container">
                    <select
                        aria-label="Sort By"
                        name="selected_sorting_option"
                        v-model="selected_sorting_option"
                        v-on:change="handleBundleBuilderSortingOptionChange"
                        class="rebuy-bundle-builder__header-utility-sorting rebuy-select"
                    >
                        <option disabled value="">Sort By</option>
                        <option v-for="option in sorting_options" :value="option.value" :key="option.value"></option>
                    </select>
                </div>
                <!-- /Sorting Section -->
            </div>
            <!-- /Sorting and Filtering Section -->

            <!-- Page Body Section -->
            <div class="rebuy-bundle-builder__main-body">
                <!-- Steps Section -->
                <div class="rebuy-bundle-builder__steps-container" role="list">
                    <!-- Step Tabs Section -->
                    <div v-if="isBundleBuilderTabLayout()" class="rebuy-bundle-builder__step-tabs rebuy-bundle-builder__step-tabs--sticky">
                        <div class="rebuy-bundle-builder__step-tabs-wrapper">
                            <div
                                v-for="(step, step_index) in config.steps"
                                class="rebuy-bundle-builder__step-tab"
                                v-bind:key="'rebuy-bundle-builder__step-tab-' + step_index"
                                v-bind:class="['rebuy-bundle-builder__step-tab-' + step_index, active_step_index === step_index ? 'active' : '']"
                                v-bind:aria-label="'Select step tab: ' + step.title"
                                role="button"
                                tabindex="0"
                                v-on:click="handleSelectingBundleStep(step_index)"
                                v-on:keydown.enter.space="handleSelectingBundleStep(step_index)"
                            >
                                <h3
                                    v-if="step.title"
                                    v-html="step.title"
                                    class="rebuy-bundle-builder__step-tab-title">
                                </h3>

                                <p
                                    v-if="step.description"
                                    v-html="step.description"
                                    class="rebuy-bundle-builder__step-tab-description">
                                </p>
                            </div>
                        </div>

                        <button
                            v-on:click="scrollToTargetBundleElement('main', id)"
                            class="rebuy-bundle-builder__scroll-to-button"
                            aria-label="scroll to top"
                            >
                            <rebuy-icon name="chevron-up"></rebuy-icon>
                            <span>Top</span>
                        </button>
                    </div>
                    <!-- /Step Tabs Section -->

                    <!-- Step Section -->
                    <div
                        v-for="(step, step_index) in config.steps"
                        class="rebuy-bundle-builder__step-container"
                        v-bind:key="'rebuy-bundle-builder__step-container-' + step_index"
                        v-bind:class="[
                            'rebuy-bundle-builder__step-container-' + step_index,
                            step.unlocked ? '' : 'locked',
                            isBundleBuilderCollapsibleLayout() ? 'rebuy-bundle-builder__step-container--collapsible' : '',
                            !shouldRenderBundleStep(step_index) ? 'rebuy-bundle-builder__step-container--not-active' : 'rebuy-bundle-builder__step-container--active'
                        ]"
                        aria-label="step"
                        role="listitem"
                        >

                        <!-- Step Header Section -->
                        <div v-if="!isBundleBuilderTabLayout()" class="rebuy-bundle-builder__step-header">
                            <div class="rebuy-bundle-builder__step-header-copy-container">
                            
                                <h2
                                    v-if="step.title"
                                    v-html="step.title"
                                    class="rebuy-bundle-builder__step-header-title">
                                </h2>

                                <p
                                    v-if="step.description"
                                    v-html="step.description"
                                    class="rebuy-bundle-builder__step-header-description">
                                </p>
                            </div>

                            <div class="rebuy-bundle-builder__step-header-actions">
                                <div v-if="isBundleBuilderCollapsibleLayout()">
                                    <button
                                        class="rebuy-bundle-builder__step-header-collapse-button"
                                        v-on:click="handleCollapsingBundleStep(step_index)"
                                        v-bind:aria-label="shouldRenderBundleStep(step_index) ? 'Collapse ' + step.title : 'Expand ' + step.title"
                                    >
                                        <rebuy-icon
                                            :name="shouldRenderBundleStep(step_index) ? 'minus' : 'plus'"
                                            class="rebuy-bundle-builder__step-header-collapse-button-icon">
                                        </rebuy-icon>
                                    </button>
                                </div>

                                <button
                                    v-if="!isBundleBuilderCollapsibleLayout()"
                                    v-on:click="scrollToTargetBundleElement('step', id, (step_index - (step_index === 0 ? 0 : 1)))"
                                    :class="[
                                        'rebuy-bundle-builder__scroll-to-button',
                                        step_index === 0 ? 'rebuy-bundle-builder__top-button' : 'rebuy-bundle-builder__prev-button',
                                        'rebuy-bundle-builder__step-button-' + step_index
                                    ]"
                                    aria-label="scroll to top"
                                    >
                                        <rebuy-icon name="chevron-up"></rebuy-icon>
                                        <span v-html="step_index === 0 ? 'Top' : 'Prev'"></span>
                                </button>
                            </div>
                        </div>
                        <!-- /Step Header Section -->

                        <!-- Step Body Section -->
                        <div
                            :role="hasBundleBuilderStepSplideCarousel(step) ? 'region' : 'list'"
                            :aria-roledescription="hasBundleBuilderStepSplideCarousel(step) ? 'carousel' : null"
                            :aria-label="hasBundleBuilderStepSplideCarousel(step) ? (step.title || 'Product carousel') : null"
                            class="rebuy-bundle-builder__step-body rebuy-product-grid start-column rebuy-product-grid-step-100"
                            :class="[getBundleBuilderLayoutClasses(step), 'rebuy-product-grid__step-' + step_index]"
                            >
                            <!-- Step Product Section -->
                            <div
                                v-for="(product, product_index) in step.products"
                                :class="[product.handle, 'product-id-' + product.id, productTagClasses(product), hasBundleBuilderStepSplideCarousel(step) ? 'splide__slide' : '']"
                                class="rebuy-product-block"
                                :aria-label="hasBundleBuilderStepSplideCarousel(step) ? (product.title || 'Product slide') : 'product'"
                                :aria-roledescription="hasBundleBuilderStepSplideCarousel(step) ? 'slide' : null"
                                :role="hasBundleBuilderStepSplideCarousel(step) ? 'group' : 'listitem'"
                                >
                                <div v-if="product.type !== 'placeholder'" class="rebuy-bundle-builder__step-product">
                                    <!-- Product Image Section -->
                                    <div class="rebuy-product-media">
                                        <a
                                            class="rebuy-product-image clickable"
                                            v-bind:href="learnMoreURL(product)"
                                            v-on:click="learnMore(product, $event);"
                                            rel="nofollow"
                                        >
                                            <!-- Preload second img in the background hack, so on hover browser can serve the cached image -->
                                            <img
                                                v-if="product.hover_image"
                                                class="rebuy-style__hidden-block"
                                                v-bind:src="sizeImage(product.hover_image.src, '400x400')"
                                                v-bind:alt="'View ' + product.title"
                                            />

                                            <img
                                                class="rebuy-style__hover-transition"
                                                v-bind:loading="product_index > 1 ? 'lazy' : 'eager'"
                                                v-bind:src="getBundleBuilderProductImage(product)"
                                                v-bind:alt="'View ' + product.title"
                                                v-on:mouseover="handleProductImageHover(product, true)"
                                                v-on:mouseleave="handleProductImageHover(product, false)"
                                            />
                                        </a>
                                    </div>
                                    <!-- /Product Image Section -->

                                    <!-- Product Info Section -->
                                    <div class="rebuy-product-info">
                                        
                                        <h3 class="rebuy-product-title clickable">
                                            <div class="rebuy-product-badge">
                                                <span v-if="product.selected_variant?.metafields?.custom?.badge" v-html="product.selected_variant.metafields.custom.badge"></span>
                                            </div>
                                            
                                            <a
                                                class="rebuy-product-title clickable"
                                                v-bind:href="learnMoreURL(product)"
                                                v-on:click="learnMore(product, $event);"
                                                  v-html="product.title"
                                                v-bind:aria-label="'View ' + product.title"
                                                rel="nofollow">
                                            </a>
                                        </h3>

                                       <div
                                        class="rebuy-variant-title"
                                        v-html="product.selected_variant.title.toLowerCase() !== 'default title'
                                            ? product.selected_variant.title
                                            : ''"
                                        ></div>

                                        <div class="rebuy-product-review" v-if="hasProductReviews(product)" aria-label="product star rating">
                                            <span class="rebuy-star-rating">
                                                <span
                                                    v-if="product.reviews.star_rating"
                                                    class="rebuy-star-rating-value sr-only"
                                                    v-html="product.reviews.star_rating + ' stars out of 5 stars'"
                                                >
                                                </span>
                                                <span class="rebuy-star-rating-background"></span>
                                                <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span>
                                            </span>
                                            <span class="rebuy-review-count" v-html="productReviewCount(product)"></span>
                                        </div>
                                        <div
                                            v-if="showProductDescription(product)"
                                            class="rebuy-product-description rebuy-bundle-builder__product-description"
                                            v-html="text(product.body_html)">
                                        </div>
                                        <div class="rebuy-product-price">
                                            <div v-if="bundleVariantOnSale(product, product.selected_variant)">
                                                <span class="rebuy-money sale">
                                                    <span class="sr-only">Sale price</span>
                                                    <span tabindex="0" v-html="formatMoney(bundleVariantPrice(product, product.selected_variant))"></span>
                                                </span>
                                                <span class="rebuy-money compare-at">
                                                    <span class="sr-only">Original price</span>
                                                    <span v-html="formatMoney(bundleVariantCompareAtPrice(product, product.selected_variant))"></span>
                                                </span>
                                            </div>
                                            <div v-if="!(bundleVariantOnSale(product, product.selected_variant))">
                                                <span class="rebuy-money">
                                                    <span class="sr-only">Price</span>
                                                    <span tabindex="0" v-html="formatMoney(bundleVariantPrice(product, product.selected_variant))"></span>
                                                </span>
                                            </div>
                                        </div>
                                    </div>
                                    <!-- /Product Info Section -->

                                    <!-- Product Variant Selection Section (one dropdown per option, dynamic count) -->
                                    <div class="rebuy-product-options rebuy-product-options--split" v-if="showVariantSelect(product)">
                                        <template v-for="pos in (product.options ? product.options.length : 3)">
                                            <div
                                                v-if="product.variants.some(v => v['option' + pos])"
                                                :key="id + '-optgroup-' + product_index + '-' + pos"
                                                class="rebuy-product-options__group"
                                            >
                                                <select
                                                    :id="id + '-select-' + product_index + '-' + pos"
                                                    class="rebuy-select rebuy-product-options__select"
                                                    :aria-label="'Option ' + pos + ' of ' + product.title"
                                                    :value="product.selected_variant['option' + pos]"
                                                    v-on:change="
                                                        product.selected_variant_id = (
                                                            product.variants.find(v =>
                                                                v['option' + pos] === $event.target.value &&
                                                                Array.from({ length: (product.options ? product.options.length : 3) }, (_, k) => k + 1).every(p => p === pos || !product.selected_variant['option' + p] || v['option' + p] === product.selected_variant['option' + p])
                                                            )
                                                            || product.variants.find(v => v['option' + pos] === $event.target.value)
                                                            || product.selected_variant
                                                        ).id;
                                                        selectVariant(product);
                                                    "
                                                >
                                                    <option
                                                        v-for="val in product.variants.map(v => v['option' + pos]).filter((x, i, a) => x != null && x !== '' && a.indexOf(x) === i)"
                                                        :key="'optval-' + pos + '-' + val"
                                                        :value="val"
                                                        :disabled="!product.variants.filter(v => v['option' + pos] === val).some(v => variantAvailable(v))"
                                                        v-html="val"
                                                    ></option>
                                                </select>
                                            </div>
                                        </template>
                                    </div>
                                    <!-- /Product Variant Selection Section -->

                                    <!--  Product CTA Section -->
                                    <div class="rebuy-bundle-builder__product-actions rebuy-product-actions">
                                        <button
                                            v-if="hasProductQuickViewEnabled()"
                                            v-on:click="openVariantModal(product, step, step_index)"
                                            class="rebuy-button secondary rebuy-bundle-builder__product-quick-view"
                                            v-html="getBundleConfigLabel('quick_view_label')"
                                        >
                                        </button>

                                        <div class="rebuy-bundle-builder__product-quantity">
                                            <div v-if="foundStepProductInBundleHolder(product.selected_variant_id, step_index)">
                                                <div class="rebuy-bundle-builder__item-quantity-widget">
                                                    <button
                                                        class="rebuy-bundle-builder__item-quantity-widget-button"
                                                        v-on:click="removeLastAddedProductStep(product.selected_variant_id, step_index)"
                                                        v-bind:aria-label="'Decrease quantity of ' + product.title"
                                                        >
                                                        <rebuy-icon name="minus" class="rebuy-grey"></rebuy-icon>
                                                    </button>

                                                    <span
                                                        class="rebuy-bundle-builder__item-quantity-widget-label"
                                                        v-html="getBundleVariantQuantity(product.selected_variant_id, step_index)">
                                                    </span>

                                                    <button
                                                        class="rebuy-bundle-builder__item-quantity-widget-button"
                                                        v-on:click="addProductToBundle(product, step, step_index)"
                                                        v-bind:aria-label="'Increase quantity of ' + product.title"
                                                        v-bind:disabled="shouldDisableProductAddToBundle(product, step, step_index)"
                                                        >
                                                        <rebuy-icon name="plus" class="rebuy-grey"></rebuy-icon>
                                                    </button>
                                                </div>
                                            </div>


                                            <button
                                                v-if="!foundStepProductInBundleHolder(product.selected_variant_id, step_index)"
                                                class="rebuy-button"
                                                v-bind:disabled="shouldDisableProductAddToBundle(product, step, step_index)"
                                                v-bind:aria-label="buttonAriaLabel(product)"
                                                v-on:click="addProductToBundle(product, step, step_index)"
                                            >
                                                <span v-if="!variantAvailable(product.selected_variant)" v-html="getBundleConfigLabel('sold_out')"></span>
                                                <span v-else v-html="getBundleConfigLabel('add_to_bundle', step)"></span>
                                            </button>
                                        </div>
                                    </div>
                                    <!--  /Product CTA Section -->
                                </div>

                                <!--  Product Skeleton Section -->
                                <div
                                    v-if="product.type === 'placeholder'"
                                    class="rebuy-bundle-builder__step-product-skeleton">
                                    <span></span>
                                </div>
                                <!--  /Product Skeleton Section -->

                            </div>
                            <!-- /Step Product Section -->
                        </div>
                        <!-- /Step Body Section -->
                    </div>
                    <!-- /Step Section -->
                </div>
                <!-- /Steps Section -->

                <!-- Product Group Section -->
                <div
                    class="rebuy-bundle-builder__group-container"
                    v-bind:class="[has_container_expanded ? 'expanded' : 'default']">
                    <div class="rebuy-bundle-builder__group-container-inner">
                        <div class="rebuy-bundle-builder__group-container-header">
                            <div class="rebuy-bundle-builder__group-container-header--left">
                                <h3
                                    class="rebuy-bundle-builder__group-container-header-title"
                                    v-html="getBundleConfigLabel('bundle_container_title')"
                                >
                                </h3>

                                <span class="rebuy-bundle-builder__group-container-header-title-count">
                                    <span
                                        class="rebuy-bundle-builder__group-container-header-products_count"
                                        v-html="getBundleContainerHeaderValue('products_count')">
                                    </span>

                                    <span class="rebuy-bundle-builder__group-container-header-divider">/</span>

                                    <span
                                        class="rebuy-bundle-builder__group-container-header-container-length"
                                        v-html="getBundleContainerHeaderValue('container_length')">
                                    </span>
                                </span>
                            </div>

                            <button
                                class="rebuy-bundle-builder__group-container-header-expand"
                                v-on:click="handleExpandingBundleContainer()"
                                :aria-label="hasBundleContainerExpanded() ? 'Collapse bundle container' : 'Expand bundle container'"
                                :aria-expanded="hasBundleContainerExpanded()"
                                >
                                <svg  v-if="hasBundleContainerExpanded()" xmlns="http://www.w3.org/2000/svg" width="16" height="10" viewBox="0 0 14 8" fill="none">
                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M0.183058 1.06689C-0.0610194 0.822815 -0.0610194 0.427087 0.183058 0.18301C0.416524 -0.050456 0.78874 -0.060607 1.03427 0.152557L1.06694 0.18301L6.575 5.6912L12.0831 0.18301C12.3165 -0.050456 12.6887 -0.060607 12.9343 0.152557L12.9669 0.18301C13.2004 0.416475 13.2106 0.788691 12.9974 1.03422L12.9669 1.06689L7.01694 7.01689C6.78348 7.25036 6.41126 7.26051 6.16573 7.04734L6.13306 7.01689L0.183058 1.06689Z" fill="#161819"/>
                                </svg>

                                <svg  v-if="!hasBundleContainerExpanded()" xmlns="http://www.w3.org/2000/svg" width="16" height="10" viewBox="0 0 14 8" fill="none">
                                    <path fill-rule="evenodd" clip-rule="evenodd" d="M0.183058 6.13306C-0.0610194 6.37714 -0.0610194 6.77286 0.183058 7.01694C0.416524 7.25041 0.78874 7.26056 1.03427 7.04739L1.06694 7.01694L6.575 1.50875L12.0831 7.01694C12.3165 7.25041 12.6887 7.26056 12.9343 7.04739L12.9669 7.01694C13.2004 6.78348 13.2106 6.41126 12.9974 6.16573L12.9669 6.13306L7.01694 0.183058C6.78348 -0.0504074 6.41126 -0.060558 6.16573 0.152606L6.13306 0.183058L0.183058 6.13306Z" fill="#161819"/>
                                </svg>
                            </button>
                        </div>

                        <!-- Bundle Tier Progress Bar -->
                        <div class="rebuy-builder__progress-containew">
                            <div v-if="shouldDisplayBundleTierProgressBar()" class="rebuy-bundle-builder__group-container-progress-bar">
                                <div
                                    class="rebuy-bundle-builder__group-progress-step-wrapper rebuy-bundle-builder__progress-step-wrapper"
                                    v-bind:class="[ 'count-' + config.discount.tiers.length  ]"
                                    >
                                    <div
                                        v-for="(tier, tier_index) in config.discount.tiers"
                                        class="rebuy-bundle-builder__progress-step"
                                        v-bind:style="{ left: progressStepPosition(tier) }"
                                        v-bind:class="[
                                            progressTierReached(tier, products) ? 'complete' : '',
                                            'rebuy-bundle-builder__progress-step--' + tier_index
                                        ]"
                                        >

                                        <div
                                            class="rebuy-bundle-builder__progress-step-icon"
                                            v-bind:class="[ 'rebuy-bundle-builder__progress-step-icon-type-' + getBundleTierProgressStepType(tier) ]"
                                        >
                                            <span
                                                v-if="getBundleTierProgressStepType(tier) !== 'none'"
                                                v-html="formatBundleTierValue(tier.discount_value, tier.discount_type)"
                                                class="rebuy-bundle-builder__progress-step-value"
                                                v-bind:class="[ 'rebuy-bundle-builder__progress-step-value-type--' + getBundleTierProgressStepType(tier) ]"
                                                >
                                            </span>
                                        </div>

                                        <span
                                            class="rebuy-bundle-builder__progress-step-label"
                                            v-html="formatBundleTierLabel(tier)">
                                        </span>
                                    </div>
                                </div>

                                <div class="rebuy-bundle-builder__progress-bar-wrapper">
                                    <div
                                        class="rebuy-bundle-builder__progress-bar-meter"
                                        v-bind:class="[hasTierProgress(products) ? 'has-progress' : 'no-progress']">
                                        <div
                                            class="rebuy-bundle-builder__progress-bar-meter-fill"
                                            v-bind:style="{ width: tiersPercentageComplete(config.discount.tiers, products) }"
                                            role="progressbar"
                                            tabindex="0"
                                            aria-valuemin="0"
                                            aria-valuemax="100"
                                            :aria-valuenow="tiersPercentageCompleteNumeric(config.discount.tiers, products)"
                                            aria-label="Bundle tier progress"
                                        >
                                            <span class="sr-only" v-html="'Bundle progress: ' + tiersPercentageComplete(config.discount.tiers, products) + ' complete'"></span>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <!-- /Bundle Tier Progress Bar -->

                        <!-- Bundle Gifts Selecting Section -->
                        <div v-if="isEligibleDiscountWithGift()" class="rebuy-bundle-builder__group-container-gifts">
                            <h3 class="rebuy-bundle-builder__gift-header" v-html="getBundleDiscountTierLabel('gift_header_message')"></h3>

                            <div
                                v-for="(product, product_index) in eligible_discount.gift_items"
                                v-if="product.data"
                                class="rebuy-bundle-builder__gift-product"
                                v-bind:key="'rebuy-bundle-builder-gift-product--' + product_index"
                            >
                                <div class="rebuy-bundle-builder__gift-product-image">
                                    <img
                                        v-bind:src="itemImage(product.data, product.data.selected_variant, '80x80')"
                                        v-bind:alt="'View ' + product.data.title"
                                    />
                                </div>

                                <div class="rebuy-bundle-builder__gift-product-info-wrapper">
                                    <div class="rebuy-bundle-builder__gift-product-info">
                                        <h3 class="rebuy-bundle-builder__gift-product-title" v-html="product.data.title"></h3>
                                    </div>

                                    <div v-if="product.data.variants.length > 1" class="rebuy-product-options">
                                        <select
                                            :id="id + '-' + 'gift-select' + '-' + product_index"
                                            class="rebuy-select rebuy-bundle-builder__gift-product-select"
                                            v-bind:aria-label="'variant of ' + product.data.title"
                                            v-model="product.data.selected_variant_id"
                                            v-on:change="selectVariant(product.data)">
                                            <option
                                                v-for="variant in product.data.variants"
                                                class="rebuy-product-options__option"
                                                :class="{ 'rebuy-product-options__option--oos' : !variantAvailable(variant) }"
                                                v-bind:value="variant.id"
                                                :disabled="!variantAvailable(variant)"
                                                v-html="formatVariantOptionTitle(variant)">
                                            </option>
                                        </select>
                                    </div>

                                    <div class="rebuy-bundle-builder__gift-product-actions">
                                        <button
                                            v-if="hasSelectedGiftProduct(product.data)"
                                            class="rebuy-bundle-builder__gift-product-button rebuy-bundle-builder__gift-product-button--remove"
                                            v-on:click="handleRemovingGiftProduct(product.data)"
                                            :aria-label="'Remove gift: ' + product.data.title">
                                            <rebuy-icon name="x"></rebuy-icon>
                                        </button>

                                        <button
                                            v-if="!hasSelectedGiftProduct(product.data)"
                                            class="rebuy-button rebuy-bundle-builder__gift-product-button rebuy-bundle-builder__gift-product-button--add"
                                            v-on:click="handleAddingGiftProduct(product.data)">
                                            <span v-html="getBundleConfigLabel('select_gift')"></span>
                                        </button>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <!-- /Bundle Gifts Selecting Section -->


                        <!-- Bundle Products Section -->
                        <div class="rebuy-builder_fill-container">
                            <div
                                class="rebuy-bundle-builder__group-container-body"
                                v-bind:class="[has_container_expanded ? 'expanded' : 'default']">
                                <div
                                    class="rebuy-bundle-builder__group-container-body-items"
                                    role="list"
                                    tabindex="0"
                                    aria-label="Selected bundle products"
                                >
                                    <div
                                        v-for="(product, product_index) in bundleProducts"
                                        class="rebuy-bundle-builder__product-holder"
                                        :aria-label="product.title || 'Bundle product'"
                                        role="listitem"
                                        >
                                        <div
                                            v-if="product.classification === 'placeholder'"
                                            class="rebuy-bundle-builder__product-holder-template"
                                            >
                                            <div class="rebuy-bundle-builder__product-sign-holder">
                                                <span class="rebuy-bundle-builder__product-holder-icon">
                                                    <rebuy-icon name="plus"></rebuy-icon>
                                                </span>
                                            </div>

                                            <div class="rebuy-bundle-builder__product-holder-detail">
                                                <h3
                                                    class="rebuy-bundle-builder__product-holder-detail-title"
                                                    v-html="getBundleConfigLabel('select_product')">
                                                </h3>

                                                <p
                                                    v-if="product.label"
                                                    class="rebuy-bundle-builder__product-holder-detail-description"
                                                    v-html="product.label">
                                                </p>
                                            </div>
                                        </div>

                                        <div v-if="!product.classification" class="rebuy-bundle-builder__product-holder-data">
                                            <div class="rebuy-bundle-builder__product-holder-info--left">
                                                <!-- Product Image Section -->
                                                <div class="rebuy-bundle-builder__product-holder-media rebuy-product-media">
                                                    <img
                                                        v-bind:src="itemImage(product, product.selected_variant, '160x160')"
                                                        v-bind:alt="'View ' + product.title"
                                                    />
                                                </div>
                                                <!-- /Product Image Section -->

                                                <!-- Product Info Section -->
                                                <div class="rebuy-bundle-builder__product-holder-info rebuy-product-info">
                                                    <h3 class="rebuy-bundle-builder__product-holder-info-title rebuy-product-title" v-html="product.title"></h3>

                                                <p
                                                        v-if="!shouldHideDefaultVariantTitle(product)"
                                                        class="rebuy-bundle-builder__product-holder-info-variant rebuy-variant-title"
                                                        v-html="(() => {
                                                            const title = product.selected_variant.title.split(' / ').join(', ');
                                                            return title.toLowerCase() !== 'default title' ? title : '';
                                                            })() "
                                                    >
                                                    </p>

                                                    <div class="rebuy-bundle-builder__product-holder-info-price rebuy-product-price">
                                                        <div v-if="bundleVariantOnSale(product, product.selected_variant, true)">
                                                            <span class="rebuy-money compare-at">
                                                                <span class="sr-only">Original price</span>
                                                                <span v-html="formatMoney(bundleVariantCompareAtPrice(product, product.selected_variant))"></span>
                                                            </span>
                                                            <span class="rebuy-money sale">
                                                                <span class="sr-only">Sale price</span>
                                                                <span tabindex="0" v-html="formatMoney(bundleVariantPrice(product, product.selected_variant))"></span>
                                                            </span>
                                                            <div
                                                                v-if="isFixedDiscountBundle()"
                                                                class="rebuy-bundle-builder__fixed-discount-line-item-message"
                                                                v-html="getBundleConfigLabel('fixed_tier_discount')">
                                                            </div>
                                                        </div>
                                                        <div v-if="!(bundleVariantOnSale(product, product.selected_variant, true))">
                                                            <span class="rebuy-money">
                                                                <span class="sr-only">Price</span>
                                                                <span tabindex="0" v-html="formatMoney(bundleVariantPrice(product, product.selected_variant))"></span>
                                                            </span>
                                                        </div>
                                                    </div>
                                                </div>
                                            </div>

                                            <div class="rebuy-bundle-builder__product-holder-info--right">
                                                <button
                                                    class="rebuy-bundle-builder__product-holder-info-delete"
                                                    v-on:click="handleRemovingProductFromBundle(product_index)"
                                                    :aria-label="'Remove ' + product.title + ' from bundle'"
                                                >
                                                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
                                                        <path d="M9.82667 6.00035L9.596 12.0003M6.404 12.0003L6.17333 6.00035M10.5 3.59568C11.2758 3.65574 12.0492 3.74403 12.8187 3.86035C13.0467 3.89501 13.2733 3.93168 13.5 3.97101M12.8187 3.86035L12.1067 13.1157C12.0776 13.4925 11.9074 13.8445 11.63 14.1012C11.3527 14.3579 10.9886 14.5005 10.6107 14.5003H5.38933C5.0114 14.5005 4.64735 14.3579 4.36999 14.1012C4.09262 13.8445 3.92239 13.4925 3.89333 13.1157L3.18133 3.86035M3.18133 3.86035C2.95333 3.89435 2.72667 3.93101 2.5 3.97035M3.18133 3.86035C3.95076 3.74403 4.72416 3.65575 5.5 3.59568M10.5 3.59568V2.98501C10.5 2.19835 9.89333 1.54235 9.10667 1.51768C8.36908 1.49411 7.63092 1.49411 6.89333 1.51768C6.10667 1.54235 5.5 2.19901 5.5 2.98501V3.59568M10.5 3.59568C8.83581 3.46707 7.16419 3.46707 5.5 3.59568" stroke="black" stroke-width="1.125" stroke-linecap="round" stroke-linejoin="round"/>
                                                    </svg>
                                                </button>
                                            </div>
                                            <!-- /Product Info Section -->
                                        </div>
                                    </div>
                                </div>
                                <!-- /Bundle Products Section -->

                                <!-- Total Savings Amount -->
                                <div
                                    v-if="hasBundleBuilderTotalSavingsEnabled() && getBundleTotalSavingAmount(products) > 0"
                                    class="rebuy-bundle-builder__total-savings-container">
                                        <span class="rebuy-bundle-builder__total-savings-label">
                                            Total Savings:
                                        </span>
                                        <span
                                            class="rebuy-bundle-builder__total-savings-amount rebuy-money sale"
                                            v-html="formatMoney(getBundleTotalSavingAmount(products))">
                                        </span>
                                </div>
                                <!-- /Total Savings Amount -->

                                <!-- Subscription Options Section -->
                                            <div v-if="hasSellingPlansIntervalList()">
                                                <div v-if="hasSelectedEnabledBundleSubscription()" class="rebuy-bundle-builder__subscription-options">
                                                    <!-- Subscription Radio Box -->
                                                    <div
                                                        class="rebuy-bundle-builder__action-box-cta rebuy-bundle-builder__action-box-subscription"
                                                        v-bind:class="[!hasSellingPlansIntervalList() ? 'rebuy-bundle-builder__action-box-cta--disabled' : '' ]">
                                                        <div class="rebuy-bundle-builder__action-box-top">
                                                            <label class="rebuy-radio-label">
                                                                <input
                                                                    class="radio-input rebuy-radio rebuy-bundle-builder__action-box-radio"
                                                                    v-model="selected_purchase_type"
                                                                    value="subscription"
                                                                    type="radio"
                                                                    v-bind:disabled="!hasSellingPlansIntervalList()"
                                                                />
                                                                <span
                                                                    class="rebuy-bundle-builder__action-box-label"
                                                                    v-html="getBundleConfigLabel('switch_to_subscription_title')"
                                                                >
                                                                </span>
                                                            </label>

                                                            <div class="rebuy-bundle-builder__action-box-price">
                                                                <span v-if="bundleHasEligibleDiscount(products) || getSubBundleSubtotalSavingPercent(products)">
                                                                    <span class="rebuy-money compare-at">
                                                                        <span class="sr-only">Original subtotal price</span>
                                                                        <span v-html="formatMoney(getBundleSubtotal(products))"></span>
                                                                    </span>

                                                                    <span class="rebuy-money sale">
                                                                        <span class="sr-only">Sale subtotal price</span>
                                                                        <span tabindex="0" v-html="formatMoney(getSubBundleDiscountedSubtotal(products))"></span>
                                                                    </span>
                                                                </span>

                                                                <span v-if="!getSubBundleSubtotalSavingPercent(products) && (!bundleHasEligibleDiscount(products) && getBundleSubtotal(products))" class="rebuy-money sale">
                                                                    <span class="sr-only">Subtotal price</span>
                                                                    <span tabindex="0" v-html="formatMoney(getBundleSubtotal(products))"></span>
                                                                </span>
                                                            </div>
                                                        </div>

                                                        <div class="rebuy-bundle-builder__action-box-bottom">
                                                            <p
                                                                v-if="getBundleConfigLabel('switch_to_subscription_description')"
                                                                class="rebuy-bundle-builder__action-box-description"
                                                                v-html="getBundleConfigLabel('switch_to_subscription_description')">
                                                            </p>

                                                            <div v-if="hasSellingPlansIntervalList()" class="rebuy-bundle-builder__action-box-details">
                                                                <select
                                                                    id="rebuy-bundle-builder-subscription-interval"
                                                                    class="rebuy-select rebuy-bundle-builder__action-box-select"
                                                                    v-model="selected_interval"
                                                                    v-on:change="handleSubscriptionIntervalChange($event)"
                                                                    aria-label="Select subscription delivery interval"
                                                                    >
                                                                    <option
                                                                        v-for="(interval, interval_index) in selling_plan_interval_list"
                                                                        v-bind:key="'rebuy-bundle-builder-subscription-interval--' + interval_index"
                                                                        v-bind:value="interval"
                                                                        v-html="interval"
                                                                    >
                                                                    
                                                                    </option>
                                                                </select>

                                                                <span v-if="getBundleConfigLabel('save_label') && getSubBundleSubtotalSavingPercent(products)" class="rebuy-bundle-builder__action-box-saving">
                                                                     <span v-html="getBundleConfigLabel('save_label')"></span>
                                                                    <span v-html="getRoundedSavingPercent(getSubBundleSubtotalSavingPercent(products))"></span>
                                                                </span>
                                                            </div>

                                                            <p
                                                                v-if="hasExcludedBundleDiscountEnabled() && getBundleConfigLabel('excluded_bundle_discount_text')"
                                                                class="rebuy-bundle-builder__action-box-note"
                                                                v-html="getBundleConfigLabel('excluded_bundle_discount_text')">
                                                            </p>
                                                        </div>
                                                    </div>
                                                    <!-- /Subscription Radio Box -->

                                                    <!-- One-time Radio Box -->
                                                    <div v-if="!hasBundleBuilderSubscriptionOnlyEnabled()" class="rebuy-bundle-builder__action-box-cta rebuy-bundle-builder__action-box-subscription">
                                                        <div class="rebuy-bundle-builder__action-box-top">
                                                            <label class="rebuy-radio-label">
                                                                <input
                                                                    class="radio-input rebuy-radio rebuy-bundle-builder__action-box-radio"
                                                                    v-model="selected_purchase_type"
                                                                    value="one-time"
                                                                    type="radio"
                                                                />
                                                                <span
                                                                    v-if="getBundleConfigLabel('one_time_title')"
                                                                    class="rebuy-bundle-builder__action-box-label"
                                                                    v-html="getBundleConfigLabel('one_time_title')"
                                                                >
                                                                </span>
                                                            </label>

                                                            <div class="rebuy-bundle-builder__action-box-price">
                                                                <span v-if="bundleHasEligibleDiscount()">
                                                                    <span class="rebuy-money compare-at">
                                                                        <span class="sr-only">Original subtotal price</span>
                                                                        <span v-html="formatMoney(getBundleSubtotal(products))"></span>
                                                                    </span>

                                                                    <span class="rebuy-money sale">
                                                                        <span class="sr-only">Sale subtotal price</span>
                                                                        <span tabindex="0" v-html="formatMoney(getBundleDiscountedSubtotal(products))"></span>
                                                                    </span>
                                                                </span>

                                                                <span v-if="!bundleHasEligibleDiscount() && getBundleSubtotal(products)" class="rebuy-money sale">
                                                                    <span class="sr-only">Subtotal price</span>
                                                                    <span tabindex="0" v-html="formatMoney(getBundleSubtotal(products))"></span>
                                                                </span>
                                                            </div>
                                                        </div>

                                                        <div class="rebuy-bundle-builder__action-box-bottom">
                                                            <p
                                                                v-if="getBundleConfigLabel('one_time_description')"
                                                                class="rebuy-bundle-builder__action-box-description"
                                                                v-html="getBundleConfigLabel('one_time_description')">
                                                            </p>
                                                        </div>
                                                    </div>
                                                    <!-- /One-time Order Radio Box -->
                                                </div>
                                            </div>

                                
                            </div>
                        </div>
                        
                        <!-- /Subscription Options Section -->

                        <!-- Add to Cart Section -->
                        <div class="rebuy-bundle-builder__group-container-action">
                            <div class="rebuy-bundle-builder__cta-container">
                                <button
                                    v-if="hasBundleBuilderAddToCartButton()"
                                    class="rebuy-button"
                                    :class="[hasBundleBuilderAccelerateCheckout() ? 'secondary' : '']"
                                    v-on:click="addSelectedProductsToCart()"
                                    v-bind:disabled="shouldDisableAddBundleToCart(products)"
                                    aria-label="Add all selected products to cart"
                                    >
                                    <span v-html="buttonWidgetLabel()"></span>

                                    <span v-if="!hasSelectedEnabledBundleSubscription()">
                                        <span v-if="bundleHasEligibleDiscount()">
                                            <span class="rebuy-money sale">
                                                <span class="sr-only">Sale subtotal price</span>
                                                <span tabindex="0" v-html="formatMoney(getBundleDiscountedSubtotal(products))"></span>
                                            </span>

                                            <span class="rebuy-money compare-at">
                                                <span class="sr-only">Original subtotal price</span>
                                                <span v-html="formatMoney(getBundleSubtotal(products))"></span>
                                            </span>
                                        </span>

                                        <span v-if="!bundleHasEligibleDiscount() && getBundleSubtotal(products)" class="rebuy-money sale">
                                            <span class="sr-only">Subtotal price</span>
                                            <span tabindex="0" v-html="formatMoney(getBundleSubtotal(products))"></span>
                                        </span>
                                    </span>
                                </button>

                                <button
                                    v-if="hasBundleBuilderAccelerateCheckout()"
                                    class="rebuy-button"
                                    v-on:click="addSelectedProductsToCheckout()"
                                    v-bind:disabled="shouldDisableAddBundleToCart(products)"
                                    aria-label="Add all selected products to checkout"
                                    >
                                    <span v-html="getBundleBuilderCTAButtonLabel('checkout')"></span>

                                    <span v-if="!hasSelectedEnabledBundleSubscription()">
                                        <span v-if="bundleHasEligibleDiscount()">
                                            <span class="rebuy-money sale">
                                                <span class="sr-only">Sale subtotal price</span>
                                                <span tabindex="0" v-html="formatMoney(getBundleDiscountedSubtotal(products))"></span>
                                            </span>

                                            <span class="rebuy-money compare-at">
                                                <span class="sr-only">Original subtotal price</span>
                                                <span v-html="formatMoney(getBundleSubtotal(products))"></span>
                                            </span>
                                        </span>

                                        <span v-if="!bundleHasEligibleDiscount() && getBundleSubtotal(products)" class="rebuy-money sale">
                                            <span class="sr-only">Subtotal price</span>
                                            <span tabindex="0" v-html="formatMoney(getBundleSubtotal(products))"></span>
                                        </span>
                                    </span>
                                </button>
                            </div>
                        </div>
                    </div>
                    <!-- /Add to Cart Section -->
                </div>
                <!-- /Product Group Section -->
            </div>
            <!-- /Body Section -->
        </div>


        <div
            v-if="has_container_expanded"
            class="rebuy-bundle-builder__full-screen-background rebuy-full-screen__background"
            v-on:click="handleExpandingBundleContainer()">
        </div>
    </div>
</script>


    
    
    
    
<script>
 var customer = {};
 
</script><!-- BEGIN app block: shopify://apps/redirects-by-shopkit/blocks/redirects/cef9e0c4-4559-4f25-9851-70338bce1224 -->
<script>
    const redirects = []
    const foundRedirect = redirects.find(redirect => {
      const isPathName = redirect.from.startsWith("/");
      if (isPathName) {
        return redirect.from === window.location.pathname;
      }
      try {
        return new URL(redirect.from).toString() === new URL(window.location.href).toString();
      } catch (e) {}
      return redirect.from === window.location.href;
    });
    if (foundRedirect) {
      document.querySelector('html').style.display = 'none';
      window.location.href = foundRedirect.to;
    }
  </script><!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core -->







<link rel="dns-prefetch" href="https://cdn.judge.me">
<link rel="dns-prefetch" href="https://cdn1.judge.me">
<link rel="dns-prefetch" href="https://api.judge.me">

<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":true,"coupon_receiving_condition":"any_review","coupon_value_type":"percentage","coupon_value_percentage":10,"coupon_value_fixed_amount":0,"coupon_discount_type":"single","coupon_tier_text_enabled":false,"coupon_tier_text_percentage":10,"coupon_tier_text_fixed_amount":0,"coupon_tier_photo_enabled":false,"coupon_tier_photo_percentage":10,"coupon_tier_photo_fixed_amount":0,"coupon_tier_video_enabled":false,"coupon_tier_video_percentage":10,"coupon_tier_video_fixed_amount":0,"enable_coupons":false,"badge_no_review_text":"No reviews","badge_n_reviews_text":"{{ average_rating_1_decimal }}","badge_star_color":"#26262C","hide_badge_preview_if_no_reviews":true,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"What our customers say","widget_open_form_text":"Write a review","widget_close_form_text":"Cancel review","widget_refresh_page_text":"Refresh page","widget_summary_text":"Based on {{ number_of_reviews }} review/reviews","widget_no_review_text":"Be the first to write a review","widget_name_field_text":"Display name","widget_verified_name_field_text":"Verified Name (public)","widget_name_placeholder_text":"Display name","widget_required_field_error_text":"This field is required.","widget_email_field_text":"Email address","widget_verified_email_field_text":"Verified Email (private, can not be edited)","widget_email_placeholder_text":"Your email address","widget_email_field_error_text":"Please enter a valid email address.","widget_rating_field_text":"Rating","widget_review_title_field_text":"Review Title","widget_review_title_placeholder_text":"Give your review a title","widget_review_body_field_text":"Review content","widget_review_body_placeholder_text":"Start writing here...","widget_pictures_field_text":"Picture/Video (optional)","widget_submit_review_text":"Submit Review","widget_submit_verified_review_text":"Submit Verified Review","widget_submit_success_msg_with_auto_publish":"Thank you! Please refresh the page in a few moments to see your review. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_submit_success_msg_no_auto_publish":"Thank you! Your review will be published as soon as it is approved by the shop admin. You can remove or edit your review by logging into \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e","widget_show_default_reviews_out_of_total_text":"Showing {{ n_reviews_shown }} out of {{ n_reviews }} reviews.","widget_show_all_link_text":"Show all","widget_show_less_link_text":"Show less","widget_author_said_text":"{{ reviewer_name }} said:","widget_days_text":"{{ n }} days ago","widget_weeks_text":"{{ n }} week/weeks ago","widget_months_text":"{{ n }} month/months ago","widget_years_text":"{{ n }} year/years ago","widget_yesterday_text":"Yesterday","widget_today_text":"Today","widget_replied_text":"\u003e\u003e {{ shop_name }} replied:","widget_read_more_text":"Read more","widget_reviewer_name_as_initial":"","widget_rating_filter_color":"#fbcd0a","widget_rating_filter_see_all_text":"See all reviews","widget_sorting_most_recent_text":"Most Recent","widget_sorting_highest_rating_text":"Highest Rating","widget_sorting_lowest_rating_text":"Lowest Rating","widget_sorting_with_pictures_text":"Only Pictures","widget_sorting_most_helpful_text":"Most Helpful","widget_open_question_form_text":"Ask a question","widget_reviews_subtab_text":"Reviews","widget_questions_subtab_text":"Questions","widget_question_label_text":"Question","widget_answer_label_text":"Answer","widget_question_placeholder_text":"Write your question here","widget_submit_question_text":"Submit Question","widget_question_submit_success_text":"Thank you for your question! We will notify you once it gets answered.","widget_star_color":"#26262C","verified_badge_text":"Verified","verified_badge_bg_color":"","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":"","widget_hide_border":false,"widget_social_share":false,"widget_thumb":false,"widget_review_location_show":false,"widget_location_format":"","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(out of store)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"about","enable_review_pictures":true,"enable_question_anwser":false,"widget_theme":"default","review_date_format":"mm/dd/yyyy","default_sort_method":"most-recent","enable_ai_review_visibility":true,"widget_product_reviews_subtab_text":"Product Reviews","widget_shop_reviews_subtab_text":"Shop Reviews","widget_other_products_reviews_text":"Reviews for other products","widget_store_reviews_subtab_text":"Store reviews","widget_product_variant_reference_text":"Review for","widget_no_store_reviews_text":"This store hasn't received any reviews yet","widget_web_restriction_product_reviews_text":"This product hasn't received any reviews yet","widget_no_items_text":"No items found","widget_show_more_text":"Show more","widget_write_a_store_review_text":"Write a Store Review","widget_product_and_store_reviews_text":"Product and store reviews","widget_reviews_in_collection_text":"Reviews in this collection","widget_other_languages_heading":"Reviews in Other Languages","widget_translate_review_text":"Translate review to {{ language }}","widget_translating_review_text":"Translating...","widget_show_original_translation_text":"Show original ({{ language }})","widget_translate_review_failed_text":"Review couldn't be translated.","widget_translate_review_retry_text":"Retry","widget_translate_review_try_again_later_text":"Try again later","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Pictures First","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"★ Reviews","floating_tab_title":"Let customers speak for us","floating_tab_button_color":"","floating_tab_button_background_color":"","floating_tab_url":"","floating_tab_url_enabled":false,"floating_tab_tab_style":"text","all_reviews_text_badge_text":"Customers rate us {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 based on {{ shop.metafields.judgeme.all_reviews_count }} reviews.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} out of 5 stars based on {{ shop.metafields.judgeme.all_reviews_count }} reviews","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"branded","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":false,"featured_carousel_show_header":true,"featured_carousel_title":"Let customers speak for us","testimonials_carousel_title":"Customers are saying","videos_carousel_title":"Real customer stories","cards_carousel_title":"Customers are saying","featured_carousel_count_text":"from {{ n }} reviews","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":250,"featured_carousel_width":80,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#eeeeee","verified_count_badge_style":"branded","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":false,"widget_pagination_use_custom_color":false,"widget_star_use_custom_color":false,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":true,"mute_video_by_default":true,"widget_sorting_videos_first_text":"Videos First","widget_review_pending_text":"Pending","featured_carousel_items_for_large_screen":3,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":true,"disable_json_ld":false,"enable_json_ld_products":false,"preview_badge_show_question_text":false,"preview_badge_no_question_text":"No questions","preview_badge_n_question_text":"{{ number_of_questions }} question/questions","qa_badge_show_icon":false,"qa_badge_position":"same-row","remove_judgeme_branding":false,"widget_add_search_bar":false,"widget_search_bar_placeholder":"Search","widget_sorting_verified_only_text":"Verified only","widget_sorting_most_relevant_text":"Most Relevant","featured_carousel_theme":"default","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":false,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":false,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#108474","featured_carousel_empty_star_background":"#dadada","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":true,"featured_carousel_verified_badge_color":"#108474","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Read more reviews","featured_carousel_view_product_button_text":"View product","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Load More Reviews","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":false,"widget_advanced_speed_features":5,"widget_public_name_text":"displayed publicly like","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonymous","medals_widget_title":"Judge.me Review Medals","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"left","medals_widget_use_monochromatic_version":false,"medals_widget_elements_color":"#108474","show_reviewer_avatar":true,"widget_invalid_yt_video_url_error_text":"Not a YouTube video URL","widget_max_length_field_error_text":"Please enter no more than {0} characters.","widget_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Verified by Shop","widget_show_photo_gallery":false,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Made by us, Shared by you","widget_ugc_subtitle":"Tag us to see your picture featured in our page","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Buy Now","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Load More","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"View Reviews","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#208468","widget_enable_secondary_color":false,"widget_secondary_color":"#edf5f5","widget_summary_average_rating_text":"{{ average_rating }} out of 5","widget_media_grid_title":"Customer photos \u0026 videos","widget_media_grid_see_more_text":"See more","widget_round_style":false,"widget_show_product_medals":false,"widget_verified_by_judgeme_text":"Verified by Judge.me","widget_show_store_medals":true,"widget_verified_by_judgeme_text_in_store_medals":"Verified by Judge.me","widget_media_field_exceed_quantity_message":"Sorry, we can only accept {{ max_media }} for one review.","widget_media_field_exceed_limit_message":"{{ file_name }} is too large, please select a {{ media_type }} less than {{ size_limit }}MB.","widget_review_submitted_text":"Review Submitted!","widget_question_submitted_text":"Question Submitted!","widget_close_form_text_question":"Cancel","widget_write_your_answer_here_text":"Write your answer here","widget_enabled_branded_link":true,"widget_show_collected_by_judgeme":false,"widget_reviewer_name_color":"","widget_write_review_text_color":"","widget_write_review_bg_color":"","widget_collected_by_judgeme_text":"collected by Judge.me","widget_pagination_type":"standard","widget_load_more_text":"Load More","widget_load_more_color":"#108474","widget_full_review_text":"Full Review","widget_read_more_reviews_text":"Read More Reviews","widget_read_questions_text":"Read Questions","widget_questions_and_answers_text":"Questions \u0026 Answers","widget_verified_by_text":"Verified by","widget_verified_text":"Verified","widget_number_of_reviews_text":"{{ number_of_reviews }} reviews","widget_back_button_text":"Back","widget_next_button_text":"Next","widget_custom_forms_filter_button":"Filters","custom_forms_style":"horizontal","widget_show_review_information":false,"how_reviews_are_collected":"How reviews are collected?","widget_show_review_keywords":false,"widget_gdpr_statement":"How we use your data: We'll only contact you about the review you left, and only if necessary. By submitting your review, you agree to Judge.me's \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms\u003c/a\u003e, \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy\u003c/a\u003e and \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003econtent\u003c/a\u003e policies.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_text_color":"#000000","review_snippet_widget_lighter_text_color":"#7B7B7B","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#208468","show_product_variant":false,"all_reviews_product_variant_label_text":"Variant: ","widget_show_verified_branding":true,"widget_ai_summary_title":"Customers say","widget_ai_summary_disclaimer":"AI-powered review summary based on recent customer reviews","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"write_review_button_visibility":"no_one","store_summary_widget_heading":"Customers rate this store","store_summary_widget_button_text":"View customer reviews","store_summary_widget_button_theme_text":"See AI reviews summary","widget_show_review_title_input":false,"widget_autofill_review_title":true,"redirect_reviewers_invited_via_email":"external_form","request_store_review_after_product_review":true,"request_review_other_products_in_order":true,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":"#208468","review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":"#208468","review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_form_theme":"multi_step","review_form_location":"in_store_popup","review_form_external_page_background_color":"#C5F7F0","review_content_screen_title_text":"How would you rate this product?","review_content_introduction_text":"We would love it if you would share a bit about your experience.","store_review_form_title_text":"How would you rate this store?","store_review_form_introduction_text":"We would love it if you would share a bit about your experience.","show_review_guidance_text":true,"one_star_review_guidance_text":"Poor","five_star_review_guidance_text":"Great","customer_information_screen_title_text":"About you","customer_information_introduction_text":"Please tell us more about you.","custom_questions_screen_title_text":"Your experience in more detail","custom_questions_introduction_text":"Here are a few questions to help us understand more about your experience.","review_submitted_screen_title_text":"Thanks for your review!","review_submitted_screen_thank_you_text":"We are processing it and it will appear on the store soon.","review_submitted_screen_email_verification_text":"Please confirm your email by clicking the link we just sent you. This helps us keep reviews authentic.","confirm_email_screen_title_text":"Confirm your email","confirm_email_screen_message_text":"To help keep reviews authentic, we'll send you a secure link to continue writing your review. It only takes a moment.","check_email_screen_title_text":"Check your email","check_email_screen_message_text":"We sent you an email to {{ email }}. Click the button on the email to continue.","check_email_screen_resend_message_text":"Email resent!","check_email_resend_hint_text":"Didn't get the email? Check your spam folder or [resend the email].","verification_email_rate_limit_error_text":"You've reached the limit for review attempts on this product. Please check your inbox or try again later.","review_submitted_request_store_review_text":"Would you like to share your experience of shopping with us?","review_submitted_review_other_products_text":"Would you like to review these products?","store_review_screen_title_text":"Would you like to share your experience of shopping with us?","store_review_introduction_text":"We value your feedback and use it to improve. Please share any thoughts or suggestions you have.","reviewer_media_screen_title_picture_text":"Share a picture","reviewer_media_introduction_picture_text":"Upload a photo to support your review.","reviewer_media_screen_title_video_text":"Share a video","reviewer_media_introduction_video_text":"Upload a video to support your review.","reviewer_media_screen_title_picture_or_video_text":"Share a picture or video","reviewer_media_introduction_picture_or_video_text":"Upload a photo or video to support your review.","reviewer_media_youtube_url_text":"Paste your Youtube URL here","advanced_settings_next_step_button_text":"Next","advanced_settings_close_review_button_text":"Close","modal_write_review_flow":true,"write_review_flow_required_text":"Required","write_review_flow_privacy_message_text":"We respect your privacy.","write_review_flow_anonymous_text":"Post review as anonymous","write_review_flow_visibility_text":"This won't be visible to other customers.","write_review_flow_multiple_selection_help_text":"Select as many as you like","write_review_flow_single_selection_help_text":"Select one option","write_review_flow_required_field_error_text":"This field is required","write_review_flow_invalid_email_error_text":"Please enter a valid email address","write_review_flow_max_length_error_text":"Max. {{ max_length }} characters.","write_review_flow_media_upload_text":"\u003cb\u003eClick to upload\u003c/b\u003e or drag and drop","write_review_flow_gdpr_statement":"We'll only contact you about your review if necessary. By submitting your review, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":false,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Tell us more","negative_review_resolution_text":"Your experience matters to us. If there were issues with your purchase, we're here to help. Feel free to reach out to us, we'd love the opportunity to make things right.","negative_review_resolution_button_text":"Contact us","negative_review_resolution_proceed_with_review_text":"Leave a review","negative_review_resolution_subject":"Issue with purchase from {{ shop_name }}.{{ order_name }}","coupon_promo_intro_any_review_text":"Write a review and get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_photo_text":"Write a review and add a photo or video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_with_video_text":"Write a review and add a video to get a coupon for {{ amount }} off your next purchase","coupon_promo_intro_up_to_any_review_text":"Write a review and get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_up_to_with_photo_text":"Write a review and add a photo or video to get a coupon for up to {{ amount }} off your next purchase","coupon_promo_intro_external_text":"Write a review and get a reward for your next purchase","coupon_promo_intro_external_with_photo_text":"Write a review and add a photo or video to get a reward for your next purchase","coupon_promo_intro_external_with_video_text":"Write a review and add a video to get a reward for your next purchase","coupon_promo_media_photo_text":"Add a photo or video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_photo_only_text":"Add a photo and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_video_text":"Add a video and get a coupon for {{ amount }} off your next purchase","coupon_promo_media_external_photo_text":"Add a photo or video and get a reward for your next purchase","coupon_promo_media_external_photo_only_text":"Add a photo and get a reward for your next purchase","coupon_promo_media_external_video_text":"Add a video and get a reward for your next purchase","coupon_promo_success_text":"You've got a coupon for your next purchase at {{ shop_name }}!","coupon_promo_success_subtext":"You'll receive your coupon email within the hour.","preview_badge_collection_page_install_status":false,"widget_review_custom_css":"","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":true,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Review collected via store invitation","transparency_badges_from_another_provider_text":"Review collected from another provider","transparency_badges_collected_from_store_visitor_text":"Review collected from a store visitor","transparency_badges_written_in_google_text":"Review written in Google","transparency_badges_written_in_etsy_text":"Review written in Etsy","transparency_badges_written_in_shop_app_text":"Review written in Shop App","transparency_badges_earned_reward_text":"Review earned a reward for future purchase","product_review_widget_per_page":10,"widget_other_languages_reviews_per_page":3,"widget_store_review_label_text":"Review about the store","widget_cart_mode_aggregate_heading_text":"Customers rate this store","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":false,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":false,"review_widget_install_preference":"","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":false,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":true,"review_widget_qna_enabled":false,"review_widget_revamp_dual_publish_end_date":"2026-08-10T23:14:20.000+00:00","review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_show_review_highlights":false,"review_widget_show_review_keywords_in_gray":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_card_section_size":"small","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#161819","review_widget_lighter_text_color":"#444646","review_widget_corner_styling":"soft","review_widget_review_word_singular":"review","review_widget_review_word_plural":"reviews","review_widget_voting_label":"Helpful?","review_widget_shop_reply_label":"Reply from {{ shop_name }}:","review_widget_filters_title":"Filters","review_widget_filter_rating_title":"Rating","review_widget_filter_keyword_title":"Keyword","review_widget_clear_filters_text":"Clear filters","review_widget_expand_more_text":"More","review_widget_review_highlights_title":"Review highlights","qna_widget_question_word_singular":"Question","qna_widget_question_word_plural":"Questions","qna_widget_answer_reply_label":"Answer from {{ answerer_name }}:","qna_content_screen_title_text":"Ask a question about this product","qna_widget_question_required_field_error_text":"Please enter your question.","qna_widget_flow_gdpr_statement":"We'll only contact you about your question if necessary. By submitting your question, you agree to our \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eterms and conditions\u003c/a\u003e and \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eprivacy policy\u003c/a\u003e.","qna_widget_question_submitted_text":"Thanks for your question!","qna_widget_close_form_text_question":"Close","qna_widget_question_submit_success_text":"We’ll notify you by email when your question is answered.","all_reviews_widget_v2025_enabled":false,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_show_review_highlights":false,"all_reviews_widget_v2025_show_review_keywords_in_gray":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"standard_text","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_review_dates":false,"all_reviews_widget_v2025_card_section_size":"small","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_widget_thumb":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Customer reviews","all_reviews_widget_v2025_ai_summary_title":"Customers say about this store","all_reviews_widget_v2025_no_review_text":"Be the first to write a review","all_reviews_widget_v2025_review_highlights_title":"Review highlights","reviews_grid_widget_show_sample_reviews":false,"reviews_grid_widget_review_selection":"all","reviews_grid_widget_select_products":[],"reviews_grid_widget_show_media_only":false,"reviews_grid_widget_display_order":"media_first","reviews_grid_widget_card_grouping":"per_media","reviews_grid_widget_columns_desktop":3,"reviews_grid_widget_rows_desktop":3,"reviews_grid_widget_columns_mobile":2,"reviews_grid_widget_rows_mobile":6,"reviews_grid_widget_show_stars":true,"reviews_grid_widget_show_reviewer_name":true,"reviews_grid_widget_show_review_title_on_hover_desktop":true,"reviews_grid_widget_corner_styling":"soft","reviews_grid_widget_card_spacing":"medium","reviews_grid_widget_header_text_color":"#000000","reviews_grid_widget_star_and_reviewer_name_color":"#F9F9F9","reviews_grid_widget_overlay_and_background_color":"#000000","reviews_grid_widget_content_color":"#F9F9F9","reviews_grid_widget_header_text":"From our customers","reviews_grid_widget_show_average_rating":true,"trust_badge_enabled":false,"trust_badge_structure":"outline","trust_badge_color":"black","trust_badge_star":"black","trust_badge_rating_display_default":"show_avg_text","platform":"shopify","branding_url":"https://app.judge.me/reviews","branding_text":"Powered by Judge.me","locale":"en","reply_name":"BODi","shop_currency":"USD","widget_version":"3.0","footer":true,"autopublish":false,"review_dates":false,"enable_custom_form":false,"shop_locale":"en","enable_multi_locales_translations":true,"show_review_title_input":false,"autofill_review_title":true,"review_verification_email_status":"always","require_verification_before_submit":false,"sign_in_with_shop_enabled":false,"customer_account_validation_enabled":true,"most_relevant_sort_enabled":false,"coupon_promo_invited_eligible":true,"coupon_promo_web_eligible":false,"uses_coupon_integration":false,"uses_external_coupon":false,"can_be_branded":true,"rtl_stars_enabled_ar":true,"rtl_stars_enabled_he":true,"reply_name_text":"BODi"};</script> <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color: #208468;--jdgm-secondary-color: rgba(32,132,104,0.1);--jdgm-star-color: #26262C;--jdgm-write-review-text-color: white;--jdgm-write-review-bg-color: #208468;--jdgm-paginate-color: #208468;--jdgm-border-radius: 0;--jdgm-reviewer-name-color: #208468}.jdgm-histogram__bar-content{background-color:#208468}.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge{color:white;background-color:#208468}.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}@media only screen and (min-width: 768px){.jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"See more"}}.jdgm-preview-badge .jdgm-star.jdgm-star{color:#26262C}.jdgm-widget .jdgm-write-rev-link{display:none}.jdgm-widget .jdgm-rev-widg[data-number-of-reviews='0']{display:none}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-rev .jdgm-rev__timestamp,.jdgm-quest .jdgm-rev__timestamp,.jdgm-carousel-item__timestamp{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-author-last-initial{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__prod-link-prefix:before{content:'about'}.jdgm-rev__variant-label:before{content:'Variant: '}.jdgm-rev__out-of-store-text:before{content:'(out of store)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="product"]{display:none !important}.jdgm-preview-badge[data-template="collection"]{display:none !important}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-review-widget[data-from-snippet="true"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}.jdgm-review-snippet-widget{--jdgm-snippet-card-color: #fff;--jdgm-snippet-text-color: #000;--jdgm-snippet-lighter-text-color: #7B7B7B;--jdgm-snippet-star-color: #208468;--jdgm-snippet-border-radius: 8px;--jdgm-snippet-arrows-bg-color: #fff;--jdgm-snippet-arrows-color: #000}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card{border-radius:8px;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card__rev-rating .jdgm-star{color:#208468}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn{border-radius:50%;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn>svg,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn>svg{fill:#000}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jm-mfp-content,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__icon,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__pic-img,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__reply{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev[data-verified-buyer="true"] .jdgm-full-rev__icon::after{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-rev__buyer-badge{border-radius:calc( 8px / 2 )}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__replier::before{content:'BODi'}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button{border-radius:calc( 8px * 6 )}
</style> <style class='jdgm-settings-style'></style>

  
  
  
  <style class='jdgm-miracle-styles'>
  @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/IazfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-spinner:empty{display:block}.jdgm-prev-badge{display:block !important}

</style>


  
  
   




<script data-cfasync='false' class='jdgm-script'>
!function(e){window.jdgm=window.jdgm||{};
/* INF-1976 */
var _jdgmBlocked=function(){var raw=(window.jdgmSettings||{}).hostname_allowlist;var list=(raw==null?"":""+raw).split(/[\s,]+/).map(function(h){return h.trim().toLowerCase().replace(/\.$/,"");}).filter(function(h){return h;});if(!list.length)return false;var host=(e.location.hostname||"").toLowerCase().replace(/\.$/,"");if(/(^|\.)shopifypreview\.com$/.test(host))return false;var bare=host.replace(/^www\./,"");for(var i=0;i<list.length;i++){var en=list[i];if(en.indexOf("*.")===0){var b=en.slice(2);if(host===b||host.slice(-(b.length+1))==="."+b)return false;}else if(bare===en.replace(/^www\./,""))return false;}return true;}();
if(_jdgmBlocked){jdgm._loaderExecuted=true;jdgm._blocked=true;var _jdgmS=e.createElement("style");_jdgmS.textContent='[class^="jdgm-"],[class*=" jdgm-"]{display:none !important}';(e.head||e.documentElement).appendChild(_jdgmS);return;}
jdgm.CDN_HOST="https://cdnwidget.judge.me/",jdgm.CDN_HOST_ALT="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.API_HOST="https://api.judge.me/",jdgm.CDN_BASE_URL="https://cdn.shopify.com/extensions/01a0b3a6-c191-7582-a657-4673cabb87c9/judgeme-755/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/",
jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)?
setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){
!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d),
(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!",
a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))},
jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest;
t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))},
t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll(
".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting?
parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"):
jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css")
)}))}(document);
</script>
<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a0b3a6-c191-7582-a657-4673cabb87c9/judgeme-755/assets/shopify_v2.css"></noscript>

<!-- BEGIN app snippet: theme_fix_tags --><script>
  (function() {
    var jdgmThemeFixes = null;
    if (!jdgmThemeFixes) return;

    // "All themes" fix: CSS and JS applied on every theme. CSS is injected
    // before the per-theme fix so the theme-specific CSS wins the cascade.
    // HTML is never applied globally (too risky).
    var allThemesFix = jdgmThemeFixes['all'];
    if (allThemesFix && allThemesFix.css) {
      var allStyleTag = document.createElement('style');
      allStyleTag.classList.add('jdgm-theme-fix-style-all');
      allStyleTag.innerHTML = allThemesFix.css;
      document.head.append(allStyleTag);
    };

    if (allThemesFix && allThemesFix.js) {
      var allScriptTag = document.createElement('script');
      allScriptTag.classList.add('jdgm-theme-fix-script-all');
      allScriptTag.innerHTML = allThemesFix.js;
      document.head.append(allScriptTag);
    };

    var thisThemeFix = jdgmThemeFixes[Shopify.theme.id];
    if (!thisThemeFix) return;

    if (thisThemeFix.html) {
      document.addEventListener("DOMContentLoaded", function() {
        var htmlDiv = document.createElement('div');
        htmlDiv.classList.add('jdgm-theme-fix-html');
        htmlDiv.innerHTML = thisThemeFix.html;
        document.body.append(htmlDiv);
      });
    };

    if (thisThemeFix.css) {
      var styleTag = document.createElement('style');
      styleTag.classList.add('jdgm-theme-fix-style');
      styleTag.innerHTML = thisThemeFix.css;
      document.head.append(styleTag);
    };

    if (thisThemeFix.js) {
      var scriptTag = document.createElement('script');
      scriptTag.classList.add('jdgm-theme-fix-script');
      scriptTag.innerHTML = thisThemeFix.js;
      document.head.append(scriptTag);
    };
  })();
</script>
<!-- END app snippet -->
<!-- End of Judge.me Core -->



<!-- END app block --><!-- BEGIN app block: shopify://apps/hreflang-manager/blocks/gwa-hreflang/35dc0b05-d599-4c8e-8584-8cd17768854a --><!-- BEGIN app snippet: gwa-hreflang-index --><link rel="alternate" hreflang="en-GB" href="https://shop-gb.bodi.com/"><link rel="alternate" hreflang="en-CA" href="https://shop-ca.bodi.com/"><link rel="alternate" hreflang="fr-CA" href="https://shop-ca.bodi.com/fr"><link rel="alternate" hreflang="x-default" href="https://www.bodi.com/"><link rel="alternate" hreflang="en-US" href="https://www.bodi.com/"><!-- END app snippet --><!-- END app block --><!-- BEGIN app block: shopify://apps/bloomreach-loomi/blocks/unified-tracking-script/019beafc-b2ba-790d-9ed1-850d869fc572 -->








  <!-- BEGIN app snippet: bloomreach-analytics-publish --><script>
  /**
    * Publishes an event to Shopify.analytics with retry logic.
    * Waits for Shopify.analytics to become available before publishing.
    *
    * @param {string} eventName - The name of the event to publish
    * @param {object} eventData - The data payload for the event
    */
  window.bloomreachPublishEvent = function(eventName, eventData) {
    const maxAttempts = 100; // Max 10 seconds (100 * 100ms)
    let attempts = 0;

    function tryPublish() {
      if (typeof Shopify !== "undefined" && Shopify.analytics && typeof Shopify.analytics.publish === "function") {
        Shopify.analytics.publish(eventName, eventData);
      } else if (attempts < maxAttempts) {
        attempts++;
        setTimeout(tryPublish, 100);
      } else {
        console.error('[Bloomreach Unified Tracking] Shopify.analytics object is not available');
      }
    }
    tryPublish();
  };
</script>
<!-- END app snippet -->
  <!-- BEGIN app snippet: bloomreach-consent-gate --><script>
  (function() {
    const LOG_PREFIX = '[Bloomreach Unified Tracking]';
    const POLL_INTERVAL_MS = 100;
    const MAX_POLL_ATTEMPTS = 100;
    let trackingInitialized = false;
    let consentListenerRegistered = false;

    function isBloomreachTrackingConsentGranted() {
      const privacy = window.Shopify && window.Shopify.customerPrivacy;
      if (!privacy) {
        return false;
      }
      return typeof privacy.analyticsProcessingAllowed === 'function'
        && typeof privacy.marketingAllowed === 'function'
        && typeof privacy.saleOfDataAllowed === 'function'
        && privacy.analyticsProcessingAllowed()
        && privacy.marketingAllowed()
        && privacy.saleOfDataAllowed();
    }

    function waitForCustomerPrivacy(onReady, onTimeout) {
      let attempts = 0;

      function tryLoadPrivacyApi() {
        if (typeof window.Shopify === 'undefined'
          || typeof window.Shopify.loadFeatures !== 'function') {
          if (attempts < MAX_POLL_ATTEMPTS) {
            attempts++;
            setTimeout(tryLoadPrivacyApi, POLL_INTERVAL_MS);
            return;
          }
          if (onTimeout) {
            onTimeout();
          }
          return;
        }

        window.Shopify.loadFeatures(
          [{ name: 'consent-tracking-api', version: '0.1' }],
          function(error) {
            if (error) {
              if (onTimeout) {
                onTimeout();
              }
              return;
            }
            onReady();
          },
        );
      }

      tryLoadPrivacyApi();
    }

    function tryInitialize(initializeFn, config) {
      if (trackingInitialized) {
        return;
      }
      if (!isBloomreachTrackingConsentGranted()) {
        return;
      }
      if (typeof window.initializeDiscoveryCookie === 'function') {
        window.initializeDiscoveryCookie();
      }
      trackingInitialized = true;
      initializeFn(config);
    }

    window.runWhenBloomreachTrackingAllowed = function(startFn, config, loadFn) {
      if (typeof loadFn === 'function') {
        loadFn(config);
      }

      function onPrivacyApiReady() {
        tryInitialize(startFn, config);

        if (!consentListenerRegistered) {
          consentListenerRegistered = true;
          document.addEventListener('visitorConsentCollected', function() {
            tryInitialize(startFn, config);
          });
        }
      }

      function onPrivacyApiUnavailable() {
        console.error(LOG_PREFIX + ' Customer Privacy API unavailable');
      }

      waitForCustomerPrivacy(onPrivacyApiReady, onPrivacyApiUnavailable);
    };
  })();
</script>
<!-- END app snippet -->
<script>
    // Publish localization data to the web pixel extension
    window.bloomreachPublishEvent("bre.localization", {
      country: "US",
      language: "en"
    });

    
    window.bloomreachPublishEvent("bre.feature_flags", {});
    window.bloomreachPublishEvent("bre.discovery_config", {
      test_data: false,
      debug: false
    });
  </script>

  
  

  <!-- BEGIN app snippet: bloomreach-br-uid-2-cookie --><script>
  (function() {
    const BR_UID_2_COOKIE_NAME = '_br_uid_2';
    const BR_UID_2_VERSION = 'app';
    const BR_UID_2_COOKIE_MAX_AGE_SECONDS = 60 * 60 * 24 * 365 * 2;

    function decodeBrUid2CookieValue(value) {
      try {
        return decodeURIComponent(value);
      } catch (error) {
        return value;
      }
    }

    function generateBrUid2Uid() {
      return String(Math.round(Math.random() * 10e12));
    }

    function formatBrUid2CookieValue(uid, version, timestamp, hitCount) {
      return 'uid=' + uid + ':v=' + version + ':ts=' + timestamp + ':hc=' + hitCount;
    }

    function generateBrUid2CookieValue(hitCount) {
      return formatBrUid2CookieValue(
        generateBrUid2Uid(),
        BR_UID_2_VERSION,
        Date.now(),
        hitCount
      );
    }

    function parseBrUid2CookieValue(value) {
      const segments = decodeBrUid2CookieValue(value).split(':');
      let uid;
      let version;
      let timestamp;
      let hitCount;

      for (let i = 0; i < segments.length; i++) {
        const segment = segments[i];
        if (segment.indexOf('uid=') === 0) {
          uid = segment.slice(4);
        } else if (segment.indexOf('v=') === 0) {
          version = segment.slice(2);
        } else if (segment.indexOf('ts=') === 0) {
          timestamp = parseInt(segment.slice(3), 10);
        } else if (segment.indexOf('hc=') === 0) {
          hitCount = parseInt(segment.slice(3), 10);
        }
      }

      if (!uid || !version || isNaN(timestamp) || isNaN(hitCount) || hitCount < 0) {
        return null;
      }

      return {
        uid: uid,
        version: version,
        timestamp: timestamp,
        hitCount: hitCount
      };
    }

    function getBrUid2CookieValue() {
      const cookiePrefix = BR_UID_2_COOKIE_NAME + '=';
      const cookies = document.cookie.split('; ');

      for (let i = 0; i < cookies.length; i++) {
        if (cookies[i].indexOf(cookiePrefix) === 0) {
          return decodeBrUid2CookieValue(cookies[i].substring(cookiePrefix.length));
        }
      }

      return null;
    }

    function getBaseDomain(host) {
      if (!host) {
          return '';
      }
      const parts = host.split('.');
      const length = parts.length;

      // Handle cases like 'localhost', 'example.com', '192.168.1.1'
      if (length <= 2 || /^\d+\.\d+\.\d+\.\d+$/.test(host)) {
          return host;
      }

      return parts[length - 1].length <= 2 && parts[length - 2].length <= 3
          ? parts.slice(-3).join('.')
          : parts.slice(-2).join('.');
    }

    function buildBrUid2CookieString(value, domain) {
      const cookieParts = [
        BR_UID_2_COOKIE_NAME + '=' + encodeURIComponent(value),
        'path=/',
        'max-age=' + BR_UID_2_COOKIE_MAX_AGE_SECONDS,
        'SameSite=Lax'
      ];

      if (domain) {
        cookieParts.push('domain=' + domain);
      }

      return cookieParts.join('; ');
    }

    function setBrUid2CookieValue(value) {
      const baseDomain = getBaseDomain(location.hostname);

      document.cookie = buildBrUid2CookieString(value, baseDomain);

      if (getBrUid2CookieValue() !== value) {
        document.cookie = buildBrUid2CookieString(value, null);
      }
    }

    function ensureBrUid2Cookie() {
      const existingValue = getBrUid2CookieValue();

      if (existingValue) {
        const parsed = parseBrUid2CookieValue(existingValue);
        if (parsed) {
          return existingValue;
        }
      }

      const createdValue = generateBrUid2CookieValue(1);
      setBrUid2CookieValue(createdValue);
      return createdValue;
    }

    window.initializeDiscoveryCookie = function() {
      const discoveryCookie = ensureBrUid2Cookie();
      if (typeof window.bloomreachPublishEvent === 'function') {
        window.bloomreachPublishEvent('bre.discovery_cookie', { cookie: discoveryCookie });
      }
    };
  })();
</script>
<!-- END app snippet -->

  

  <script>
    const trackingConfig = {
      brweb: {
        target: "https:\/\/us3-api.eng.bloomreach.com",
        stream_id: "f9028d13-b0b2-4507-aec0-0fe71ad180a1",
        data_layer: true,
        
        track: {
          default_properties: {
            customer_locale: "en-US"
          }
          
          , visits: false
          
        },
        customConfigRaw: "{\n  \"track\": {\n    \"google_analytics\": false,\n     \"visits\": false \n  },\n  \"webOptimization\": {\n    \"experiments\": true,\n    \"tagManager\": true,\n    \"webLayers\": true\n  }\n}"
      },
      customer: {
        
      },
      metadata: null,
      deferredEvents: [
        
        { name: "homepage_viewed", data: {} },
        
        
      ]
    };

    function buildBrwebInitConfig(config) {
      const brwebBaseConfig = Object.assign({}, config.brweb);
      const customConfigRaw = brwebBaseConfig.customConfigRaw;
      delete brwebBaseConfig.customConfigRaw;

      let customConfigOverrides = {};
      try {
        if (customConfigRaw && customConfigRaw.trim() !== '') {
          customConfigOverrides = JSON.parse(customConfigRaw);
        }
      } catch (e) {
        console.error('[Bloomreach Unified Tracking] Invalid JSON in Custom Configuration, ignoring: ' + e.message);
      }

      return Object.assign({}, brwebBaseConfig, customConfigOverrides);
    }

    function loadBloomreachSdk(config) {
      const brwebInitConfig = buildBrwebInitConfig(config);

      !function(e,t,n,i,o,r){const s=4e3,c="xnpe_async_hide";function a(e){if("number"!=typeof e)return e;const t=new Date;return new Date(t.getTime()+1e3*e)}function m(e){return e.reduce((function(e,t){return e[t]=function(){e._.push([t.toString(),arguments])},e}),{_:[]})}function p(e,t,n){const i=n.createElement(t);i.src=e;const o=n.getElementsByTagName(t)[0];return o.parentNode.insertBefore(i,o),i}function l(e){return"[object Date]"===Object.prototype.toString.call(e)}r.target=r.target||"https://api.exponea.com",r.file_path=r.file_path||r.target+"/js/brweb.min.js",o[t]=m(["anonymize","initialize","identify","getSegments","update","track","trackLink","trackEnhancedEcommerce","getHtml","showHtml","showBanner","showWebLayer","ping","getAbTest","loadDependency","getRecommendation","reloadWebLayers","_preInitialize","_initializeConfig","metadata"]),o[t].notifications=m(["isAvailable","isSubscribed","subscribe","unsubscribe"]),o[t].segments=m(["subscribe"]),o[t]["snippetVersion"]="v3.1.1",function(e,t,n,i){e[i]={sdk:e[n],sdkObjectName:n,skipExperiments:!!t.new_experiments,path:t.target,streamId:t.stream_id}}(o,r,t,i),function(e,t,n){p(e.file_path,t,n)}(r,n,e),function(e,t,n,i,o,r,m,u){if(!e.new_experiments)return;!0===e.new_experiments&&(e.new_experiments={});const f=e.new_experiments.hide_class||c,d=e.new_experiments.timeout||s,_=encodeURIComponent(r.location.href);let g;e.cookies&&e.cookies.expires&&("number"==typeof e.cookies.expires||l(e.cookies.expires)?g=a(e.cookies.expires):e.cookies.expires.tracking&&("number"==typeof e.cookies.expires.tracking||l(e.cookies.expires.tracking))&&(g=a(e.cookies.expires.tracking))),g&&g<new Date&&(g=void 0);const k=e.target+"/webxp/streams/"+e.stream_id+"/"+t+"/"+(u.exec(m.cookie)||[0,"new"])[1]+"/modifications.min.js?http-referer="+_+"&timeout="+d+"ms"+(g?"&cookie-expires="+Math.floor(g.getTime()/1e3):"");"sync"===e.new_experiments.mode&&r.localStorage.getItem("__exponea__sync_modifications__")?function(e,t,n,i,o){n[o][t]="<"+t+' src="'+e+'"></'+t+">",i.writeln(n[o][t]),i.writeln("<"+t+">!"+o+".init && document.writeln("+o+"."+t+'.replace("/'+t+'/", "/'+t+'-async/").replace("><", " async><"))</'+t+">")}(k,t,r,m,n):function(e,t,n,i,o,r,s,c){r.documentElement.classList.add(e);const a=p(n,i,r);function m(){o[c].init||p(n.replace("/"+i+"/","/"+i+"-async/"),i,r)}function l(){r.documentElement.classList.remove(e)}a.onload=m,a.onerror=m,o.setTimeout(l,t),o[s]._revealPage=l}(f,d,k,t,r,m,o,n)}(r,n,i,0,t,o,e,RegExp("__exponea_etc__"+"=([\\w-]+)")),function(e,t,n){var i;e[t]._initializeConfig(n),(null===(i=n.experimental)||void 0===i?void 0:i.non_personalized_weblayers)&&e[t]._preInitialize(n),e[t].start=function(i){i&&Object.keys(i).forEach((e=>n[e]=i[e])),e[t].initialize(n)}}(o,t,r)}(document,"brweb","script","webxpClient",window, brwebInitConfig);

      window.exponea = brweb;
    }

    function startBloomreachTracking(config) {
      window.dataLayer = window.dataLayer || [];

      function subscribeCookieListener(dataLayer) {
        dataLayer.forEach(processDatalayerEvent);

        const originalPush = dataLayer.push;
        dataLayer.push = function() {
          originalPush.apply(dataLayer, arguments);
          Array.from(arguments).forEach(processDatalayerEvent);
        };
      }

      function processDatalayerEvent(event) {
        if (event.event === "bre.cookie") {
          Shopify.analytics.publish("bre.cookie", event);
        }
      }

      subscribeCookieListener(window.dataLayer);

      function getCookie(cname) {
        var name = cname + "=";
        var ca = document.cookie.split(';');
        var cookie = undefined;
        for (var i = 0; i < ca.length; i++) {
          var c = ca[i];
          while (c.charAt(0) == ' ') {
            c = c.substring(1);
          }
          if (c.indexOf(name) == 0) {
            cookie = c.substring(name.length, c.length);
            break;
          }
        }
        cookie = decodeURIComponent(cookie);
        cookie = cookie.split('?')[0];
        return cookie;
      }

      var customer = Object.assign({}, config.customer);
      var cart_id = getCookie('cart');
      if (cart_id) customer.cart_id = cart_id;

      exponea.start({
        customer: customer
      });

      if (config.metadata) {
        exponea.metadata(config.metadata);
      }

      /**
       * Quick View Tracking
       * Listens for clicks on native Shopify quick-add-component elements.
       * Only tracks when clicking a button[type="button"] (opens modal).
       * Ignores button[type="submit"] (direct add to cart).
       */
      (function() {
        document.addEventListener('click', function(event) {
          const quickAddComponent = event.target.closest('quick-add-component');
          if (!quickAddComponent) return;

          const clickedButton = event.target.closest('button');
          if (!clickedButton || clickedButton.type !== 'button') return;

          const productForm = quickAddComponent.querySelector('product-form-component');
          const productId = productForm?.getAttribute('data-product-id');
          if (!productId) return;

          const variantInput = quickAddComponent.querySelector('input[name="id"]');
          window.bloomreachPublishEvent('bre.quick_view', {
            product_id: productId,
            title: quickAddComponent.getAttribute('data-product-title') || '',
            variant_id: variantInput?.value || ''
          });
        });
      })();

      config.deferredEvents.forEach(function(event) {
        window.bloomreachPublishEvent(event.name, event.data);
      });
    }

    runWhenBloomreachTrackingAllowed(startBloomreachTracking, trackingConfig, loadBloomreachSdk);
  </script>

<!-- END app block --><!-- BEGIN app block: shopify://apps/yoast-seo/blocks/metatags/7c777011-bc88-4743-a24e-64336e1e5b46 -->
<!-- This site is optimized with Yoast SEO for Shopify -->
<title>Workout Supplements & Fitness App | BODi (formerly Beachbody)</title>
<meta name="description" content="Start your transformation today! Shop BODi (formerly Beachbody) for powerful online fitness programs, performance & workout supplements, and more." />
<link rel="canonical" href="https://www.bodi.com/" />
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
<meta property="og:site_name" content="BODi" />
<meta property="og:url" content="https://www.bodi.com/" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Workout Supplements & Fitness App | BODi (formerly Beachbody)" />
<meta property="og:description" content="Start your transformation today! Shop BODi (formerly Beachbody) for powerful online fitness programs, performance & workout supplements, and more." />
<meta property="og:image" content="https://www.bodi.com/cdn/shop/files/bodilogo.jpg?v=1773075845" />
<meta property="og:image:height" content="480" />
<meta property="og:image:width" content="480" />
<meta name="twitter:card" content="summary_large_image" />
<script type="application/ld+json" id="yoast-schema-graph">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://www.bodi.com/#/schema/organization/1",
      "url": "https://www.bodi.com",
      "name": "BODi (formerly Beachbody)",
      "logo": {
        "@id": "https://www.bodi.com/#/schema/ImageObject/38915357442265"
      },
      "image": [
        {
          "@id": "https://www.bodi.com/#/schema/ImageObject/38915357442265"
        }
      ],
      "sameAs": ["https:\/\/www.instagram.com\/bodi","https:\/\/youtube.com\/beachbody","https:\/\/www.facebook.com\/BODi"]
    },
    {
      "@type": "ImageObject",
      "@id": "https://www.bodi.com/#/schema/ImageObject/38915357442265",
      "caption": "BODi logo",
      "inLanguage": "en",
      "width": 480,
      "height": 480,
      "url": "https:\/\/www.bodi.com\/cdn\/shop\/files\/bodilogo.jpg?v=1773075845",
      "contentUrl": "https:\/\/www.bodi.com\/cdn\/shop\/files\/bodilogo.jpg?v=1773075845"
    },
    {
      "@type": "WebSite",
      "@id": "https://www.bodi.com/#/schema/website/1",
      "url": "https://www.bodi.com",
      "name": "BODi (formerly Beachbody)",
      "potentialAction": {
        "@type": "SearchAction",
        "target": "https://www.bodi.com/search?q={search_term_string}",
        "query-input": "required name=search_term_string"
      },
      "publisher": {
        "@id": "https://www.bodi.com/#/schema/organization/1"
      },
      "inLanguage": "en"
    },
    {
      "@type": ["WebPage","CollectionPage"],
      "@id": "https:\/\/www.bodi.com\/",
      "name": "Workout Supplements \u0026 Fitness App | BODi (formerly Beachbody)",
      "description": "Start your transformation today! Shop BODi (formerly Beachbody) for powerful online fitness programs, performance \u0026 workout supplements, and more.",
      "about": {
        "@id": "https://www.bodi.com/#/schema/organization/1"
      },
      "breadcrumb": {
        "@id": "https:\/\/www.bodi.com\/#\/schema\/breadcrumb"
      },
      "primaryImageOfPage": {
        "@id": "https://www.bodi.com/#/schema/ImageObject/38915357442265"
      },
      "image": [{
        "@id": "https://www.bodi.com/#/schema/ImageObject/38915357442265"
      }],
      "isPartOf": {
        "@id": "https://www.bodi.com/#/schema/website/1"
      },
      "url": "https:\/\/www.bodi.com\/"
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https:\/\/www.bodi.com\/#\/schema\/breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "name": "BODi",
          "position": 1
        }
      ]
    }

  ]}
</script>
<!--/ Yoast SEO -->
<!-- END app block --><!-- BEGIN app block: shopify://apps/tt-breadcrumbs-seo-schema/blocks/ttSchema/dda6b26d-4f1a-43c6-a94b-6443ed0f750b -->


<!-- BEGIN app snippet: remove-script --><!-- END app snippet -->


    <!-- BEGIN app snippet: carousel -->

<!-- END app snippet --><!-- END app block --><script src="https://cdn.shopify.com/extensions/01a0b3a6-c191-7582-a657-4673cabb87c9/judgeme-755/assets/loader.js" type="text/javascript" defer="defer"></script>
<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 75560616153,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
<script>
  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
</script>
<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 75560616153,storefrontBaseUrl: "https://www.bodi.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.bodi.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["0fa89373","873d0e44","16072cab"],webPixelsConfigList: [{"id":"2388656345","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2310439129","configuration":"{\"pixel_id\":\"359057984243714\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"2291695833","configuration":"{\"target\":\"https:\/\/us3-api.eng.bloomreach.com\", \"token\":\"95636c68-6bec-11f1-9fad-e6ff97c4c273\", \"search_tracking\":\"true\", \"checkout_tracking\":\"true\", \"view_category_tracking\":\"true\", \"view_item_tracking\":\"false\", \"page_viewed_tracking\":\"false\", \"quick_view_tracking\":\"true\", \"suggest_tracking\":\"false\", \"cart_update_tracking\":\"false\", \"view_homepage_tracking\":\"true\", \"view_search_results_tracking\":\"true\", \"purchase_tracking\":\"false\", \"widget_view_tracking\":\"false\", \"widget_click_tracking\":\"false\", \"integration_id\":\"0c74017f-db1d-4df7-82e5-c030f80287ed\", \"gateway_url\":\"https:\/\/us3-api.eng.bloomreach.com\", \"domain\":\"xragki-mv.myshopify.com\", \"stream_id\":\"f9028d13-b0b2-4507-aec0-0fe71ad180a1\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"281f5176d59c18052a7f231c2196b454","type":"APP","apiClientId":35679600641,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2228879577","configuration":"{\"campaignID\":\"27336\",\"externalExecutionURL\":\"https:\/\/engine.saasler.com\/api\/v1\/webhook_executions\/ffabc6660687cc707bb361bf386337d9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7a47b06116c806e4367c27d301f4f458","type":"APP","apiClientId":3546795,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2206826713","configuration":"{\"shopId\":\"xragki-mv.myshopify.com\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"31536d5a2ef62c1887054e49fd58dba0","type":"APP","apiClientId":4845829,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2079359193","configuration":"{\"env\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"8a9a175b11d15038a70fe78d09c59720","type":"APP","apiClientId":3977633,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1838383321","configuration":"{\"accountID\":\"7370993\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"2e1a1d82f4aeb8c27a62aa29326895f1","type":"APP","apiClientId":2603379,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1773175001","configuration":"{\"store_id\":\"216182\",\"environment\":\"prod\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"10c4f173702937db6fa4bf871600cafd","type":"APP","apiClientId":294517,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"131432665","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"3","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"checkout-clear-tracking-codes"},{"id":"131465433","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"8","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"checkout-analytics"},{"id":"133300441","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"6","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"google-tag-manager"},{"id":"159482073","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"2","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Bloomreach checkout"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"BODi","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"xragki-mv.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.bodi.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"9413928288473","handle":"shakeology-0g-added-sugar","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683216081113","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413924192473","handle":"energize-pre-workout","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683208642777","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413924421849","handle":"hormone-health-supplements","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683209527513","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9665481605337","handle":"p90x-creatine-monohydrate-powder","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48369731895513","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413924880601","handle":"recover-post-workout-protein-powder","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683210379481","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413924094169","handle":"collagen-peptides","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683208380633","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413924946137","handle":"shakeology","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683210641625","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413924487385","handle":"hydrate-electrolyte-powder","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683209691353","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9665481539801","handle":"p90x-hydration-electrolytes-drink-powder","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48369731698905","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9665481572569","handle":"p90x-pre-workout-powder","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48369731961049","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413928386777","handle":"shakeology-sampler","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683216507097","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413924749529","handle":"power-greens-veggies","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683210051801","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413923963097","handle":"3-day-refresh-cleanse","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683208184025","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413924159705","handle":"digestive-health-fiber","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683208446169","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9665481638105","handle":"p90x-whey-protein-powder","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48369732124889","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413924520153","handle":"last-thing-sleep-aid","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683209756889","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9665481507033","handle":"p90x-energy-drink-powder","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48369731797209","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413928616153","handle":"ultimate-reset-cleanse","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683217391833","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413924585689","handle":"optimize-revitalize-probiotics-enzymes","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683209822425","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413924061401","handle":"beachbar","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683208347865","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413928452313","handle":"shakeology-shaker-cup","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683217162457","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413925535961","handle":"pilates-bands-straps","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683211886809","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413925601497","handle":"resistance-loops","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683211952345","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413925404889","handle":"exercise-ball-buddy-ball","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683211722969","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413923930329","handle":"2b-water-bottle","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683208151257","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413925044441","handle":"b-lines-resistance-bands","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683211002073","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413924716761","handle":"portion-control-containers","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683210019033","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413925699801","handle":"strength-resistance-bands","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683212083417","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413923897561","handle":"2b-mindset-tracker","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683208118489","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413925306585","handle":"core-ball","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683211493593","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413925437657","handle":"foam-roller","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683211755737","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413923995865","handle":"4-week-gut-protocol-cookbook","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683208249561","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413925568729","handle":"power-loops-resistance-bands","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683211919577","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413925896409","handle":"yoga-mat","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683212312793","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413925667033","handle":"running-belt","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683212050649","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413925765337","handle":"strength-slides-booties","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683212181721","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413925208281","handle":"control-track-resistance-bands","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683211329753","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413925798105","handle":"track-pilates-bundle","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683212214489","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9413928779993","handle":"bodi-subscription","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"47683217817817","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"9634275950809","handle":"free-bodi-subscription","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"48040135983321","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://www.bodi.com/cdn","1b3c7779w6e1f7d30p7ae783d3m9b5a05aa",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"157605626073","themePublished":"true","eventMetadataId":"285ffe1e-f082-4a86-bed0-9de1638c8343","pageType":"home","shopId":"75560616153","storefrontBaseUrl":"https:\/\/www.bodi.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"0fa89373\", \"873d0e44\", \"16072cab\"]","isMerchantRequest":"false","hashVersion":"1b3c7779w6e1f7d30p7ae783d3m9b5a05aa","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script><script>
  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
  window.ShopifyAnalytics.meta.currency = 'USD';
  var meta = {"page":{"pageType":"home","requestId":"6f8797a4-5c20-425e-9f54-9fae82e67815-1789819777"}};
  for (var attr in meta) {
    window.ShopifyAnalytics.meta[attr] = meta[attr];
  }
</script>
<script class="analytics">
  (function () {
    var customDocumentWrite = function(content) {
      var jquery = null;

      if (window.jQuery) {
        jquery = window.jQuery;
      } else if (window.Checkout && window.Checkout.$) {
        jquery = window.Checkout.$;
      }

      if (jquery) {
        jquery('body').append(content);
      }
    };

    var hasLoggedConversion = function(token) {
      if (token) {
        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
      }
      return false;
    }

    var setCookieIfConversion = function(token) {
      if (token) {
        var twoMonthsFromNow = new Date(Date.now());
        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);

        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
      }
    }

    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
    if (trekkie.integrations) {
      return;
    }
    trekkie.methods = [
      'identify',
      'page',
      'ready',
      'track',
      'trackForm',
      'trackLink'
    ];
    trekkie.factory = function(method) {
      return function() {
        var args = Array.prototype.slice.call(arguments);
        args.unshift(method);
        trekkie.push(args);
        if (window.__TREKKIE_SHIM_QUEUE && (method == 'track' || method == 'page')) {
          try {
            window.__TREKKIE_SHIM_QUEUE.push({
              from: 'trekkie-stub',
              method: method,
              args: args.slice(1)
            });
          } catch (e) {
            // no-op
          }
        }
        return trekkie;
      };
    };
    for (var i = 0; i < trekkie.methods.length; i++) {
      var key = trekkie.methods[i];
      trekkie[key] = trekkie.factory(key);
    }
    trekkie.load = function(config) {
      trekkie.config = config || {};
      trekkie.config.initialDocumentCookie = document.cookie;
      var first = document.getElementsByTagName('script')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onerror = function(e) {
  var scriptFallback = document.createElement('script');
  scriptFallback.type = 'text/javascript';
  scriptFallback.onerror = function(error) {
          var Monorail = {
      produce: function produce(monorailDomain, schemaId, payload) {
        var currentMs = new Date().getTime();
        var event = {
          schema_id: schemaId,
          payload: payload,
          metadata: {
            event_created_at_ms: currentMs,
            event_sent_at_ms: currentMs
          }
        };
        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
      },
      sendRequest: function sendRequest(endpointUrl, payload) {
        // Try the sendBeacon API
        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
          var blobData = new window.Blob([payload], {
            type: 'text/plain'
          });

          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
            return true;
          } // sendBeacon was not successful

        } // XHR beacon

        var xhr = new XMLHttpRequest();

        try {
          xhr.open('POST', endpointUrl);
          xhr.setRequestHeader('Content-Type', 'text/plain');
          xhr.send(payload);
        } catch (e) {
          console.log(e);
        }

        return false;
      },
      isIos12: function isIos12() {
        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
      }
    };
    Monorail.produce('monorail-edge.shopifysvc.com',
      'trekkie_storefront_load_errors/1.1',
      {shop_id: 75560616153,
      theme_id: 157605626073,
      app_name: "storefront",
      context_url: window.location.href,
      source_url: "//www.bodi.com/cdn/s/trekkie.storefront.7ba2605b9cb6cd518b93431f40a9bde3a4a2f7bd.min.js"});

  };
  scriptFallback.async = true;
  scriptFallback.src = '//www.bodi.com/cdn/s/trekkie.storefront.7ba2605b9cb6cd518b93431f40a9bde3a4a2f7bd.min.js';
  first.parentNode.insertBefore(scriptFallback, first);
};
script.async = true;
script.src = '//www.bodi.com/cdn/s/trekkie.storefront.7ba2605b9cb6cd518b93431f40a9bde3a4a2f7bd.min.js';
first.parentNode.insertBefore(script, first);

    };
    trekkie.load(
      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":75560616153,"isMerchantRequest":null,"themeId":157605626073,"themeCityHash":"9103207882828705369","contentLanguage":"en","currency":"USD","eventMetadataId":"285ffe1e-f082-4a86-bed0-9de1638c8343"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
    );

    var loaded = false;
    trekkie.ready(function() {
      if (loaded) return;
      loaded = true;

      window.ShopifyAnalytics.lib = window.trekkie;

      var originalDocumentWrite = document.write;
      document.write = customDocumentWrite;
      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
      document.write = originalDocumentWrite;

      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
      var token = match? match[1]: undefined;
      if (!hasLoggedConversion(token)) {
        setCookieIfConversion(token);
        
      }
    });

    window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"6f8797a4-5c20-425e-9f54-9fae82e67815-1789819777","shopifyEmitted":true});

    var eventsListenerScript = document.createElement('script');
    eventsListenerScript.async = true;
    eventsListenerScript.src = "//www.bodi.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
})();</script>
<script
  defer
  src="https://www.bodi.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.2.min.js"
  data-application="storefront-renderer"
  data-shop-id="75560616153"
  data-render-region="gcp-europe-west1"
  data-page-type="index"
  data-theme-instance-id="157605626073"
  data-theme-name="Horizon"
  data-theme-version="1.14.0"
  data-monorail-region="shop_domain"
  data-resource-timing-sampling-rate="10"
  data-shs="true"
  data-shs-beacon="true"
  data-shs-export-with-fetch="true"
  data-shs-logs-sample-rate="1"
  data-shs-beacon-endpoint="https://www.bodi.com/api/collect"
></script>
<meta name="shopify-y" content="13deec99-1567-4b36-8eeb-16255bb6766c" data-expiration="1821378053000"><meta name="shopify-s" content="559f0bb6-6789-46c9-b5db-76aab63cd0c2" data-expiration="1789822253000"><meta name="new-cookie-storage-activated" content="f">
</head>

  

  <body class="page-width-narrow   card-hover-effect-lift">
    <a
  class="skip-to-content-link button-secondary"
  href="#MainContent"
>
  Skip to content
</a>


    

    
      <div id="header-group">
        <!-- BEGIN sections: header-group -->
<div id="shopify-section-sections--21336457412825__top_banner_yKWCxN" class="shopify-section shopify-section-group-header-group"><section
  class="top-banner top-banner--sticky"
  style="
    --top-banner-height: 40px;
    --top-banner-text-color: ;
    --top-banner-bg-color: #99f646;
  "
>
  
    <a href="/collections/supplements" class="top-banner__link-wrapper">
  

  <div class="top-banner__inner">
    

<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--row
       mobile-column
    "
    style="--flex-direction: row; --flex-wrap: nowrap;

--gap: 12px;

--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <rte-formatter 
  class="  spacing-style text-block text-block--Ad1VsekFGUWJkbjB0U__text_m3YJJQ paragraph
     rte 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-none);
    
    
  "

  
>
    
     
    <p>LIMITED TIME: Save 25% or More on Supplements** <span style="text-decoration:underline"><strong>Shop Now</strong></span></p>
     
  </rte-formatter>
  

<style>
  
</style>





</div>
</div>
<style>
  
</style>





  </div>

  
    </a>
  
</section>




<script>
  
  (function() {
    const currentScript = document.currentScript;
    const sectionWrapper = currentScript?.closest('.shopify-section');
    const banner =
      sectionWrapper?.querySelector('.top-banner--sticky') ??
      document.querySelector('.top-banner--sticky');

    if (!banner) return;

    const measuredElement = banner.closest('.shopify-section') ?? banner;
    const rootStyle = document.documentElement.style;
    const mq = window.matchMedia('(max-width: 1023px)');

    const updateBannerHeights = () => {
      const height = measuredElement.getBoundingClientRect().height;

      rootStyle.setProperty('--top-banner-sticky-offset', `${height}px`);
      rootStyle.setProperty('--mobile-banner-actual-height', mq.matches ? `${height}px` : '0px');
    };

    const ro = new ResizeObserver(updateBannerHeights);
    ro.observe(measuredElement);

    const handleViewportChange = () => {
      updateBannerHeights();
    };

    if (typeof mq.addEventListener === 'function') {
      mq.addEventListener('change', handleViewportChange);
    } else {
      mq.addListener(handleViewportChange);
    }

    updateBannerHeights();
    requestAnimationFrame(updateBannerHeights);
  })();
</script>


<script>
  
  (function() {
    const topBanner = document.querySelector('.top-banner');
    if (!topBanner) return;

    topBanner.addEventListener('click', (e) => {
      const link = e.target.closest('a');
      if (link && link.href && window.BODi?.trackSelectCta) {
        window.BODi.trackSelectCta('select pencil banner cta', link.href);
      }
    });
  })();
</script>


</div><div id="shopify-section-sections--21336457412825__top_banner_dWamqq" class="shopify-section shopify-section-group-header-group"></div><div id="shopify-section-sections--21336457412825__subscriptions_navigation_9KarKP" class="shopify-section shopify-section-group-header-group section-subscriptions-navigation">
</div><div id="shopify-section-sections--21336457412825__bodi_navigation_v2_CNXXwt" class="shopify-section shopify-section-group-header-group section-bodi-navigation">
<link href="//www.bodi.com/cdn/shop/t/2/assets/bodi-navigation-v2.css?v=159511681351450557791787249607" rel="stylesheet" type="text/css" media="all" />
<!-- Desktop Navigation -->
<div class="bodi-nav-desktop">
  
<div class="bodi-nav__container">
  <nav class="bodi-nav__bar">
    <div class="bodi-nav__bar-wrapper">
      <!-- Logo -->
      <a
        href="/"
        class="bodi-nav__logo-container"
        aria-label="BODI Home"
      >
        <img
          src="//www.bodi.com/cdn/shop/t/2/assets/desktop-bodi-logo.svg?v=59811868436140331341776873392"
          alt="BODI Logo"
          class="bodi-nav__logo"
          width="120"
          height="40"
        >
      </a>

      <!-- Left Navigation Links -->
      <div class="bodi-nav__links"><a
            href="/collections/all"
            class="bodi-nav__link"
            data-menu-id="shop"
            data-is-active="false"
            
          >
            Shop
          </a><a
            href="/products/bodi-subscription"
            class="bodi-nav__link"
            data-menu-id="view-plans"
            data-is-active="false"
            
          >
            Fitness Plans
          </a><a
            href="https://bodi.com/app/us/en "
            class="bodi-nav__link"
            data-menu-id="stream"
            data-is-active="false"
            
          >
            Stream
          </a><a
            href="https://bodi.com/us/en/experience"
            class="bodi-nav__link"
            data-menu-id="experience"
            data-is-active="false"
            
          >
            The BODi Experience
          </a></div>

      <!-- Right Side Actions -->
      <div class="bodi-nav__actions">
        
        
          <button
            class="bodi-nav__cart-container bodi-nav__cart-button"
            aria-label="Open cart Total items in cart: 0"
          >
            <div class="bodi-nav__cart-icon">
              <img
                src="//www.bodi.com/cdn/shop/t/2/assets/desktop-cart-icon.svg?v=79287340280660578521771353645"
                alt=""
                class="bodi-nav__cart-img"
                width="23"
                height="18.4"
              >
              <div class="bodi-nav__badge bodi-nav__badge--hidden">
                <img
                  src="//www.bodi.com/cdn/shop/t/2/assets/desktop-badge-circle.svg?v=86924748565645409331771353644"
                  alt=""
                  class="bodi-nav__badge-circle"
                  width="20"
                  height="20"
                >
                <span class="bodi-nav__badge-count">0</span>
              </div>
            </div>
          </button>
        

        

        
          <div class="bodi-nav__button-group"><a
              href="https://www.bodi.com/login?authLocale=en-US"
              class="bodi-nav__btn bodi-nav__btn--login"
              data-bodi-auth-link
            >
              Login
            </a>
          </div>
        

      </div>
    </div>
  </nav>

  <!-- Categories Subnav --><div class="bodi-nav__submenu-wrapper bodi-nav__submenu-wrapper--active">
        <div>
          <div class="bodi-nav__category-nav">
            <div class="bodi-nav__category-tabs"><div
                    class="bodi-nav__category-tab"
                    data-category="protein-supplements"
                    data-menu-type="mini"
                  >
                  
                    <span class="bodi-nav__category-tab-label">
                      <span>Protein & Supplements</span>
                    </span>
                    <img
                      src="//www.bodi.com/cdn/shop/t/2/assets/desktop-chevron-icon.svg?v=143108315141970138861771353645"
                      alt=""
                      class="bodi-nav__chevron-icon"
                      width="12"
                      height="12"
                    ><div class="bodi-nav__mini-menu" data-mini-menu="protein-supplements">
                        <div class="bodi-nav__mini-menu-content"><a
                              href="/collections/supplements"
                              class="bodi-nav__mini-menu-item bodi-nav__mini-menu-item--cta"
                            >Shop All Supplements</a><a
                              href="/pages/about-p90x-sport-performance-supplements"
                              class="bodi-nav__mini-menu-item"
                            >The P90X Supplement System - <span class="violator">NEW!</span></a><a
                              href="/pages/about-shakeology"
                              class="bodi-nav__mini-menu-item"
                            >Shakeology</a><a
                              href="/collections/supplements/targetedsupplements"
                              class="bodi-nav__mini-menu-item"
                            >Targeted Supplements</a><a
                              href="/collections/supplements/performancesupplements"
                              class="bodi-nav__mini-menu-item"
                            >Performance Supplements</a><a
                              href="/collections/supplements/cleanses"
                              class="bodi-nav__mini-menu-item"
                            >Cleanses</a></div>
                      </div></div><a
                    href="/collections/nutrition-plans"
                    class="bodi-nav__category-tab bodi-nav__category-tab--link"
                  >
                    <span>Nutrition Plans</span>
                  </a><a
                    href="/collections/exercise-equipment"
                    class="bodi-nav__category-tab bodi-nav__category-tab--link"
                  >
                    <span>Equipment</span>
                  </a><a
                    href="/collections/sale"
                    class="bodi-nav__category-tab bodi-nav__category-tab--link"
                  >
                    <span><span class="navhighlight">Deals</span></span>
                  </a></div>
          </div>

          <!-- Mega Menu -->
          <div class="bodi-nav__mega-menu">
            <div class="bodi-nav__mega-menu-content"></div>
          </div>
        </div>
      </div></div>



</div>

<!-- Mobile Navigation -->
<div class="bodi-nav-mobile">
  
<!-- Top Navigation -->
<div class="bodi-nav-mobile__top">
  <div class="bodi-nav-mobile__left" id="bodiNavMobileHamburgerBtnV2">
    <img
      src="//www.bodi.com/cdn/shop/t/2/assets/mobile-hamburger-icon.svg?v=49414807911316717841771353646"
      alt="Menu"
      class="bodi-nav-mobile__hamburger"
      width="24"
      height="24"
    ></div>
  <a
    href="/"
    class="bodi-nav-mobile__logo-container"
    aria-label="BODI Home"
  >
    <img
      src="//www.bodi.com/cdn/shop/t/2/assets/bodi-mobile-logo.svg?v=56909822702469700581776873390"
      alt="BODI Logo"
      class="bodi-nav-mobile__logo"
      width="100"
      height="30"
    >
  </a>
  <div class="bodi-nav-mobile__right">
    
    
      <button
        class="bodi-nav-mobile__cart-button"
        aria-label="Open cart Total items in cart: 0"
      >
        <div class="bodi-nav-mobile__cart-icon">
          <img src="//www.bodi.com/cdn/shop/t/2/assets/mobile-cart-icon.svg?v=79287340280660578521771353644" alt="" class="bodi-nav-mobile__cart-img" width="24" height="24">
          <div class="bodi-nav-mobile__cart-badge bodi-nav-mobile__cart-badge--hidden">
            <img src="//www.bodi.com/cdn/shop/t/2/assets/mobile-badge-circle.svg?v=86924748565645409331771353644" alt="" class="bodi-nav-mobile__badge-circle" width="18" height="18">
            <span class="bodi-nav-mobile__badge-count">0</span>
          </div>
        </div>
      </button>
    

    
<a
        href="https://www.bodi.com/login?authLocale=en-US"
        class="bodi-nav-mobile__user-button"
        data-bodi-auth-link
        aria-label="Login or Join BODi"
      >
        <div class="bodi-nav-mobile__user-avatar-container">
          <img src="//www.bodi.com/cdn/shop/t/2/assets/mobile-user-avatar.svg?v=127170688596119413491771353644" alt="" class="bodi-nav-mobile__user-avatar" width="32" height="32">
        </div>
      </a>
    
  </div>
</div>


<!-- Menu Overlay -->
<div class="bodi-nav-mobile__menu-overlay" id="bodiNavMobileMenuOverlayV2">
  <div class="bodi-nav-mobile__menu-container">

    <!-- ════════════════════════════════════════════════════════
         MAIN MENU — flat list of all tabs
         ════════════════════════════════════════════════════════ -->
    <div class="bodi-nav-mobile__main-menu" id="bodiNavMobileMainMenuV2">
      <div class="bodi-nav-mobile__close-bar">
        <button class="bodi-nav-mobile__close-btn" id="bodiNavMobileCloseBtnV2" aria-label="Close menu">
          <img src="//www.bodi.com/cdn/shop/t/2/assets/mobile-close-icon.svg?v=38000291282619383831771353645" alt="" class="bodi-nav-mobile__close-icon" width="24" height="24">
        </button>
      </div>

      <div class="bodi-nav-mobile__menu-content">
        <div class="bodi-nav-mobile__tabs-section">
          <div class="bodi-nav-mobile__accordion-items"><!-- Dropdown tab: opens the submenu panel -->
                <button
                  class="bodi-nav-mobile__accordion-item bodi-nav-mobile__accordion-item--dropdown-trigger"
                  data-mobile-dropdown-trigger="menu_item_FDUdiT"
                  aria-haspopup="true"
                >
                  <p class="bodi-nav-mobile__accordion-title">Shop</p>
                  <img
                    src="//www.bodi.com/cdn/shop/t/2/assets/chevron-forward-green.svg?v=115281400437306312711776268628"
                    alt=""
                    class="bodi-nav-mobile__subitem-chevron"
                    width="12"
                    height="12"
                  >
                </button><!-- Regular tab: direct link -->
                <a href="/products/bodi-subscription" class="bodi-nav-mobile__accordion-item bodi-nav-mobile__accordion-item--link">
                  <p class="bodi-nav-mobile__accordion-title">Fitness Plans</p>
                </a><!-- Regular tab: direct link -->
                <a href="https://bodi.com/app/us/en " class="bodi-nav-mobile__accordion-item bodi-nav-mobile__accordion-item--link">
                  <p class="bodi-nav-mobile__accordion-title">Stream</p>
                </a><!-- Regular tab: direct link -->
                <a href="https://bodi.com/us/en/experience" class="bodi-nav-mobile__accordion-item bodi-nav-mobile__accordion-item--link">
                  <p class="bodi-nav-mobile__accordion-title">The BODi Experience</p>
                </a></div>
        </div>

        <!-- Footer -->
        <div class="bodi-nav-mobile__footer-section">
          <div class="bodi-nav-mobile__footer-content">
            <div class="bodi-nav-mobile__footer-links"><a href="/" class="bodi-nav-mobile__footer-link-item">
                    <span class="bodi-nav-mobile__footer-link-text">Home</span>
                  </a><a href="https://www.bodi.com/us/en/about" class="bodi-nav-mobile__footer-link-item">
                    <span class="bodi-nav-mobile__footer-link-text">About Us</span>
                  </a><a href="https://faq.bodi.com/?_gl=1*3mrztx*_gcl_au*NTUxOTY1MjEyLjE3NzU3NjA2NTg.*FPAU*NDMzODUzMjIwLjE3NzE1MjMwMTg." class="bodi-nav-mobile__footer-link-item">
                    <span class="bodi-nav-mobile__footer-link-text">BODi Support</span>
                  </a><a href="#chat" class="bodi-nav-mobile__footer-link-item">
                    <span class="bodi-nav-mobile__footer-link-text">Live Chat</span>
                  </a></div>
            <div class="bodi-nav-mobile__bottom-content">
              <div class="bodi-nav-mobile__app-badges"><a href="https://apps.apple.com/us/app/bodi-by-beachbody-home-fitness/id1031660123" aria-label="Download on the App Store">
                    <img src="//www.bodi.com/cdn/shop/t/2/assets/app-store-badge.svg?v=120792209405859649841771353645" alt="Download on the App Store" class="bodi-nav-mobile__app-badge" width="120" height="40">
                  </a><a href="https://play.google.com/store/apps/details?id=com.beachbody.bod" aria-label="Get it on Google Play">
                    <img src="//www.bodi.com/cdn/shop/t/2/assets/google-play-badge.svg?v=177291720263664549321771353646" alt="Get it on Google Play" class="bodi-nav-mobile__app-badge" width="135" height="40">
                  </a></div>
              <div class="bodi-nav-mobile__social-media"><a href="https://instagram.com/bodi" aria-label="Follow us on Instagram" class="bodi-nav-mobile__social-link"><svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M18 0C27.941 0 36 8.059 36 18C36 27.941 27.941 36 18 36C8.059 36 0 27.941 0 18C0 8.059 8.059 0 18 0ZM19.344 7.2H16.654C15.491 7.202 14.918 7.21 14.384 7.228L14.118 7.238L13.546 7.263C12.396 7.316 11.611 7.498 10.924 7.765C10.214 8.041 9.611 8.41 9.011 9.011C8.411 9.611 8.041 10.214 7.765 10.924C7.498 11.611 7.315 12.396 7.263 13.546L7.238 14.118L7.228 14.384C7.211 14.918 7.202 15.491 7.199 16.654V19.344C7.204 21.088 7.22 21.505 7.263 22.452C7.316 23.602 7.498 24.386 7.765 25.073C8.041 25.783 8.41 26.386 9.011 26.986C9.611 27.586 10.214 27.956 10.924 28.232C11.611 28.499 12.396 28.682 13.546 28.734C13.779 28.744 13.981 28.754 14.178 28.761L14.414 28.77C15.009 28.79 15.666 28.797 17.14 28.799H19.141C20.328 28.796 20.938 28.789 21.463 28.774L21.701 28.766C21.937 28.757 22.171 28.747 22.451 28.734C23.601 28.682 24.386 28.499 25.073 28.232C25.783 27.956 26.386 27.587 26.986 26.986C27.586 26.386 27.956 25.784 28.232 25.073C28.499 24.386 28.682 23.601 28.734 22.452C28.747 22.172 28.757 21.937 28.766 21.702L28.774 21.463C28.79 20.897 28.797 20.233 28.799 18.857V16.856C28.796 15.578 28.789 14.969 28.769 14.414L28.761 14.178C28.754 13.981 28.745 13.779 28.734 13.546C28.682 12.396 28.499 11.611 28.232 10.924C27.956 10.214 27.587 9.611 26.986 9.011C26.386 8.411 25.784 8.041 25.073 7.765C24.386 7.498 23.601 7.315 22.452 7.263C21.505 7.22 21.088 7.204 19.344 7.2ZM19.118 9.145C20.448 9.147 21.034 9.155 21.606 9.175L21.81 9.183L22.363 9.207C23.416 9.255 23.988 9.431 24.369 9.579C24.873 9.775 25.232 10.009 25.61 10.387C25.988 10.765 26.222 11.125 26.418 11.629C26.566 12.009 26.742 12.581 26.79 13.634C26.8 13.838 26.807 14.016 26.814 14.187L26.822 14.391C26.843 15.001 26.851 15.627 26.852 17.155V19.118C26.85 20.448 26.842 21.034 26.822 21.606L26.814 21.81L26.79 22.363C26.742 23.416 26.566 23.988 26.418 24.369C26.222 24.873 25.988 25.232 25.61 25.61C25.232 25.988 24.873 26.222 24.369 26.418C23.988 26.566 23.416 26.742 22.363 26.79C22.16 26.8 21.982 26.807 21.81 26.814L21.606 26.822C20.996 26.843 20.371 26.851 18.842 26.852H16.88C15.55 26.85 14.964 26.842 14.392 26.822L14.188 26.814L13.635 26.79C12.582 26.742 12.01 26.566 11.63 26.418C11.126 26.222 10.766 25.988 10.388 25.61C10.01 25.232 9.776 24.873 9.58 24.369C9.432 23.988 9.256 23.416 9.208 22.363C9.198 22.16 9.191 21.982 9.184 21.81L9.176 21.606C9.155 20.996 9.147 20.371 9.146 18.842V16.88C9.148 15.55 9.156 14.964 9.176 14.392L9.184 14.188L9.208 13.635C9.256 12.582 9.432 12.01 9.58 11.63C9.776 11.126 10.01 10.766 10.388 10.388C10.766 10.01 11.126 9.776 11.63 9.58C12.01 9.432 12.582 9.256 13.635 9.208C13.839 9.198 14.017 9.191 14.188 9.184L14.392 9.176C15.002 9.155 15.628 9.147 17.156 9.146L19.118 9.145ZM17.998 12.452C14.936 12.452 12.452 14.936 12.452 17.999C12.452 21.062 14.936 23.545 17.999 23.545C21.062 23.545 23.545 21.062 23.545 17.999C23.545 14.936 21.062 12.452 17.999 12.452H17.998ZM17.998 14.398C19.987 14.398 21.598 16.01 21.598 17.998C21.598 19.987 19.987 21.598 17.998 21.598C16.01 21.598 14.398 19.987 14.398 17.998C14.398 16.01 16.01 14.398 17.998 14.398ZM23.764 10.938C23.048 10.938 22.468 11.518 22.468 12.233C22.468 12.949 23.048 13.529 23.764 13.529C24.48 13.529 25.06 12.949 25.06 12.233C25.06 11.518 24.48 10.938 23.764 10.938Z" fill="#161819"/>
</svg>
</a><a href="https://facebook.com/bodi" aria-label="Follow us on Facebook" class="bodi-nav-mobile__social-link"><svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M36 18.1097C36 8.10709 27.941 0 18 0C8.059 0 0 8.10709 0 18.1097C0 27.1484 6.582 34.6398 15.188 35.998V23.3444H10.618V18.1097H15.188V14.1205C15.188 9.58102 17.875 7.07484 21.986 7.07484C23.956 7.07484 26.016 7.42798 26.016 7.42798V11.885H23.746C21.51 11.885 20.813 13.2804 20.813 14.7121V18.1097H25.805L25.007 23.3444H20.812V36C29.419 34.6398 36 27.1484 36 18.1087" fill="#161819"/>
</svg>
</a><a href="https://youtube.com/@bodi" aria-label="Follow us on YouTube" class="bodi-nav-mobile__social-link"><svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M18 0C27.941 0 36 8.059 36 18C36 27.941 27.941 36 18 36C8.059 36 0 27.941 0 18C0 8.059 8.059 0 18 0ZM18.35 9.922H17.65C17.015 9.926 15.6 9.938 14.079 9.985L13.539 10.003C11.729 10.069 9.882 10.188 9.092 10.401C8.111 10.665 7.338 11.442 7.076 12.43C6.672 13.948 6.61 16.867 6.601 17.716V18.191C6.611 19.041 6.671 21.959 7.076 23.477C7.338 24.465 8.111 25.242 9.092 25.507C10.632 25.922 16.194 25.977 17.649 25.985H18.35C19.023 25.981 20.569 25.968 22.19 25.913L22.733 25.893C24.453 25.826 26.158 25.709 26.908 25.506C27.889 25.242 28.662 24.465 28.924 23.477C29.357 21.85 29.397 18.617 29.4 18.042V17.865C29.397 17.291 29.357 14.057 28.924 12.43C28.662 11.442 27.889 10.665 26.908 10.4C25.368 9.985 19.805 9.93 18.35 9.922ZM15.668 14.563L21.628 17.953L15.668 21.343V14.563Z" fill="#161819"/>
</svg>
</a></div>
              <div class="bodi-nav-mobile__language-selector">
                <div
  class="locale-switcher locale-switcher--mobile "
  data-current-locale-base-url="https://www.bodi.com"
>
  <button
    class="locale-switcher__button"
    type="button"
    aria-expanded="false"
    aria-haspopup="true"
    data-locale-switcher-button
  ><img
        src="//www.bodi.com/cdn/shop/t/2/assets/us_flag.svg?v=146820449465311856841771353646"
        alt="U.S. flag"
        class="locale-switcher__flag"
        width="20"
        height="20"
      >
      <span class="locale-switcher__label-wrapper">
        <span class="locale-switcher__label locale-switcher__label--normal">U.S. English</span>
        <span class="locale-switcher__label locale-switcher__label--bold">U.S. English</span>
      </span><span class="locale-switcher__chevron">
      <svg
        xmlns="http://www.w3.org/2000/svg"
        viewBox="0 0 20 20"
        fill="currentColor"
        aria-hidden="true"
      >
        <path
          fill-rule="evenodd"
          d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
          clip-rule="evenodd"
        />
      </svg>
    </span>
  </button>

  <div
    class="locale-switcher__dropdown closed"
    role="menu"
    data-locale-switcher-dropdown
  >
    <div class="locale-switcher__dropdown-content"><a
          href="https://shop-ca.bodi.com"
          class="locale-switcher__option"
          role="menuitem"
          data-locale-code="en_CA"
          data-locale-base-url="https://shop-ca.bodi.com"
        >
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/ca_flag.svg?v=140489053438850075871771353646"
            alt="Canada flag"
            class="locale-switcher__flag"
            width="20"
            height="20"
          >
          <span class="locale-switcher__label">CAN English</span>
        </a><a
          href="https://shop-ca.bodi.com/fr"
          class="locale-switcher__option"
          role="menuitem"
          data-locale-code="fr_CA"
          data-locale-base-url="https://shop-ca.bodi.com/fr"
        >
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/ca_flag.svg?v=140489053438850075871771353646"
            alt="Canada flag"
            class="locale-switcher__flag"
            width="20"
            height="20"
          >
          <span class="locale-switcher__label">CAN Français</span>
        </a><a
          href="https://shop-gb.bodi.com"
          class="locale-switcher__option"
          role="menuitem"
          data-locale-code="en_GB"
          data-locale-base-url="https://shop-gb.bodi.com"
        >
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/gb_flag.svg?v=184068840994614594711771353645"
            alt="UK flag"
            class="locale-switcher__flag"
            width="20"
            height="20"
          >
          <span class="locale-switcher__label">UK English</span>
        </a></div>
  </div>
</div>



              </div>
            </div>
          </div>
        </div>
      </div>
    </div>

    <!-- ════════════════════════════════════════════════════════
         SUBMENU PANEL — slides in over the main menu.
         One hidden panel per dropdown tab; JS shows the right one.
         Inside each panel: Shop All + accordion category list.
         ════════════════════════════════════════════════════════ -->
    <div class="bodi-nav-mobile__submenu" id="bodiNavMobileSubmenuV2">
      <div class="bodi-nav-mobile__submenu-header">
        <div class="bodi-nav-mobile__submenu-header-content">
          <button class="bodi-nav-mobile__back-btn" id="bodiNavMobileBackBtnV2" aria-label="Go back">
            <img src="//www.bodi.com/cdn/shop/t/2/assets/chevron-backward-green.svg?v=64003429246685634761776268627" alt="" class="bodi-nav-mobile__back-icon" width="24" height="24">
          </button>
          <div class="bodi-nav-mobile__submenu-title-container">
            <p class="bodi-nav-mobile__submenu-title" id="bodiNavMobileSubmenuTitleV2"></p>
          </div>
          <button class="bodi-nav-mobile__close-btn" aria-label="Close menu">
            <img src="//www.bodi.com/cdn/shop/t/2/assets/mobile-close-white-icon.svg?v=107372894147262498891771353645" alt="" class="bodi-nav-mobile__close-icon" width="24" height="24">
          </button>
        </div>
      </div>

      <div class="bodi-nav-mobile__submenu-body" id="bodiNavMobileSubmenuBodyV2"><!-- Panel for dropdown tab: Shop -->
          <div
            class="bodi-nav-mobile__submenu-panel"
            id="submenu-panel-menu_item_FDUdiT"
            hidden
          >
            <div class="bodi-nav-mobile__shop-subitems"><a
                  href="/collections/all"
                  class="bodi-nav-mobile__shop-subitem bodi-nav-mobile__shop-subitem--link bodi-nav-mobile__shop-subitem--shop-all"
                >
                  <span class="bodi-nav-mobile__shop-subitem-text">Shop All</span>
                </a><button
                      class="bodi-nav-mobile__shop-subitem bodi-nav-mobile__shop-subitem--accordion"
                      data-mobile-accordion="protein-supplements"
                      aria-expanded="false"
                      aria-controls="accordion-panel-menu_item_FDUdiT-protein-supplements"
                    >
                      <span class="bodi-nav-mobile__shop-subitem-text">Protein & Supplements</span>
                      <span class="bodi-nav-mobile__accordion-toggle" aria-hidden="true">+</span>
                    </button>
                    <div
                      class="bodi-nav-mobile__accordion-panel"
                      id="accordion-panel-menu_item_FDUdiT-protein-supplements"
                      hidden
                    >
                      <!-- Content injected by JS from pre-rendered template -->
                    </div><a href="/collections/nutrition-plans" class="bodi-nav-mobile__shop-subitem bodi-nav-mobile__shop-subitem--link">
                      <span class="bodi-nav-mobile__shop-subitem-text">Nutrition Plans</span>
                    </a><a href="/collections/exercise-equipment" class="bodi-nav-mobile__shop-subitem bodi-nav-mobile__shop-subitem--link">
                      <span class="bodi-nav-mobile__shop-subitem-text">Equipment</span>
                    </a><a href="/collections/sale" class="bodi-nav-mobile__shop-subitem bodi-nav-mobile__shop-subitem--link">
                      <span class="bodi-nav-mobile__shop-subitem-text"><span class="navhighlight">Deals</span></span>
                    </a></div>
          </div></div>
    </div>

  </div>
</div>


<!-- ════════════════════════════════════════════════════════
     Pre-rendered accordion content templates (hidden, JS reads these)
     ════════════════════════════════════════════════════════ --><script
        type="text/template"
        data-category-content="protein-supplements"
        data-cta-url=""
        data-cta-text=""
      ><div class="bodi-nav-mobile__accordion-panel-items"><a href="/collections/supplements" class="bodi-nav-mobile__accordion-panel-link">
                <span class="bodi-nav-mobile__accordion-panel-link-text">Shop All Supplements</span>
              </a><a href="/pages/about-p90x-sport-performance-supplements" class="bodi-nav-mobile__accordion-panel-link">
                <span class="bodi-nav-mobile__accordion-panel-link-text">The P90X Supplement System - <span class="violator">NEW!</span></span>
              </a><a href="/pages/about-shakeology" class="bodi-nav-mobile__accordion-panel-link">
                <span class="bodi-nav-mobile__accordion-panel-link-text">Shakeology</span>
              </a><a href="/collections/supplements/targetedsupplements" class="bodi-nav-mobile__accordion-panel-link">
                <span class="bodi-nav-mobile__accordion-panel-link-text">Targeted Supplements</span>
              </a><a href="/collections/supplements/performancesupplements" class="bodi-nav-mobile__accordion-panel-link">
                <span class="bodi-nav-mobile__accordion-panel-link-text">Performance Supplements</span>
              </a><a href="/collections/supplements/cleanses" class="bodi-nav-mobile__accordion-panel-link">
                <span class="bodi-nav-mobile__accordion-panel-link-text">Cleanses</span>
              </a></div></script><script
        type="text/template"
        data-category-content="nutrition-plans"
        data-cta-url=""
        data-cta-text=""
      ><div class="bodi-nav-mobile__accordion-panel-items"></div></script><script
        type="text/template"
        data-category-content="equipment"
        data-cta-url=""
        data-cta-text=""
      ><div class="bodi-nav-mobile__accordion-panel-items"></div></script><script
        type="text/template"
        data-category-content="span-class-navhighlight-deals-span"
        data-cta-url=""
        data-cta-text=""
      ><div class="bodi-nav-mobile__accordion-panel-items"></div></script>
</div>

<!-- Pass navigation structure to JavaScript -->
<script>
  window.bodiNavStructure = {
    activeTabId: "",
    categories: [{
            id: "protein-supplements",
            name: "Protein \u0026 Supplements",
            menuType: "mini"
          },
{
            id: "nutrition-plans",
            name: "Nutrition Plans",
            menuType: "mini"
          },
{
            id: "equipment",
            name: "Equipment",
            menuType: "mini"
          },
{
            id: "span-class-navhighlight-deals-span",
            name: "\u003cspan class=\"navhighlight\"\u003eDeals\u003c\/span\u003e",
            menuType: "mini"
          }
]
  };
</script>

<script src="//www.bodi.com/cdn/shop/t/2/assets/bodi-navigation-v2.js?v=50864461246443612911776268627" defer></script>

</div><div id="shopify-section-sections--21336457412825__bodi_login_drawer" class="shopify-section shopify-section-group-header-group bodi-login-drawer-section"><div class="login-drawer__backdrop"></div>
<div class="login-drawer">
  <div class="login-drawer__title text-heading-display-3">Login or Join BODi</div>
  <div class="login-drawer__subtitle text-body-base text-bodi-gray-butters">
    Workouts, nutrition, and much more.
  </div>

  <div class="login-drawer__buttons"><a
      class="login-drawer__login-button button"
      href="https://www.bodi.com/login?authLocale=en-US"
      data-bodi-auth-link
    >Login</a>
      <a
        href="https://bodi.com/offers"
        class="login-drawer__join-button button button-primary"
      >Join BODi</a>
    
  </div>

  <div
    role="button"
    class="login-drawer__close-button"
  >
    <svg
      xmlns="http://www.w3.org/2000/svg"
      viewBox="0 0 24 24"
      fill="currentColor"
      aria-hidden="true"
      data-slot="icon"
      class="size-6 stroke-[2px]"
    >
      <path
        fill-rule="evenodd"
        d="M5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z"
        clip-rule="evenodd"
      ></path>
    </svg>
  </div>
</div>





</div><div id="shopify-section-sections--21336457412825__bodi_account_drawer" class="shopify-section shopify-section-group-header-group bodi-account-drawer-section"><div class="bodi-account-drawer__backdrop"></div>
<div class="bodi-account-drawer">
  <div class="bodi-account-drawer__title text-heading-display-3">
    Account &amp; Support
  </div>
  <div class="bodi-account-drawer__subtitle text-body-base text-bodi-gray-butters">
    
    
      Welcome back!
    
  </div><div class="bodi-account-drawer__account-links text-body-base">
    <a
      class="bodi-account-drawer__account-link"
      href="https://account.shop.bodi.com/profile"
    >
      My Account
      <svg
        xmlns="http://www.w3.org/2000/svg"
        width="24"
        height="24"
        viewBox="0 0 24 24"
        fill="none"
      >
        <g clip-path="url(#clip0_4249_2907)">
          <rect
            opacity="0.01"
            width="24"
            height="24"
            fill="#444646"
          />
          <path
            fill-rule="evenodd"
            clip-rule="evenodd"
            d="M9.44214 5.55806C9.19806 5.31398 8.80233 5.31398 8.55825 5.55806C8.32479 5.79152 8.31464 6.16374 8.5278 6.40927L8.55825 6.44194L14.0664 11.95L8.55825 17.4581C8.32479 17.6915 8.31464 18.0637 8.5278 18.3093L8.55825 18.3419C8.79172 18.5754 9.16394 18.5856 9.40947 18.3724L9.44214 18.3419L15.3921 12.3919C15.6256 12.1585 15.6358 11.7863 15.4226 11.5407L15.3921 11.5081L9.44214 5.55806Z"
            fill="#706F73"
          />
        </g>
        <defs>
          <clipPath id="clip0_4249_2907">
            <rect
              width="24"
              height="24"
              fill="white"
            />
          </clipPath>
        </defs>
      </svg>
    </a>
    <a
      class="bodi-account-drawer__account-link"
      href="https://account.shop.bodi.com/orders"
    >
      My Orders
      <svg
        xmlns="http://www.w3.org/2000/svg"
        width="24"
        height="24"
        viewBox="0 0 24 24"
        fill="none"
      >
        <g clip-path="url(#clip0_4249_2907)">
          <rect
            opacity="0.01"
            width="24"
            height="24"
            fill="#444646"
          />
          <path
            fill-rule="evenodd"
            clip-rule="evenodd"
            d="M9.44214 5.55806C9.19806 5.31398 8.80233 5.31398 8.55825 5.55806C8.32479 5.79152 8.31464 6.16374 8.5278 6.40927L8.55825 6.44194L14.0664 11.95L8.55825 17.4581C8.32479 17.6915 8.31464 18.0637 8.5278 18.3093L8.55825 18.3419C8.79172 18.5754 9.16394 18.5856 9.40947 18.3724L9.44214 18.3419L15.3921 12.3919C15.6256 12.1585 15.6358 11.7863 15.4226 11.5407L15.3921 11.5081L9.44214 5.55806Z"
            fill="#706F73"
          />
        </g>
        <defs>
          <clipPath id="clip0_4249_2907">
            <rect
              width="24"
              height="24"
              fill="white"
            />
          </clipPath>
        </defs>
      </svg>
    </a>
    <a
      class="bodi-account-drawer__account-link"
      href="https://shop.bodi.com/pages/subscriptions-redirect"
    >
      My Subscriptions
      <svg
        xmlns="http://www.w3.org/2000/svg"
        width="24"
        height="24"
        viewBox="0 0 24 24"
        fill="none"
      >
        <g clip-path="url(#clip0_4249_2907)">
          <rect
            opacity="0.01"
            width="24"
            height="24"
            fill="#444646"
          />
          <path
            fill-rule="evenodd"
            clip-rule="evenodd"
            d="M9.44214 5.55806C9.19806 5.31398 8.80233 5.31398 8.55825 5.55806C8.32479 5.79152 8.31464 6.16374 8.5278 6.40927L8.55825 6.44194L14.0664 11.95L8.55825 17.4581C8.32479 17.6915 8.31464 18.0637 8.5278 18.3093L8.55825 18.3419C8.79172 18.5754 9.16394 18.5856 9.40947 18.3724L9.44214 18.3419L15.3921 12.3919C15.6256 12.1585 15.6358 11.7863 15.4226 11.5407L15.3921 11.5081L9.44214 5.55806Z"
            fill="#706F73"
          />
        </g>
        <defs>
          <clipPath id="clip0_4249_2907">
            <rect
              width="24"
              height="24"
              fill="white"
            />
          </clipPath>
        </defs>
      </svg>
    </a>
    <a
      class="bodi-account-drawer__account-link"
      href="https://faq.bodi.com/"
    >
      BODi Support
      <svg
        xmlns="http://www.w3.org/2000/svg"
        width="24"
        height="24"
        viewBox="0 0 24 24"
        fill="none"
      >
        <g clip-path="url(#clip0_4249_2907)">
          <rect
            opacity="0.01"
            width="24"
            height="24"
            fill="#444646"
          />
          <path
            fill-rule="evenodd"
            clip-rule="evenodd"
            d="M9.44214 5.55806C9.19806 5.31398 8.80233 5.31398 8.55825 5.55806C8.32479 5.79152 8.31464 6.16374 8.5278 6.40927L8.55825 6.44194L14.0664 11.95L8.55825 17.4581C8.32479 17.6915 8.31464 18.0637 8.5278 18.3093L8.55825 18.3419C8.79172 18.5754 9.16394 18.5856 9.40947 18.3724L9.44214 18.3419L15.3921 12.3919C15.6256 12.1585 15.6358 11.7863 15.4226 11.5407L15.3921 11.5081L9.44214 5.55806Z"
            fill="#706F73"
          />
        </g>
        <defs>
          <clipPath id="clip0_4249_2907">
            <rect
              width="24"
              height="24"
              fill="white"
            />
          </clipPath>
        </defs>
      </svg>
    </a>
  </div><a
    class="bodi-account-drawer__sign-out-link"
    href="https://www.bodi.com/logout?authLocale=en-US"
    data-bodi-auth-link
  >
    Sign out
  </a>

  <div
    role="button"
    class="bodi-account-drawer__close-button"
  >
    <svg
      xmlns="http://www.w3.org/2000/svg"
      viewBox="0 0 24 24"
      fill="currentColor"
      aria-hidden="true"
      data-slot="icon"
      class="size-6 stroke-[2px]"
    >
      <path
        fill-rule="evenodd"
        d="M5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z"
        clip-rule="evenodd"
      ></path>
    </svg>
  </div>
</div>





</div>
<!-- END sections: header-group -->
      </div>
    

    <script
      src="//www.bodi.com/cdn/shop/t/2/assets/critical.js?v=174785851206309248281781245567"
      type="module"
      async
      blocking="render"
    ></script>

    <main
      id="MainContent"
      class="content-for-layout type-index"
      role="main"
      data-page-transition-enabled="false"
      data-product-transition="false"
      data-template="index"
    >
      <section id="shopify-section-template--21336458723545__hero_8T3f93" class="shopify-section hero-wrapper section-wrapper">





<div
  id="Hero-template--21336458723545__hero_8T3f93"
  class="hero color-scheme-1"
  style="
    --hero-border-style: ;
    --hero-border-width: px;
    --hero-border-opacity: %;
    --blur-opacity: 0.75;
    
      --hero-min-height: 66svh;
    
     
      --hero-mobile-min-height: 66svh;
    
  "
  
  
>
  

  

  <div
    class="hero__container spacing-style section section--full-width"
    style="      --padding-block-start: 0px;--padding-block-end: 0px;"
  ><div
      class="hero__media-wrapper"style="--hero-media-aspect-ratio: 2.5301204819277108; --hero-media-count: 1;">
      <div
  class="overlay overlay--gradient"
  style="
    --overlay-layer: var(--layer-flat);
    --overlay-color: #00000080;
    --overlay-color--end: rgba(0, 0, 0, 0);
    --overlay-direction: to top;"
></div>



      

    <img src="//www.bodi.com/cdn/shop/files/bodi-storefront-season-of-strength-hero-desktop-en-us.webp?v=1788965915&amp;width=3840" alt="BODi nutrition and workout performance supplements" srcset="//www.bodi.com/cdn/shop/files/bodi-storefront-season-of-strength-hero-desktop-en-us.webp?v=1788965915&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-storefront-season-of-strength-hero-desktop-en-us.webp?v=1788965915&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-storefront-season-of-strength-hero-desktop-en-us.webp?v=1788965915&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-storefront-season-of-strength-hero-desktop-en-us.webp?v=1788965915&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-storefront-season-of-strength-hero-desktop-en-us.webp?v=1788965915&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-storefront-season-of-strength-hero-desktop-en-us.webp?v=1788965915&amp;width=3840 3840w" width="3360" height="1328" class="hero__image" sizes="(min-width: 750px) 100vw, 100vw" fetchpriority="high">

    </div>
    <div
      class="
        hero__content-wrapper
        layout-panel-flex
        layout-panel-flex--column
        mobile-column
        section-content-wrapper
        page-width
        
      "
      style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 0px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
    >
      

<div
  class="
    group-block
    group-block--height-fit
    group-block--width-custom
    border-style
    spacing-style
    size-style
    
    
    bodi-storefront-hero-content
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width:50%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: max(24px, calc(var(--gap-scale, 1.0) * 28px));

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  

<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    bodi-storefront-hero-copy
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class="  spacing-style text-block text-block--ARSsxNXFpWkE1dmtvT__text_afDQcw text-heading-display-1
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--bodi-white);--font-weight: 700;
    --width: fit-content;
    --max-width: var(--max-width--body-none);
    
    
  "

  
>
    
     
    <h1>Strength Starts Here</h1>
     
  </div>
  

<style>
  
</style>










   
  <div 
  class="  spacing-style text-block text-block--AK25RL2J4Z2Y1Sndqc__text_YF76r8 text-body-base
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--bodi-white);--font-weight: 400;
    --width: fit-content;
    --max-width: var(--max-width--body-none);
    
    
  "

  
>
    
     
    <p>Fuel your goals with 25% off supplements or save 35%** with Subscribe & Save.</p>
     
  </div>
  

<style>
  
</style>





<script src="//www.bodi.com/cdn/shop/t/2/assets/bodi-button.js?v=153141443260534750341772843289" type="module" defer></script>
<div class="bodi-button-wrapper" 
  
    style="--bodi-button-width: fit-content; --bodi-button-width-mobile: 100%;"
  
   
>
  <button
    type="button"
    id="bodi-button-ARFNCeXhoOUFWc2U3d__button_QwbH6M"
    class="bodi-button bodi-button--primary bodi-button--large bodi-button--width-fit-content"
    
    
    data-click-action="navigate"
    
      data-url="/collections/supplements"
      data-open-new-tab="false"
    
    
    
      data-analytics-event="select cta"
    
    
    
    
    
  >
    <span class="bodi-button__content" 
      
      >
        
      Shop Supplements
      
    </span>
  </button>
  <span class="bodi-button__error hidden" aria-live="polite">
    <span class="bodi-button__error-icon"><svg class="icon icon-error" viewBox="0 0 13 13">
  <circle cx="6.5" cy="6.5" r="5.5" stroke="#fff" stroke-width="var(--icon-stroke-width)"/>
  <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width=".7"/>
  <path fill="#fff" d="m5.874 3.528.1 4.044h1.053l.1-4.044zm.627 6.133c.38 0 .68-.288.68-.656s-.3-.656-.68-.656-.681.288-.681.656.3.656.68.656"/>
  <path fill="#fff" stroke="#EB001B" stroke-width=".7" d="M5.874 3.178h-.359l.01.359.1 4.044.008.341h1.736l.008-.341.1-4.044.01-.359H5.873Zm.627 6.833c.56 0 1.03-.432 1.03-1.006s-.47-1.006-1.03-1.006-1.031.432-1.031 1.006.47 1.006 1.03 1.006Z"/>
</svg>
</span>
    <span class="bodi-button__error-text"></span>
  </span>
</div>




</div>
</div>
<style>
  
</style>





</div>
</div>
<style>
  
</style>





    </div>
  </div>
</div>




</section><section id="shopify-section-template--21336458723545__hero_9JEp7h" class="shopify-section hero-wrapper section-wrapper"><style> #shopify-section-template--21336458723545__hero_9JEp7h .hero__image {} @media screen and (min-width: 1024px) {#shopify-section-template--21336458723545__hero_9JEp7h .page-width {padding-inline: 0px; }} </style></section><section id="shopify-section-template--21336458723545__hero_ncRK4q" class="shopify-section hero-wrapper section-wrapper"><style> #shopify-section-template--21336458723545__hero_ncRK4q .hero__image {} @media screen and (min-width: 1024px) {#shopify-section-template--21336458723545__hero_ncRK4q .page-width {padding-inline: 0px; }} </style></section><div id="shopify-section-template--21336458723545__divider_J8KJDe" class="shopify-section">



<div class="section-background color-scheme-1"></div>
<div
  class="section section--full-width color-scheme-1"
>
  <div
  class="divider divider-template--21336458723545__divider_J8KJDe spacing-style"
  style="
    --divider-justify-content: center;
    --padding-block-start: 0px;--padding-block-end: 0px;
  "
  

>
  <span
    class="divider__line"
    style="
      --divider-border-thickness: 1px;
      
      --divider-flex-basis: 100%;
    "
  ></span>
</div>



</div>


</div><div id="shopify-section-template--21336458723545__product_list_a46cVC" class="shopify-section ui-test-product-list">

<div class="section-background color-scheme-1"></div>

<div
  class="
    section
    section--page-width
    color-scheme-1
    section-resource-list
    spacing-style
    gap-style
  "
  style="
    --column-count-mobile: 2;
    --padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px));
    --gap: max(24px, calc(var(--gap-scale, 1.0) * 28px));
    --resource-list-column-gap-desktop: 8px;--column-count: 4;--column-count-mobile: 2;--mobile-card-size: 60cqw;
  "
>
  
  <div class="section-resource-list__header"><div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--row
      
    "
    style="--flex-direction: row; --flex-wrap: nowrap;

--gap: 12px;

--horizontal-alignment: space-between; --vertical-alignment: last baseline;
--vertical-alignment-mobile: last baseline;
"
  >

<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fit-content
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: fit-content;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 12px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class="  spacing-style text-block text-block--AVVdPR0JOVnRBb1dEe__text_Pjdwka text-heading-display-2
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <h2>Best Selling Supplements</h2>
     
  </div>
  

<style>
  
</style>










   
  <div 
  class="  spacing-style text-block text-block--Ab1poTVBjOFREQWZtZ__text_Bhwted text-body-lg
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-none);
    
    
  "

  
>
    
     
    <p>Supplements that support daily nutrition, energy, gut health, recovery, and more.</p>
     
  </div>
  

<style>
  
</style>





</div>
</div>
<style>
  
</style>





<script src="//www.bodi.com/cdn/shop/t/2/assets/bodi-button.js?v=153141443260534750341772843289" type="module" defer></script>
<div class="bodi-button-wrapper" 
  
    style="--bodi-button-width: fit-content; --bodi-button-width-mobile: 100%;"
  
   
>
  <button
    type="button"
    id="bodi-button-AZHdxdytoaGZxMlltT__button_ifkfGw"
    class="bodi-button bodi-button--primary bodi-button--large bodi-button--width-fit-content"
    
    
    data-click-action="navigate"
    
      data-url="/collections/supplements"
      data-open-new-tab="false"
    
    
    
      data-analytics-event="select cta"
    
    
      data-analytics-module="SHOP | BS  Supplements | View All"
    
    
    
    
  >
    <span class="bodi-button__content" 
      
      >
        
      View All
      
    </span>
  </button>
  <span class="bodi-button__error hidden" aria-live="polite">
    <span class="bodi-button__error-icon"><svg class="icon icon-error" viewBox="0 0 13 13">
  <circle cx="6.5" cy="6.5" r="5.5" stroke="#fff" stroke-width="var(--icon-stroke-width)"/>
  <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width=".7"/>
  <path fill="#fff" d="m5.874 3.528.1 4.044h1.053l.1-4.044zm.627 6.133c.38 0 .68-.288.68-.656s-.3-.656-.68-.656-.681.288-.681.656.3.656.68.656"/>
  <path fill="#fff" stroke="#EB001B" stroke-width=".7" d="M5.874 3.178h-.359l.01.359.1 4.044.008.341h1.736l.008-.341.1-4.044.01-.359H5.873Zm.627 6.833c.56 0 1.03-.432 1.03-1.006s-.47-1.006-1.03-1.006-1.031.432-1.031 1.006.47 1.006 1.03 1.006Z"/>
</svg>
</span>
    <span class="bodi-button__error-text"></span>
  </span>
</div>



</div>
</div>
<style>
  
</style>


</div>

  

  

  <div
    class="
      resource-list
      
      
      resource-list__carousel
    "
    style="--resource-list-column-gap-desktop: 8px;--column-count: 4;--column-count-mobile: 2;--mobile-card-size: 60cqw;"
    
  >
    
    
        





<div
  class="resource-list__carousel"
  style="
    --gutter-slide-width: 0px;
    --slide-width-max: 300px;
  "
>
  


<slideshow-component
  
    ref="resourceListCarousel"
  
  
    class="resource-list__carousel"
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8;"
  
  initial-slide="0"
  
  

  
>
  
  <slideshow-container ref="slideshowContainer">
    
    
      
  <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
     slideshow-control--shape-circle
    slideshow-control--style-chevron
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
     slideshow-control--shape-circle
    slideshow-control--style-chevron
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
</slideshow-arrows>


    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="false"
  style="view-timeline-name: --slide-0; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413928288473"
  data-product-variants-size="14"
  id="product-card-AOVZVbVY5VWM0anRMb__static-product-card"
  data-product-transition="false"
  
  
>
  
  <a
    id="ef087849319593dccf40d084a7dbe76b"
    
      href="/products/shakeology-0g-added-sugar?variant=47683216081113"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Shakeology 0g Added Sugar
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413928288473"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/shakeology-0g-added-sugar?variant=47683216081113"
      aria-label="Shakeology 0g Added Sugar"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8, --slide-9, --slide-10, --slide-11, --slide-12, --slide-13, --slide-14;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="0" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877855379673"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877855379673"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=3840" alt="A stand-up pouch of Shakeology Plant Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877855248601"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877855248601"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=3840" alt="Shakeology Plant Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877856297177"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877856297177"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=3840" alt="A stand-up pouch of Shakeology Plant Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877856198873"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877856198873"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=3840" alt="Shakeology Plant Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877855936729"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877855936729"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=3840" alt="A stand-up pouch of Shakeology Plant Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877855740121"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877855740121"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840" alt="Shakeology Plant Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877856166105"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877856166105"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=3840" alt="A stand-up pouch of Shakeology Plant Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-8; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877855674585"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877855674585"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840" alt="Shakeology Plant Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-9; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877853741273"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877853741273"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=3840" alt="A stand-up pouch of Shakeology Plant Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-10; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877854527705"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877854527705"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=3840" alt="Shakeology Plant Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-11; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877856133337"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877856133337"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=3840" alt="A stand-up pouch of Shakeology Whey Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-12; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877855805657"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877855805657"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840" alt="Shakeology Whey Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-13; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877856264409"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877856264409"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=3840" alt="A stand-up pouch of Shakeology Whey Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-14; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877856395481"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877856395481"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=3840" alt="Shakeology Whey Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Shakeology 0g Added Sugar"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_a46cVC"
    data-product-id="9413928288473"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413928288473-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683216081113"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9413928288473" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_a46cVC" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Shakeology 0g Added Sugar</span>
    <div class="h6">
      <product-price data-product-id="9413928288473">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$69.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$52.46</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ASUhaWEp2eFNjdEFuU__text_xnGXLh custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Bestseller</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/shakeology-0g-added-sugar?variant=47683216081113"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ARlRJV0dac2dEUXp4R__product_title_wfAFJJ text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>Shakeology 0g Added Sugar</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="AVXV3YWNtaVdwbmFuS__price_UNgpEe"
  data-product-id="9413928288473"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$52.46</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$69.95</span>
    </span>
  
</div>

  <div id="shopify-block-AWnROR2lXV0lPZXdpM__variant-marketing-copy" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216081113"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216113881"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216244953"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216310489"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216179417"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683215982809"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216015577"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216277721"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216343257"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216212185"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216146649"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="49046560571609"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216048345"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="49046566207705"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413924192473"
  data-product-variants-size="8"
  id="product-card-AOVZVbVY5VWM0anRMb__static-product-card-1"
  data-product-transition="false"
  
  
>
  
  <a
    id="369353ffe676d75ddda90cce8018739d"
    
      href="/products/energize-pre-workout?variant=47683208642777"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Energize Pre-Workout
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-1 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413924192473"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/energize-pre-workout?variant=47683208642777"
      aria-label="Energize Pre-Workout"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8, --slide-9, --slide-10, --slide-11, --slide-12, --slide-13, --slide-14;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="6" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
      <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>

    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840013717721"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013717721"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-40-single-servings-en-us.png?v=1772478625&amp;width=3840" alt="Lemon 40 Serving Tub" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-40-single-servings-en-us.png?v=1772478625&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-40-single-servings-en-us.png?v=1772478625&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-40-single-servings-en-us.png?v=1772478625&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-40-single-servings-en-us.png?v=1772478625&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-40-single-servings-en-us.png?v=1772478625&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-40-single-servings-en-us.png?v=1772478625&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-40-single-servings-en-us.png?v=1772478625&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-40-single-servings-en-us.png?v=1772478625&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-40-single-servings-en-us.png?v=1772478625&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840013750489"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013750489"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-20-single-servings-en-us.png?v=1772478624&amp;width=3840" alt="Lemon 20 Single Serving Stick Pack" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-20-single-servings-en-us.png?v=1772478624&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-20-single-servings-en-us.png?v=1772478624&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-20-single-servings-en-us.png?v=1772478624&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-20-single-servings-en-us.png?v=1772478624&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-20-single-servings-en-us.png?v=1772478624&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-20-single-servings-en-us.png?v=1772478624&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-20-single-servings-en-us.png?v=1772478624&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-20-single-servings-en-us.png?v=1772478624&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-20-single-servings-en-us.png?v=1772478624&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840013783257"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013783257"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-40-single-servings-en-us.png?v=1772478624&amp;width=3840" alt="Strawberry Lemonade 40 Serving Tub" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-40-single-servings-en-us.png?v=1772478624&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-40-single-servings-en-us.png?v=1772478624&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-40-single-servings-en-us.png?v=1772478624&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-40-single-servings-en-us.png?v=1772478624&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-40-single-servings-en-us.png?v=1772478624&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-40-single-servings-en-us.png?v=1772478624&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-40-single-servings-en-us.png?v=1772478624&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-40-single-servings-en-us.png?v=1772478624&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-40-single-servings-en-us.png?v=1772478624&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840013816025"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013816025"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-20-single-servings-en-us.png?v=1772478624&amp;width=3840" alt="Strawberry Lemonade 20 Single Serving Stick Pack" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-20-single-servings-en-us.png?v=1772478624&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-20-single-servings-en-us.png?v=1772478624&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-20-single-servings-en-us.png?v=1772478624&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-20-single-servings-en-us.png?v=1772478624&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-20-single-servings-en-us.png?v=1772478624&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-20-single-servings-en-us.png?v=1772478624&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-20-single-servings-en-us.png?v=1772478624&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-20-single-servings-en-us.png?v=1772478624&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-strawberry-lemonade-20-single-servings-en-us.png?v=1772478624&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840013848793"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013848793"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-40-single-servings-en-us.png?v=1772478625&amp;width=3840" alt="Fruit Punch 40-Serving Tub" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-40-single-servings-en-us.png?v=1772478625&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-40-single-servings-en-us.png?v=1772478625&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-40-single-servings-en-us.png?v=1772478625&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-40-single-servings-en-us.png?v=1772478625&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-40-single-servings-en-us.png?v=1772478625&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-40-single-servings-en-us.png?v=1772478625&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-40-single-servings-en-us.png?v=1772478625&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-40-single-servings-en-us.png?v=1772478625&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-40-single-servings-en-us.png?v=1772478625&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840013881561"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013881561"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-20-single-servings-en-us.png?v=1772478624&amp;width=3840" alt="Fruit Punch 20 Single Serving Stick Pack" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-20-single-servings-en-us.png?v=1772478624&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-20-single-servings-en-us.png?v=1772478624&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-20-single-servings-en-us.png?v=1772478624&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-20-single-servings-en-us.png?v=1772478624&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-20-single-servings-en-us.png?v=1772478624&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-20-single-servings-en-us.png?v=1772478624&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-20-single-servings-en-us.png?v=1772478624&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-20-single-servings-en-us.png?v=1772478624&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-fruit-punch-20-single-servings-en-us.png?v=1772478624&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840013914329"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013914329"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-40-single-servings-en-us.png?v=1772478624&amp;width=3840" alt="Mixed Berry 40 Serving Tub" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-40-single-servings-en-us.png?v=1772478624&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-40-single-servings-en-us.png?v=1772478624&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-40-single-servings-en-us.png?v=1772478624&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-40-single-servings-en-us.png?v=1772478624&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-40-single-servings-en-us.png?v=1772478624&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-40-single-servings-en-us.png?v=1772478624&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-40-single-servings-en-us.png?v=1772478624&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-40-single-servings-en-us.png?v=1772478624&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-40-single-servings-en-us.png?v=1772478624&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-8; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840013947097"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013947097"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-20-single-servings-en-us.png?v=1772478624&amp;width=3840" alt="Energize Pre-Workout Mixed Berry" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-20-single-servings-en-us.png?v=1772478624&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-20-single-servings-en-us.png?v=1772478624&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-20-single-servings-en-us.png?v=1772478624&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-20-single-servings-en-us.png?v=1772478624&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-20-single-servings-en-us.png?v=1772478624&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-20-single-servings-en-us.png?v=1772478624&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-20-single-servings-en-us.png?v=1772478624&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-20-single-servings-en-us.png?v=1772478624&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-mixed-berry-20-single-servings-en-us.png?v=1772478624&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-9; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840013979865"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013979865"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-comparison-chart-en-us.jpg?v=1772478623&amp;width=3840" alt="Energize comparison chart" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-comparison-chart-en-us.jpg?v=1772478623&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-comparison-chart-en-us.jpg?v=1772478623&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-comparison-chart-en-us.jpg?v=1772478623&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-comparison-chart-en-us.jpg?v=1772478623&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-comparison-chart-en-us.jpg?v=1772478623&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-comparison-chart-en-us.jpg?v=1772478623&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-comparison-chart-en-us.jpg?v=1772478623&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-comparison-chart-en-us.jpg?v=1772478623&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-comparison-chart-en-us.jpg?v=1772478623&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-10; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840014012633"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840014012633"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-how-to-en-us.jpg?v=1772478624&amp;width=3840" alt="Energize How To" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-how-to-en-us.jpg?v=1772478624&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-how-to-en-us.jpg?v=1772478624&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-how-to-en-us.jpg?v=1772478624&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-how-to-en-us.jpg?v=1772478624&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-how-to-en-us.jpg?v=1772478624&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-how-to-en-us.jpg?v=1772478624&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-how-to-en-us.jpg?v=1772478624&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-how-to-en-us.jpg?v=1772478624&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-how-to-en-us.jpg?v=1772478624&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-11; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840014045401"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840014045401"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-study-results-chart-en-us.jpg?v=1772478623&amp;width=3840" alt="Energize Chart" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-study-results-chart-en-us.jpg?v=1772478623&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-study-results-chart-en-us.jpg?v=1772478623&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-study-results-chart-en-us.jpg?v=1772478623&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-study-results-chart-en-us.jpg?v=1772478623&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-study-results-chart-en-us.jpg?v=1772478623&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-study-results-chart-en-us.jpg?v=1772478623&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-study-results-chart-en-us.jpg?v=1772478623&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-study-results-chart-en-us.jpg?v=1772478623&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-study-results-chart-en-us.jpg?v=1772478623&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-12; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840014078169"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840014078169"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-lemon-how-it-works-en-us.jpg?v=1772478624&amp;width=3840" alt="Energize How It Works" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-lemon-how-it-works-en-us.jpg?v=1772478624&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-lemon-how-it-works-en-us.jpg?v=1772478624&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-lemon-how-it-works-en-us.jpg?v=1772478624&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-lemon-how-it-works-en-us.jpg?v=1772478624&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-lemon-how-it-works-en-us.jpg?v=1772478624&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-lemon-how-it-works-en-us.jpg?v=1772478624&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-lemon-how-it-works-en-us.jpg?v=1772478624&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-lemon-how-it-works-en-us.jpg?v=1772478624&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-lemon-how-it-works-en-us.jpg?v=1772478624&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-13; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840014110937"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840014110937"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-cut-above-en-us.jpg?v=1772478624&amp;width=3840" alt="Energize Cut Above" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-cut-above-en-us.jpg?v=1772478624&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-cut-above-en-us.jpg?v=1772478624&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-cut-above-en-us.jpg?v=1772478624&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-cut-above-en-us.jpg?v=1772478624&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-cut-above-en-us.jpg?v=1772478624&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-cut-above-en-us.jpg?v=1772478624&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-cut-above-en-us.jpg?v=1772478624&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-cut-above-en-us.jpg?v=1772478624&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-cut-above-en-us.jpg?v=1772478624&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-14; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840014143705"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840014143705"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-key-benefits-en-us.jpg?v=1772478623&amp;width=3840" alt="Energize Key Benefits" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-key-benefits-en-us.jpg?v=1772478623&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-key-benefits-en-us.jpg?v=1772478623&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-key-benefits-en-us.jpg?v=1772478623&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-key-benefits-en-us.jpg?v=1772478623&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-key-benefits-en-us.jpg?v=1772478623&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-key-benefits-en-us.jpg?v=1772478623&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-key-benefits-en-us.jpg?v=1772478623&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-energize-pdp-key-benefits-en-us.jpg?v=1772478623&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-energize-pdp-key-benefits-en-us.jpg?v=1772478623&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Energize Pre-Workout"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_a46cVC"
    data-product-id="9413924192473"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413924192473-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-1" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683208642777"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9413924192473" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_a46cVC" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Energize Pre-Workout</span>
    <div class="h6">
      <product-price data-product-id="9413924192473">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$34.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$26.21</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ASUhaWEp2eFNjdEFuU__text_xnGXLh-1 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Best of CNET</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/energize-pre-workout?variant=47683208642777"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ARlRJV0dac2dEUXp4R__product_title_wfAFJJ-1 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>Energize Pre-Workout</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="AVXV3YWNtaVdwbmFuS__price_UNgpEe-1"
  data-product-id="9413924192473"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$26.21</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$34.95</span>
    </span>
  
</div>

  <div id="shopify-block-AWnROR2lXV0lPZXdpM__variant-marketing-copy-1" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683208642777"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683208675545"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683208708313"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683208741081"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683208773849"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683208806617"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683208839385"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683208872153"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413924421849"
  data-product-variants-size="3"
  id="product-card-AOVZVbVY5VWM0anRMb__static-product-card-2"
  data-product-transition="false"
  
  
>
  
  <a
    id="c75cef1691c00add93c86d29f1cd9fbb"
    
      href="/products/hormone-health-supplements?variant=47683209527513"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Belle Vitale Supplements
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-2 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413924421849"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/hormone-health-supplements?variant=47683209527513"
      aria-label="Belle Vitale Supplements"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="2" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
      <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>

    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840014176473"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840014176473"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&amp;width=3840" alt="Belle Vitale hormone health supplements" srcset="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840014209241"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840014209241"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-metabolism-blood-sugar-support-en-us.png?v=1772478626&amp;width=3840" alt="Daily Metabolism &amp; Blood Sugar Support" srcset="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-metabolism-blood-sugar-support-en-us.png?v=1772478626&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-metabolism-blood-sugar-support-en-us.png?v=1772478626&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-metabolism-blood-sugar-support-en-us.png?v=1772478626&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-metabolism-blood-sugar-support-en-us.png?v=1772478626&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-metabolism-blood-sugar-support-en-us.png?v=1772478626&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-metabolism-blood-sugar-support-en-us.png?v=1772478626&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-metabolism-blood-sugar-support-en-us.png?v=1772478626&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-metabolism-blood-sugar-support-en-us.png?v=1772478626&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-metabolism-blood-sugar-support-en-us.png?v=1772478626&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840014242009"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840014242009"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-hormone-stress-support-en-us.png?v=1772478626&amp;width=3840" alt="Daily Hormone &amp; Stress Support" srcset="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-hormone-stress-support-en-us.png?v=1772478626&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-hormone-stress-support-en-us.png?v=1772478626&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-hormone-stress-support-en-us.png?v=1772478626&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-hormone-stress-support-en-us.png?v=1772478626&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-hormone-stress-support-en-us.png?v=1772478626&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-hormone-stress-support-en-us.png?v=1772478626&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-hormone-stress-support-en-us.png?v=1772478626&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-hormone-stress-support-en-us.png?v=1772478626&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-hormone-stress-support-en-us.png?v=1772478626&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840014274777"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840014274777"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-bundled-en-us.jpg?v=1772478625&amp;width=3840" alt="Belle Vitale hormone health supplements" srcset="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-bundled-en-us.jpg?v=1772478625&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-bundled-en-us.jpg?v=1772478625&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-bundled-en-us.jpg?v=1772478625&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-bundled-en-us.jpg?v=1772478625&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-bundled-en-us.jpg?v=1772478625&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-bundled-en-us.jpg?v=1772478625&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-bundled-en-us.jpg?v=1772478625&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-bundled-en-us.jpg?v=1772478625&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-bundled-en-us.jpg?v=1772478625&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840014307545"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840014307545"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-health-developed-validated-by-experts-scientists-en-us.jpg?v=1772478624&amp;width=3840" alt="Belle Vitale hormone health supplement developed by" srcset="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-health-developed-validated-by-experts-scientists-en-us.jpg?v=1772478624&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-health-developed-validated-by-experts-scientists-en-us.jpg?v=1772478624&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-health-developed-validated-by-experts-scientists-en-us.jpg?v=1772478624&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-health-developed-validated-by-experts-scientists-en-us.jpg?v=1772478624&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-health-developed-validated-by-experts-scientists-en-us.jpg?v=1772478624&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-health-developed-validated-by-experts-scientists-en-us.jpg?v=1772478624&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-health-developed-validated-by-experts-scientists-en-us.jpg?v=1772478624&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-health-developed-validated-by-experts-scientists-en-us.jpg?v=1772478624&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-health-developed-validated-by-experts-scientists-en-us.jpg?v=1772478624&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Belle Vitale Supplements"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_a46cVC"
    data-product-id="9413924421849"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--single-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413924421849-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-2" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683209527513"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<add-to-cart-component
  ref="addToCartButtonContainer"
  data-product-variant-media="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&width=100"
>
  <button
    id=""
    type="submit"
    name="add"
    ref="addToCartButton"
    on:click="/handleClick"
    class="button button quick-add__button quick-add__button--add"
    
  >
    <span
      class="add-to-cart-text"
    >
      
      <span class="add-to-cart-text__content is-visually-hidden-mobile">Add</span>
    </span>
    <span
      aria-hidden="true"
      class="add-to-cart-text--added"
    >
      <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      <span class="is-visually-hidden-mobile">Added</span>
    </span>
  </button>
</add-to-cart-component>



<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9413924421849" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_a46cVC" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Belle Vitale Supplements</span>
    <div class="h6">
      <product-price data-product-id="9413924421849">
        <div ref="priceContainer">
  

  
     
    <span class="price">$59.95</span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/hormone-health-supplements?variant=47683209527513"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ARlRJV0dac2dEUXp4R__product_title_wfAFJJ-2 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>Belle Vitale Supplements</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="AVXV3YWNtaVdwbmFuS__price_UNgpEe-2"
  data-product-id="9413924421849"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
     
    <span class="price">$59.95</span>
  

  
</div>

  <div id="shopify-block-AWnROR2lXV0lPZXdpM__variant-marketing-copy-2" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683209527513"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683209560281"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683209593049"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9665481605337"
  data-product-variants-size="2"
  id="product-card-AOVZVbVY5VWM0anRMb__static-product-card-3"
  data-product-transition="false"
  
  
>
  
  <a
    id="ea1f85f0c9c39e2bc357cc0ac3eb4ad3"
    
      href="/products/p90x-creatine-monohydrate-powder?variant=48369731895513"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      P90X Creatine
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-3 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9665481605337"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/p90x-creatine-monohydrate-powder?variant=48369731895513"
      aria-label="P90X Creatine"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="6" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
      <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>

    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989394510041"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394510041"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=3840" alt="P90X Creatine Unflavored 20 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989394542809"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394542809"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=3840" alt="P90X Creatine Strawberry-Lemonade 20 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394575577"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394575577"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=3840" alt="Introducing P90X Creatine" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394608345"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394608345"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=3840" alt="P90X Creatine Powered by The P90X Factor" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394641113"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394641113"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=3840" alt="P90X Creatine Helps" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394673881"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394673881"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=3840" alt="P90X Creatine How to Use" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394706649"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394706649"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=3840" alt="P90X Creatine Benefits" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-8; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394772185"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394772185"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=3840" alt="Your P90X Supplement Purchase unlocks 30 days free of BODi" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="P90X Creatine"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_a46cVC"
    data-product-id="9665481605337"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9665481605337-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-3" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="48369731895513"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9665481605337" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_a46cVC" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">P90X Creatine</span>
    <div class="h6">
      <product-price data-product-id="9665481605337">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$29.99</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$22.49</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ASUhaWEp2eFNjdEFuU__text_xnGXLh-3 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Strength & Power</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/p90x-creatine-monohydrate-powder?variant=48369731895513"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ARlRJV0dac2dEUXp4R__product_title_wfAFJJ-3 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>P90X Creatine</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="AVXV3YWNtaVdwbmFuS__price_UNgpEe-3"
  data-product-id="9665481605337"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$22.49</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$29.99</span>
    </span>
  
</div>

  <div id="shopify-block-AWnROR2lXV0lPZXdpM__variant-marketing-copy-3" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369731895513"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369731928281"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413924880601"
  data-product-variants-size="4"
  id="product-card-AOVZVbVY5VWM0anRMb__static-product-card-4"
  data-product-transition="false"
  
  
>
  
  <a
    id="20e8ab3cdadd140ec19841b66150f473"
    
      href="/products/recover-post-workout-protein-powder?variant=47683210379481"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Recover Post-Workout Protein Powder
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-4 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413924880601"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/recover-post-workout-protein-powder?variant=47683210379481"
      aria-label="Recover Post-Workout Protein Powder"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="4" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
      <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>

    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017584345"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017584345"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-tub-20-serving-en-us.png?v=1772478652&amp;width=3840" alt="Chocolate Whey Recover" srcset="//www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-tub-20-serving-en-us.png?v=1772478652&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-tub-20-serving-en-us.png?v=1772478652&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-tub-20-serving-en-us.png?v=1772478652&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-tub-20-serving-en-us.png?v=1772478652&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-tub-20-serving-en-us.png?v=1772478652&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-tub-20-serving-en-us.png?v=1772478652&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-tub-20-serving-en-us.png?v=1772478652&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-tub-20-serving-en-us.png?v=1772478652&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-tub-20-serving-en-us.png?v=1772478652&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017617113"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017617113"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-recover-orange-whey-tub-20-servings-en-us.png?v=1772478656&amp;width=3840" alt="Recover Post-Workout Whey Orange" srcset="//www.bodi.com/cdn/shop/files/bodi-recover-orange-whey-tub-20-servings-en-us.png?v=1772478656&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-recover-orange-whey-tub-20-servings-en-us.png?v=1772478656&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-recover-orange-whey-tub-20-servings-en-us.png?v=1772478656&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-recover-orange-whey-tub-20-servings-en-us.png?v=1772478656&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-recover-orange-whey-tub-20-servings-en-us.png?v=1772478656&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-recover-orange-whey-tub-20-servings-en-us.png?v=1772478656&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-recover-orange-whey-tub-20-servings-en-us.png?v=1772478656&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-recover-orange-whey-tub-20-servings-en-us.png?v=1772478656&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-recover-orange-whey-tub-20-servings-en-us.png?v=1772478656&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017649881"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017649881"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-packets-18-serving-en-us.png?v=1772478656&amp;width=3840" alt="Recover post workout protein powder" srcset="//www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-packets-18-serving-en-us.png?v=1772478656&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-packets-18-serving-en-us.png?v=1772478656&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-packets-18-serving-en-us.png?v=1772478656&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-packets-18-serving-en-us.png?v=1772478656&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-packets-18-serving-en-us.png?v=1772478656&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-packets-18-serving-en-us.png?v=1772478656&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-packets-18-serving-en-us.png?v=1772478656&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-packets-18-serving-en-us.png?v=1772478656&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-recover-chocolate-whey-packets-18-serving-en-us.png?v=1772478656&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017682649"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017682649"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-recover-chocolate-vegan-tub-20-serving-en-us.png?v=1772478654&amp;width=3840" alt="Chocolate Plant-based Recover" srcset="//www.bodi.com/cdn/shop/files/bodi-recover-chocolate-vegan-tub-20-serving-en-us.png?v=1772478654&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-vegan-tub-20-serving-en-us.png?v=1772478654&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-vegan-tub-20-serving-en-us.png?v=1772478654&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-vegan-tub-20-serving-en-us.png?v=1772478654&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-vegan-tub-20-serving-en-us.png?v=1772478654&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-vegan-tub-20-serving-en-us.png?v=1772478654&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-vegan-tub-20-serving-en-us.png?v=1772478654&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-recover-chocolate-vegan-tub-20-serving-en-us.png?v=1772478654&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-recover-chocolate-vegan-tub-20-serving-en-us.png?v=1772478654&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840017715417"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017715417"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-recover-pdp-comparison-chart-en-us.jpg?v=1772478652&amp;width=3840" alt="Recover comparison chart" srcset="//www.bodi.com/cdn/shop/files/bodi-recover-pdp-comparison-chart-en-us.jpg?v=1772478652&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-comparison-chart-en-us.jpg?v=1772478652&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-comparison-chart-en-us.jpg?v=1772478652&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-comparison-chart-en-us.jpg?v=1772478652&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-comparison-chart-en-us.jpg?v=1772478652&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-comparison-chart-en-us.jpg?v=1772478652&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-comparison-chart-en-us.jpg?v=1772478652&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-comparison-chart-en-us.jpg?v=1772478652&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-recover-pdp-comparison-chart-en-us.jpg?v=1772478652&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840017748185"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017748185"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-recover-pdp-key-benefits-en-us.jpg?v=1772478652&amp;width=3840" alt="Recover key benefits" srcset="//www.bodi.com/cdn/shop/files/bodi-recover-pdp-key-benefits-en-us.jpg?v=1772478652&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-key-benefits-en-us.jpg?v=1772478652&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-key-benefits-en-us.jpg?v=1772478652&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-key-benefits-en-us.jpg?v=1772478652&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-key-benefits-en-us.jpg?v=1772478652&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-key-benefits-en-us.jpg?v=1772478652&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-key-benefits-en-us.jpg?v=1772478652&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-recover-pdp-key-benefits-en-us.jpg?v=1772478652&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-recover-pdp-key-benefits-en-us.jpg?v=1772478652&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840017780953"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017780953"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-recover-post-workout-study-results-en-us.jpg?v=1772478652&amp;width=3840" alt="Recover study results" srcset="//www.bodi.com/cdn/shop/files/bodi-recover-post-workout-study-results-en-us.jpg?v=1772478652&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-study-results-en-us.jpg?v=1772478652&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-study-results-en-us.jpg?v=1772478652&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-study-results-en-us.jpg?v=1772478652&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-study-results-en-us.jpg?v=1772478652&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-study-results-en-us.jpg?v=1772478652&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-study-results-en-us.jpg?v=1772478652&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-study-results-en-us.jpg?v=1772478652&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-recover-post-workout-study-results-en-us.jpg?v=1772478652&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-8; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840017813721"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017813721"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-recover-post-workout-key-benefits-en-us.jpg?v=1772478652&amp;width=3840" alt="Recover key benefits" srcset="//www.bodi.com/cdn/shop/files/bodi-recover-post-workout-key-benefits-en-us.jpg?v=1772478652&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-key-benefits-en-us.jpg?v=1772478652&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-key-benefits-en-us.jpg?v=1772478652&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-key-benefits-en-us.jpg?v=1772478652&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-key-benefits-en-us.jpg?v=1772478652&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-key-benefits-en-us.jpg?v=1772478652&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-key-benefits-en-us.jpg?v=1772478652&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-recover-post-workout-key-benefits-en-us.jpg?v=1772478652&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-recover-post-workout-key-benefits-en-us.jpg?v=1772478652&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Recover Post-Workout Protein Powder"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_a46cVC"
    data-product-id="9413924880601"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413924880601-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-4" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683210379481"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9413924880601" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_a46cVC" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Recover Post-Workout Protein Powder</span>
    <div class="h6">
      <product-price data-product-id="9413924880601">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$69.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$52.46</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ASUhaWEp2eFNjdEFuU__text_xnGXLh-4 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Bestseller</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/recover-post-workout-protein-powder?variant=47683210379481"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ARlRJV0dac2dEUXp4R__product_title_wfAFJJ-4 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>Recover Post-Workout Protein Powder</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="AVXV3YWNtaVdwbmFuS__price_UNgpEe-4"
  data-product-id="9413924880601"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$52.46</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$69.95</span>
    </span>
  
</div>

  <div id="shopify-block-AWnROR2lXV0lPZXdpM__variant-marketing-copy-4" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210379481"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210445017"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210477785"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210412249"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413924094169"
  data-product-variants-size="1"
  id="product-card-AOVZVbVY5VWM0anRMb__static-product-card-5"
  data-product-transition="false"
  
  
>
  
  <a
    id="d4f4e2f02d91ad8c02bad5e3932051df"
    
      href="/products/collagen-peptides?variant=47683208380633"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Bioactive Collagen Peptides
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-5 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413924094169"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/collagen-peptides?variant=47683208380633"
      aria-label="Bioactive Collagen Peptides"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="5" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
      <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>

    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840012570841"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012570841"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-bioactive-collagen-peptides.png?v=1787694425&amp;width=3840" alt="Bioactive Collagen Peptides" srcset="//www.bodi.com/cdn/shop/files/bodi-bioactive-collagen-peptides.png?v=1787694425&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-bioactive-collagen-peptides.png?v=1787694425&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-bioactive-collagen-peptides.png?v=1787694425&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-bioactive-collagen-peptides.png?v=1787694425&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-bioactive-collagen-peptides.png?v=1787694425&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-bioactive-collagen-peptides.png?v=1787694425&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-bioactive-collagen-peptides.png?v=1787694425&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-bioactive-collagen-peptides.png?v=1787694425&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-bioactive-collagen-peptides.png?v=1787694425&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840012603609"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012603609"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-collagen-pdp-supplement-facts-en-us.png?v=1772478598&amp;width=3840" alt="Collagen supplement facts" srcset="//www.bodi.com/cdn/shop/files/bodi-collagen-pdp-supplement-facts-en-us.png?v=1772478598&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-collagen-pdp-supplement-facts-en-us.png?v=1772478598&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-collagen-pdp-supplement-facts-en-us.png?v=1772478598&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-collagen-pdp-supplement-facts-en-us.png?v=1772478598&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-collagen-pdp-supplement-facts-en-us.png?v=1772478598&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-collagen-pdp-supplement-facts-en-us.png?v=1772478598&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-collagen-pdp-supplement-facts-en-us.png?v=1772478598&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-collagen-pdp-supplement-facts-en-us.png?v=1772478598&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-collagen-pdp-supplement-facts-en-us.png?v=1772478598&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840012636377"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012636377"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-collagen-peptides-clinically-tested-before-and-after-en-us.jpg?v=1772478597&amp;width=3840" alt="Collagen peptides clinical test" srcset="//www.bodi.com/cdn/shop/files/bodi-collagen-peptides-clinically-tested-before-and-after-en-us.jpg?v=1772478597&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-clinically-tested-before-and-after-en-us.jpg?v=1772478597&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-clinically-tested-before-and-after-en-us.jpg?v=1772478597&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-clinically-tested-before-and-after-en-us.jpg?v=1772478597&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-clinically-tested-before-and-after-en-us.jpg?v=1772478597&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-clinically-tested-before-and-after-en-us.jpg?v=1772478597&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-clinically-tested-before-and-after-en-us.jpg?v=1772478597&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-clinically-tested-before-and-after-en-us.jpg?v=1772478597&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-collagen-peptides-clinically-tested-before-and-after-en-us.jpg?v=1772478597&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840012669145"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012669145"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-collagen-peptides-beauty-hack-en-us.jpg?v=1772478597&amp;width=3840" alt="Collagen Peptides benefits" srcset="//www.bodi.com/cdn/shop/files/bodi-collagen-peptides-beauty-hack-en-us.jpg?v=1772478597&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-beauty-hack-en-us.jpg?v=1772478597&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-beauty-hack-en-us.jpg?v=1772478597&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-beauty-hack-en-us.jpg?v=1772478597&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-beauty-hack-en-us.jpg?v=1772478597&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-beauty-hack-en-us.jpg?v=1772478597&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-beauty-hack-en-us.jpg?v=1772478597&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-beauty-hack-en-us.jpg?v=1772478597&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-collagen-peptides-beauty-hack-en-us.jpg?v=1772478597&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840012701913"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012701913"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-collagen-peptides-comparison-en-us.jpg?v=1772478597&amp;width=3840" alt="Collagen peptides comparison" srcset="//www.bodi.com/cdn/shop/files/bodi-collagen-peptides-comparison-en-us.jpg?v=1772478597&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-comparison-en-us.jpg?v=1772478597&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-comparison-en-us.jpg?v=1772478597&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-comparison-en-us.jpg?v=1772478597&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-comparison-en-us.jpg?v=1772478597&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-comparison-en-us.jpg?v=1772478597&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-comparison-en-us.jpg?v=1772478597&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-comparison-en-us.jpg?v=1772478597&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-collagen-peptides-comparison-en-us.jpg?v=1772478597&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840012734681"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012734681"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-collagen-peptides-bioactive-difference-en-us.jpg?v=1772478597&amp;width=3840" alt="Bioactive collagen peptides" srcset="//www.bodi.com/cdn/shop/files/bodi-collagen-peptides-bioactive-difference-en-us.jpg?v=1772478597&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-bioactive-difference-en-us.jpg?v=1772478597&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-bioactive-difference-en-us.jpg?v=1772478597&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-bioactive-difference-en-us.jpg?v=1772478597&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-bioactive-difference-en-us.jpg?v=1772478597&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-bioactive-difference-en-us.jpg?v=1772478597&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-bioactive-difference-en-us.jpg?v=1772478597&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-collagen-peptides-bioactive-difference-en-us.jpg?v=1772478597&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-collagen-peptides-bioactive-difference-en-us.jpg?v=1772478597&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Bioactive Collagen Peptides"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_a46cVC"
    data-product-id="9413924094169"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--single-option 
       quick-add__product-form-component--single-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413924094169-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-5" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683208380633"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<add-to-cart-component
  ref="addToCartButtonContainer"
  data-product-variant-media="//www.bodi.com/cdn/shop/files/bodi-bioactive-collagen-peptides.png?v=1787694425&width=100"
>
  <button
    id=""
    type="submit"
    name="add"
    ref="addToCartButton"
    on:click="/handleClick"
    class="button button quick-add__button quick-add__button--add"
    
  >
    <span
      class="add-to-cart-text"
    >
      
      <span class="add-to-cart-text__content is-visually-hidden-mobile">Add</span>
    </span>
    <span
      aria-hidden="true"
      class="add-to-cart-text--added"
    >
      <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      <span class="is-visually-hidden-mobile">Added</span>
    </span>
  </button>
</add-to-cart-component>



<input type="hidden" name="product-id" value="9413924094169" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_a46cVC" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Bioactive Collagen Peptides</span>
    <div class="h6">
      <product-price data-product-id="9413924094169">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$34.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$26.21</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ASUhaWEp2eFNjdEFuU__text_xnGXLh-5 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Daily Beauty Supplement</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/collagen-peptides?variant=47683208380633"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ARlRJV0dac2dEUXp4R__product_title_wfAFJJ-5 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>Bioactive Collagen Peptides</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="AVXV3YWNtaVdwbmFuS__price_UNgpEe-5"
  data-product-id="9413924094169"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$26.21</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$34.95</span>
    </span>
  
</div>

  <div id="shopify-block-AWnROR2lXV0lPZXdpM__variant-marketing-copy-5" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683208380633"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413924946137"
  data-product-variants-size="6"
  id="product-card-AOVZVbVY5VWM0anRMb__static-product-card-6"
  data-product-transition="false"
  
  
>
  
  <a
    id="b9e88bb23fecaedd0a1cbef4b951e0ee"
    
      href="/products/shakeology?variant=47683210543321"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Shakeology
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-6 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413924946137"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/shakeology?variant=47683210543321"
      aria-label="Shakeology"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="0" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017879257"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017879257"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=3840" alt="Shakeology Vanilla Vegan" srcset="//www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017912025"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017912025"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=3840" alt="Shakeology Vanilla Vegan" srcset="//www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017944793"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017944793"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=3840" alt="Shakeology Chocolate Vegan" srcset="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017977561"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017977561"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=3840" alt="Shakeology Chocolate Vegan" srcset="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840018075865"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840018075865"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=3840" alt="Shakeology Chocolate Whey" srcset="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840018108633"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840018108633"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=3840" alt="Chocolate whey Shakeology" srcset="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Shakeology"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_a46cVC"
    data-product-id="9413924946137"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413924946137-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-6" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683210641625"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9413924946137" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_a46cVC" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Shakeology</span>
    <div class="h6">
      <product-price data-product-id="9413924946137">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$69.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$52.46</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ASUhaWEp2eFNjdEFuU__text_xnGXLh-6 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Bestseller</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/shakeology?variant=47683210543321"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ARlRJV0dac2dEUXp4R__product_title_wfAFJJ-6 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>Shakeology</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="AVXV3YWNtaVdwbmFuS__price_UNgpEe-6"
  data-product-id="9413924946137"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$52.46</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$69.95</span>
    </span>
  
</div>

  <div id="shopify-block-AWnROR2lXV0lPZXdpM__variant-marketing-copy-6" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210641625"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210576089"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210871001"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210805465"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210674393"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210543321"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413924487385"
  data-product-variants-size="1"
  id="product-card-AOVZVbVY5VWM0anRMb__static-product-card-7"
  data-product-transition="false"
  
  
>
  
  <a
    id="df1e12299bd872ccbbc9f04437f0692a"
    
      href="/products/hydrate-electrolyte-powder?variant=47683209691353"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Hydrate Electrolyte Powder
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-7 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413924487385"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/hydrate-electrolyte-powder?variant=47683209691353"
      aria-label="Hydrate Electrolyte Powder"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="6" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
      <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>

    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840013226201"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013226201"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-hydrate-citrus-40-serving-en-us.png?v=1772478610&amp;width=3840" alt="Hydrate Electrolyte Powder" srcset="//www.bodi.com/cdn/shop/files/bodi-hydrate-citrus-40-serving-en-us.png?v=1772478610&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-hydrate-citrus-40-serving-en-us.png?v=1772478610&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-hydrate-citrus-40-serving-en-us.png?v=1772478610&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-hydrate-citrus-40-serving-en-us.png?v=1772478610&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-hydrate-citrus-40-serving-en-us.png?v=1772478610&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-hydrate-citrus-40-serving-en-us.png?v=1772478610&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-hydrate-citrus-40-serving-en-us.png?v=1772478610&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-hydrate-citrus-40-serving-en-us.png?v=1772478610&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-hydrate-citrus-40-serving-en-us.png?v=1772478610&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840013258969"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013258969"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-comparison-chart-en-us.jpg?v=1772478610&amp;width=3840" alt="Hydrate comparison chart" srcset="//www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-comparison-chart-en-us.jpg?v=1772478610&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-comparison-chart-en-us.jpg?v=1772478610&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-comparison-chart-en-us.jpg?v=1772478610&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-comparison-chart-en-us.jpg?v=1772478610&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-comparison-chart-en-us.jpg?v=1772478610&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-comparison-chart-en-us.jpg?v=1772478610&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-comparison-chart-en-us.jpg?v=1772478610&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-comparison-chart-en-us.jpg?v=1772478610&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-comparison-chart-en-us.jpg?v=1772478610&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840013291737"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013291737"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-supplement-facts-en-us.jpg?v=1772478609&amp;width=3840" alt="Hydrate supplement facts" srcset="//www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-supplement-facts-en-us.jpg?v=1772478609&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-supplement-facts-en-us.jpg?v=1772478609&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-supplement-facts-en-us.jpg?v=1772478609&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-supplement-facts-en-us.jpg?v=1772478609&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-supplement-facts-en-us.jpg?v=1772478609&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-supplement-facts-en-us.jpg?v=1772478609&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-supplement-facts-en-us.jpg?v=1772478609&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-supplement-facts-en-us.jpg?v=1772478609&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-hydrate-pdp-supplement-facts-en-us.jpg?v=1772478609&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840013324505"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013324505"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-hydrate-key-benefits-en-us.jpg?v=1772478609&amp;width=3840" alt="Hydrate key ingredients" srcset="//www.bodi.com/cdn/shop/files/bodi-hydrate-key-benefits-en-us.jpg?v=1772478609&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-hydrate-key-benefits-en-us.jpg?v=1772478609&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-hydrate-key-benefits-en-us.jpg?v=1772478609&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-hydrate-key-benefits-en-us.jpg?v=1772478609&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-hydrate-key-benefits-en-us.jpg?v=1772478609&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-hydrate-key-benefits-en-us.jpg?v=1772478609&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-hydrate-key-benefits-en-us.jpg?v=1772478609&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-hydrate-key-benefits-en-us.jpg?v=1772478609&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-hydrate-key-benefits-en-us.jpg?v=1772478609&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840013357273"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013357273"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-hydrate-power-house-pdp-en-us.jpg?v=1772478611&amp;width=3840" alt="Hydrate badges" srcset="//www.bodi.com/cdn/shop/files/bodi-hydrate-power-house-pdp-en-us.jpg?v=1772478611&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-hydrate-power-house-pdp-en-us.jpg?v=1772478611&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-hydrate-power-house-pdp-en-us.jpg?v=1772478611&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-hydrate-power-house-pdp-en-us.jpg?v=1772478611&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-hydrate-power-house-pdp-en-us.jpg?v=1772478611&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-hydrate-power-house-pdp-en-us.jpg?v=1772478611&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-hydrate-power-house-pdp-en-us.jpg?v=1772478611&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-hydrate-power-house-pdp-en-us.jpg?v=1772478611&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-hydrate-power-house-pdp-en-us.jpg?v=1772478611&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840013390041"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013390041"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-comparison-chart-en-us.jpg?v=1772478609&amp;width=3840" alt="Hydrate comparison chart" srcset="//www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-comparison-chart-en-us.jpg?v=1772478609&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-comparison-chart-en-us.jpg?v=1772478609&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-comparison-chart-en-us.jpg?v=1772478609&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-comparison-chart-en-us.jpg?v=1772478609&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-comparison-chart-en-us.jpg?v=1772478609&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-comparison-chart-en-us.jpg?v=1772478609&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-comparison-chart-en-us.jpg?v=1772478609&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-comparison-chart-en-us.jpg?v=1772478609&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-comparison-chart-en-us.jpg?v=1772478609&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840013422809"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840013422809"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-powder-why-hydrate-works-en-us.jpg?v=1772478609&amp;width=3840" alt="why Hydrate works" srcset="//www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-powder-why-hydrate-works-en-us.jpg?v=1772478609&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-powder-why-hydrate-works-en-us.jpg?v=1772478609&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-powder-why-hydrate-works-en-us.jpg?v=1772478609&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-powder-why-hydrate-works-en-us.jpg?v=1772478609&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-powder-why-hydrate-works-en-us.jpg?v=1772478609&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-powder-why-hydrate-works-en-us.jpg?v=1772478609&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-powder-why-hydrate-works-en-us.jpg?v=1772478609&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-powder-why-hydrate-works-en-us.jpg?v=1772478609&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-hydrate-electrolyte-powder-why-hydrate-works-en-us.jpg?v=1772478609&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Hydrate Electrolyte Powder"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_a46cVC"
    data-product-id="9413924487385"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--single-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413924487385-ANDZQenlNZys4eVg4R__product_card_gallery_e84HeR-7" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683209691353"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<add-to-cart-component
  ref="addToCartButtonContainer"
  data-product-variant-media="//www.bodi.com/cdn/shop/files/bodi-hydrate-citrus-40-serving-en-us.png?v=1772478610&width=100"
>
  <button
    id=""
    type="submit"
    name="add"
    ref="addToCartButton"
    on:click="/handleClick"
    class="button button quick-add__button quick-add__button--add"
    
  >
    <span
      class="add-to-cart-text"
    >
      
      <span class="add-to-cart-text__content is-visually-hidden-mobile">Add</span>
    </span>
    <span
      aria-hidden="true"
      class="add-to-cart-text--added"
    >
      <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      <span class="is-visually-hidden-mobile">Added</span>
    </span>
  </button>
</add-to-cart-component>



<input type="hidden" name="product-id" value="9413924487385" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_a46cVC" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Hydrate Electrolyte Powder</span>
    <div class="h6">
      <product-price data-product-id="9413924487385">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$36.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$27.71</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ASUhaWEp2eFNjdEFuU__text_xnGXLh-7 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Electrolyte Powder</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/hydrate-electrolyte-powder?variant=47683209691353"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ARlRJV0dac2dEUXp4R__product_title_wfAFJJ-7 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>Hydrate Electrolyte Powder</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="AVXV3YWNtaVdwbmFuS__price_UNgpEe-7"
  data-product-id="9413924487385"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$27.71</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$36.95</span>
    </span>
  
</div>

  <div id="shopify-block-AWnROR2lXV0lPZXdpM__variant-marketing-copy-7" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683209691353"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>
</slideshow-slide>

  

    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

</div>

      
  </div>

  

  <div
    class="section-resource-list__content"
    style="--horizontal-alignment: center;"
  ></div>
  <div class="custom-section-background">
    

  </div>
</div>

<style> @media (max-width: 750px) {#shopify-section-template--21336458723545__product_list_a46cVC .layout-panel-flex {flex-flow: column !important; } #shopify-section-template--21336458723545__product_list_a46cVC .layout-panel-flex--row:not(.mobile-column) .text-block {flex: 0 0; }} </style></div><div id="shopify-section-template--21336458723545__section_F663nR" class="shopify-section section-wrapper">
<div class="section-wrapper ">

<div class="section-background color-scheme-1"></div>
<div
  class="section section--page-width color-scheme-1"

  

  style="
    

    
  "
>
 

  <div
    class="border-style custom-section-content"
    style="--border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;


"
  >
    
      <div
  class="overlay overlay--solid"
  style="
    --overlay-layer: 0;
    --overlay-color: #f7f8fa;
    --overlay-color--end: rgba(247, 248, 250, 0);
    --overlay-direction: to top; --overlay-border-radius: 0px;"
></div>



    
 <div class="custom-section-background">
    

  </div>
    <div
      class="
        spacing-style
        layout-panel-flex
        layout-panel-flex--column
        section-content-wrapper
         mobile-column
      "
      style="
        --flex-direction: column; --flex-wrap: nowrap;

--gap: 0px;

--horizontal-alignment: center; --vertical-alignment: flex-start;
--vertical-alignment-mobile: flex-start;

        --padding-block-start: max(20px, calc(var(--spacing-scale) * 40px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 40px));
      "
      data-testid="section-content"
    >
      
    





   
  <div 
  class="  spacing-style text-block text-block--AUGFIc1ZaWHNlVFZwS__text_LMfC8k custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground-heading);--font-weight: 600;    --font-size: 1rem;--font-weight: 600;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>ALL-IN-ONE NUTRITION</p>
     
  </div>
  

<style>
  
</style>










   
  <div 
  class="  spacing-style text-block text-block--ASFRSakdGaEhUTWtwM__text_fReM8c text-heading-display-2
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <h2>Shakeology</h2>
     
  </div>
  

<style>
  
</style>










   
  <div 
  class="  spacing-style text-block text-block--Ad2VZbUlZU2tBZFhDZ__text_ULWQrX text-body-lg
    text-block--align-center text-block--full-width 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-none);
    
      --text-align: center;
    
    
  "

  
>
    
     
    <p>Get more of the vital nutrients you need in one daily shake.*</p>
     
  </div>
  

<style>
  
</style>





  
    </div>
  </div>
</div>
</div>




</div><div id="shopify-section-template--21336458723545__product_list_aBkUMQ" class="shopify-section ui-test-product-list">

<div class="section-background color-scheme-1"></div>

      <div
  class="overlay overlay--solid"
  style="
    --overlay-layer: 0;
    --overlay-color: #f7f8fa;
    --overlay-color--end: rgba(247, 248, 250, 0);
    --overlay-direction: to top; --overlay-border-radius: 0px;"
></div>



    
<div
  class="
    section
    section--page-width
    color-scheme-1
    section-resource-list
    spacing-style
    gap-style
  "
  style="
    --column-count-mobile: 2;
    --padding-block-start: 0px;--padding-block-end: 19px;
    --gap: max(24px, calc(var(--gap-scale, 1.0) * 28px));
    --resource-list-column-gap-desktop: 8px;--column-count: 4;--column-count-mobile: 2;--mobile-card-size: 60cqw;
  "
>
  
  <div class="section-resource-list__header"></div>

  

  

  <div
    class="
      resource-list
      
      
      resource-list__carousel
    "
    style="--resource-list-column-gap-desktop: 8px;--column-count: 4;--column-count-mobile: 2;--mobile-card-size: 60cqw;"
    
  >
    
    
        





<div
  class="resource-list__carousel"
  style="
    --gutter-slide-width: 0px;
    --slide-width-max: 300px;
  "
>
  


<slideshow-component
  
    ref="resourceListCarousel"
  
  
    class="resource-list__carousel"
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5;"
  
  initial-slide="0"
  
  

  
>
  
  <slideshow-container ref="slideshowContainer">
    
    
      
  <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
     slideshow-control--shape-circle
    slideshow-control--style-chevron
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
     slideshow-control--shape-circle
    slideshow-control--style-chevron
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
</slideshow-arrows>


    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="false"
  style="view-timeline-name: --slide-0; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413928288473"
  data-product-variants-size="14"
  id="product-card-ANmdYWEhGVDNIdVdLZ__static-product-card"
  data-product-transition="false"
  
  
>
  
  <a
    id="d8d92ae81a74248aa20ad7800f6ba328"
    
      href="/products/shakeology-0g-added-sugar?variant=47683216081113"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Shakeology 0g Added Sugar
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 4px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AZmlnY2ZDSUlLdW5Xa__product_card_gallery_8WbEBE spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 8px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413928288473"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/shakeology-0g-added-sugar?variant=47683216081113"
      aria-label="Shakeology 0g Added Sugar"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8, --slide-9, --slide-10, --slide-11, --slide-12, --slide-13, --slide-14;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="0" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877855379673"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877855379673"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=3840" alt="A stand-up pouch of Shakeology Plant Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877855248601"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877855248601"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=3840" alt="Shakeology Plant Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877856297177"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877856297177"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=3840" alt="A stand-up pouch of Shakeology Plant Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-30-serving-en-us-1x1.png?v=1784923162&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877856198873"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877856198873"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=3840" alt="Shakeology Plant Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-vegan-14-serving-en-us-1x1.png?v=1783983317&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877855936729"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877855936729"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=3840" alt="A stand-up pouch of Shakeology Plant Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-30-serving-en-us-1x1.png?v=1784922887&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877855740121"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877855740121"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840" alt="Shakeology Plant Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-tropical-strawberry-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877856166105"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877856166105"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=3840" alt="A stand-up pouch of Shakeology Plant Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-30-serving-en-us-1x1.png?v=1784923175&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-8; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877855674585"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877855674585"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840" alt="Shakeology Plant Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cookies-creamy-vegan-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-9; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877853741273"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877853741273"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=3840" alt="A stand-up pouch of Shakeology Plant Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-30-serving-en-us-1x1.png?v=1784923122&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-10; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877854527705"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877854527705"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=3840" alt="Shakeology Plant Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-cafe-latte-vegan-14-serving-en-us-1x1.png?v=1783983306&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-11; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877856133337"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877856133337"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=3840" alt="A stand-up pouch of Shakeology Whey Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-30-serving-en-us-1x1.png?v=1784923277&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-12; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877855805657"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877855805657"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840" alt="Shakeology Whey Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-whey-14-serving-en-us-1x1.png?v=1783983314&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-13; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877856264409"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877856264409"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=3840" alt="A stand-up pouch of Shakeology Whey Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-30-serving-en-us-1x1.png?v=1784923040&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-14; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877856395481"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877856395481"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=3840" alt="Shakeology Whey Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vanilla-whey-14-serving-en-us-1x1.png?v=1783983318&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Shakeology 0g Added Sugar"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_aBkUMQ"
    data-product-id="9413928288473"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413928288473-AZmlnY2ZDSUlLdW5Xa__product_card_gallery_8WbEBE" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683216081113"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9413928288473" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_aBkUMQ" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Shakeology 0g Added Sugar</span>
    <div class="h6">
      <product-price data-product-id="9413928288473">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$69.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$52.46</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>








   
  <div 
  class=" product-badge spacing-style text-block text-block--ASDFLT0pWL0FzbTJ3N__text_VfkLM8 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Bestseller</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/shakeology-0g-added-sugar?variant=47683216081113"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ASFR3MkZSYWx2V1dmd__product_title_LHhEqP text-body-xl
    
  "

  style="
    --padding-block-start: 4px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
      <p>Shakeology 0g Added Sugar</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="AUmNSWTVRYUZMSmRnb__price_YNYjci"
  data-product-id="9413928288473"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$52.46</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$69.95</span>
    </span>
  
</div>

  <div id="shopify-block-AbjlPNk1kV2RBYUxTN__variant-marketing-copy" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216081113"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216113881"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216244953"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216310489"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216179417"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683215982809"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216015577"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216277721"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216343257"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216212185"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216146649"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="49046560571609"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216048345"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="49046566207705"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>









  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413924946137"
  data-product-variants-size="6"
  id="product-card-ANmdYWEhGVDNIdVdLZ__static-product-card-1"
  data-product-transition="false"
  
  
>
  
  <a
    id="0fe74a46bc2ad74d4cc3301aaafd836d"
    
      href="/products/shakeology?variant=47683210543321"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Shakeology
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 4px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AZmlnY2ZDSUlLdW5Xa__product_card_gallery_8WbEBE-1 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 8px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413924946137"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/shakeology?variant=47683210543321"
      aria-label="Shakeology"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="0" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017879257"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017879257"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=3840" alt="Shakeology Vanilla Vegan" srcset="//www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-14-serving-en-us.png?v=1772478655&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017912025"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017912025"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=3840" alt="Shakeology Vanilla Vegan" srcset="//www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-shakeology-vanilla-vegan-30-serving-en-us.png?v=1772478655&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017944793"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017944793"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=3840" alt="Shakeology Chocolate Vegan" srcset="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-14-serving-en-us.png?v=1772478657&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017977561"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017977561"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=3840" alt="Shakeology Chocolate Vegan" srcset="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-vegan-30-serving-en-us.png?v=1772478656&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840018075865"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840018075865"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=3840" alt="Shakeology Chocolate Whey" srcset="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-14-serving-en-us.png?v=1772478656&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840018108633"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840018108633"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=3840" alt="Chocolate whey Shakeology" srcset="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-shakeology-chocolate-whey-30-serving-en-us.png?v=1772478657&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Shakeology"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_aBkUMQ"
    data-product-id="9413924946137"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413924946137-AZmlnY2ZDSUlLdW5Xa__product_card_gallery_8WbEBE-1" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683210641625"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9413924946137" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_aBkUMQ" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Shakeology</span>
    <div class="h6">
      <product-price data-product-id="9413924946137">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$69.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$52.46</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>








   
  <div 
  class=" product-badge spacing-style text-block text-block--ASDFLT0pWL0FzbTJ3N__text_VfkLM8-1 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Bestseller</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/shakeology?variant=47683210543321"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ASFR3MkZSYWx2V1dmd__product_title_LHhEqP-1 text-body-xl
    
  "

  style="
    --padding-block-start: 4px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
      <p>Shakeology</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="AUmNSWTVRYUZMSmRnb__price_YNYjci-1"
  data-product-id="9413924946137"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$52.46</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$69.95</span>
    </span>
  
</div>

  <div id="shopify-block-AbjlPNk1kV2RBYUxTN__variant-marketing-copy-1" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210641625"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210576089"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210871001"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210805465"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210674393"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210543321"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>









  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413928386777"
  data-product-variants-size="1"
  id="product-card-ANmdYWEhGVDNIdVdLZ__static-product-card-2"
  data-product-transition="false"
  
  
>
  
  <a
    id="5e1c1e1a5f059b645a19e16d48857bc2"
    
      href="/products/shakeology-sampler?variant=47683216507097"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Shakeology Sampler
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 4px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AZmlnY2ZDSUlLdW5Xa__product_card_gallery_8WbEBE-2 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 8px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413928386777"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/shakeology-sampler?variant=47683216507097"
      aria-label="Shakeology Sampler"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="0" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="39877856461017"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39877856461017"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vegan-sample-packs-en-us-1x1.png?v=1783983320&amp;width=3840" alt="Shakeology Plant Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vegan-sample-packs-en-us-1x1.png?v=1783983320&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vegan-sample-packs-en-us-1x1.png?v=1783983320&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vegan-sample-packs-en-us-1x1.png?v=1783983320&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vegan-sample-packs-en-us-1x1.png?v=1783983320&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vegan-sample-packs-en-us-1x1.png?v=1783983320&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vegan-sample-packs-en-us-1x1.png?v=1783983320&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vegan-sample-packs-en-us-1x1.png?v=1783983320&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vegan-sample-packs-en-us-1x1.png?v=1783983320&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vegan-sample-packs-en-us-1x1.png?v=1783983320&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Shakeology Sampler"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_aBkUMQ"
    data-product-id="9413928386777"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--single-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413928386777-AZmlnY2ZDSUlLdW5Xa__product_card_gallery_8WbEBE-2" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683216507097"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<add-to-cart-component
  ref="addToCartButtonContainer"
  data-product-variant-media="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-vegan-sample-packs-en-us-1x1.png?v=1783983320&width=100"
>
  <button
    id=""
    type="submit"
    name="add"
    ref="addToCartButton"
    on:click="/handleClick"
    class="button button quick-add__button quick-add__button--add"
    
  >
    <span
      class="add-to-cart-text"
    >
      
      <span class="add-to-cart-text__content is-visually-hidden-mobile">Add</span>
    </span>
    <span
      aria-hidden="true"
      class="add-to-cart-text--added"
    >
      <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      <span class="is-visually-hidden-mobile">Added</span>
    </span>
  </button>
</add-to-cart-component>



<input type="hidden" name="product-id" value="9413928386777" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_aBkUMQ" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Shakeology Sampler</span>
    <div class="h6">
      <product-price data-product-id="9413928386777">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$29.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$22.46</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>








<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/shakeology-sampler?variant=47683216507097"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ASFR3MkZSYWx2V1dmd__product_title_LHhEqP-2 text-body-xl
    
  "

  style="
    --padding-block-start: 4px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
      <p>Shakeology Sampler</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="AUmNSWTVRYUZMSmRnb__price_YNYjci-2"
  data-product-id="9413928386777"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$22.46</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$29.95</span>
    </span>
  
</div>

  <div id="shopify-block-AbjlPNk1kV2RBYUxTN__variant-marketing-copy-2" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683216507097"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>









  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413923963097"
  data-product-variants-size="2"
  id="product-card-ANmdYWEhGVDNIdVdLZ__static-product-card-3"
  data-product-transition="false"
  
  
>
  
  <a
    id="9a44366a3416a9faad423ef70332b05a"
    
      href="/products/3-day-refresh-cleanse?variant=47683208184025"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      3-Day Refresh Complete Kit with Shakeology
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 4px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AZmlnY2ZDSUlLdW5Xa__product_card_gallery_8WbEBE-3 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 8px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413923963097"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/3-day-refresh-cleanse?variant=47683208184025"
      aria-label="3-Day Refresh Complete Kit with Shakeology"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="5" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
      <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>

    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840012341465"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012341465"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-chocolate-en-us.png?v=1772478593&amp;width=3840" alt="3Day Refresh Vegan Chocolate" srcset="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-chocolate-en-us.png?v=1772478593&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-chocolate-en-us.png?v=1772478593&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-chocolate-en-us.png?v=1772478593&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-chocolate-en-us.png?v=1772478593&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-chocolate-en-us.png?v=1772478593&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-chocolate-en-us.png?v=1772478593&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-chocolate-en-us.png?v=1772478593&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-chocolate-en-us.png?v=1772478593&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-chocolate-en-us.png?v=1772478593&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840012374233"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012374233"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-vanilla-en-us.png?v=1772478592&amp;width=3840" alt="3Day Refresh Vegan Vanilla" srcset="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-vanilla-en-us.png?v=1772478592&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-vanilla-en-us.png?v=1772478592&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-vanilla-en-us.png?v=1772478592&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-vanilla-en-us.png?v=1772478592&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-vanilla-en-us.png?v=1772478592&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-vanilla-en-us.png?v=1772478592&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-vanilla-en-us.png?v=1772478592&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-vanilla-en-us.png?v=1772478592&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-vegan-vanilla-en-us.png?v=1772478592&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840012407001"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012407001"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-christina-r-en-us.jpg?v=1772478592&amp;width=3840" alt="3 Day Refresh before and after results" srcset="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-christina-r-en-us.jpg?v=1772478592&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-christina-r-en-us.jpg?v=1772478592&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-christina-r-en-us.jpg?v=1772478592&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-christina-r-en-us.jpg?v=1772478592&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-christina-r-en-us.jpg?v=1772478592&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-christina-r-en-us.jpg?v=1772478592&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-christina-r-en-us.jpg?v=1772478592&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-christina-r-en-us.jpg?v=1772478592&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-christina-r-en-us.jpg?v=1772478592&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840012439769"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012439769"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-james-b-en-us.jpg?v=1772478592&amp;width=3840" alt="3 Day Refresh before and after results" srcset="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-james-b-en-us.jpg?v=1772478592&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-james-b-en-us.jpg?v=1772478592&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-james-b-en-us.jpg?v=1772478592&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-james-b-en-us.jpg?v=1772478592&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-james-b-en-us.jpg?v=1772478592&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-james-b-en-us.jpg?v=1772478592&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-james-b-en-us.jpg?v=1772478592&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-james-b-en-us.jpg?v=1772478592&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-before-and-after-results-james-b-en-us.jpg?v=1772478592&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840012472537"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012472537"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-key-benefits-1324-1324-en-us.jpg?v=1772478592&amp;width=3840" alt="3-Day Refresh key benefits" srcset="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-key-benefits-1324-1324-en-us.jpg?v=1772478592&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-key-benefits-1324-1324-en-us.jpg?v=1772478592&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-key-benefits-1324-1324-en-us.jpg?v=1772478592&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-key-benefits-1324-1324-en-us.jpg?v=1772478592&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-key-benefits-1324-1324-en-us.jpg?v=1772478592&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-key-benefits-1324-1324-en-us.jpg?v=1772478592&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-key-benefits-1324-1324-en-us.jpg?v=1772478592&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-key-benefits-1324-1324-en-us.jpg?v=1772478592&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-key-benefits-1324-1324-en-us.jpg?v=1772478592&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840012505305"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012505305"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-what-you-get-1324-1324-en-us.jpg?v=1772478592&amp;width=3840" alt="What you get with 3-Day Refresh" srcset="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-what-you-get-1324-1324-en-us.jpg?v=1772478592&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-what-you-get-1324-1324-en-us.jpg?v=1772478592&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-what-you-get-1324-1324-en-us.jpg?v=1772478592&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-what-you-get-1324-1324-en-us.jpg?v=1772478592&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-what-you-get-1324-1324-en-us.jpg?v=1772478592&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-what-you-get-1324-1324-en-us.jpg?v=1772478592&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-what-you-get-1324-1324-en-us.jpg?v=1772478592&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-what-you-get-1324-1324-en-us.jpg?v=1772478592&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-what-you-get-1324-1324-en-us.jpg?v=1772478592&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840012538073"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012538073"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-how-it-works-en-us.jpg?v=1772478591&amp;width=3840" alt="3 Day Refresh How it Works" srcset="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-how-it-works-en-us.jpg?v=1772478591&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-how-it-works-en-us.jpg?v=1772478591&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-how-it-works-en-us.jpg?v=1772478591&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-how-it-works-en-us.jpg?v=1772478591&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-how-it-works-en-us.jpg?v=1772478591&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-how-it-works-en-us.jpg?v=1772478591&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-how-it-works-en-us.jpg?v=1772478591&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-how-it-works-en-us.jpg?v=1772478591&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-3-day-refresh-pdp-how-it-works-en-us.jpg?v=1772478591&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="3-Day Refresh Complete Kit with Shakeology"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_aBkUMQ"
    data-product-id="9413923963097"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413923963097-AZmlnY2ZDSUlLdW5Xa__product_card_gallery_8WbEBE-3" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683208184025"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9413923963097" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_aBkUMQ" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">3-Day Refresh Complete Kit with Shakeology</span>
    <div class="h6">
      <product-price data-product-id="9413923963097">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$69.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$52.46</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>








   
  <div 
  class=" product-badge spacing-style text-block text-block--ASDFLT0pWL0FzbTJ3N__text_VfkLM8-3 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Healthy 3-Day Cleanse</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/3-day-refresh-cleanse?variant=47683208184025"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ASFR3MkZSYWx2V1dmd__product_title_LHhEqP-3 text-body-xl
    
  "

  style="
    --padding-block-start: 4px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
      <p>3-Day Refresh Complete Kit with Shakeology</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="AUmNSWTVRYUZMSmRnb__price_YNYjci-3"
  data-product-id="9413923963097"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$52.46</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$69.95</span>
    </span>
  
</div>

  <div id="shopify-block-AbjlPNk1kV2RBYUxTN__variant-marketing-copy-3" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683208184025"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683208216793"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>









  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413928452313"
  data-product-variants-size="1"
  id="product-card-ANmdYWEhGVDNIdVdLZ__static-product-card-4"
  data-product-transition="false"
  
  
>
  
  <a
    id="e5c35cb5fd4b306f70ce6e336d04d0d8"
    
      href="/products/shakeology-shaker-cup?variant=47683217162457"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Shakeology Shaker Cup
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 4px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AZmlnY2ZDSUlLdW5Xa__product_card_gallery_8WbEBE-4 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 8px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413928452313"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/shakeology-shaker-cup?variant=47683217162457"
      aria-label="Shakeology Shaker Cup"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="0" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840055529689"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840055529689"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-shakeology-shaker-cup.png?v=1772479714&amp;width=3840" alt="Shakeology Shaker Cup" srcset="//www.bodi.com/cdn/shop/files/bodi-shakeology-shaker-cup.png?v=1772479714&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-shakeology-shaker-cup.png?v=1772479714&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-shakeology-shaker-cup.png?v=1772479714&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-shakeology-shaker-cup.png?v=1772479714&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-shakeology-shaker-cup.png?v=1772479714&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-shakeology-shaker-cup.png?v=1772479714&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-shakeology-shaker-cup.png?v=1772479714&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-shakeology-shaker-cup.png?v=1772479714&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-shakeology-shaker-cup.png?v=1772479714&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Shakeology Shaker Cup"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_aBkUMQ"
    data-product-id="9413928452313"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--single-option 
       quick-add__product-form-component--single-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413928452313-AZmlnY2ZDSUlLdW5Xa__product_card_gallery_8WbEBE-4" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683217162457"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<add-to-cart-component
  ref="addToCartButtonContainer"
  data-product-variant-media="//www.bodi.com/cdn/shop/files/bodi-shakeology-shaker-cup.png?v=1772479714&width=100"
>
  <button
    id=""
    type="submit"
    name="add"
    ref="addToCartButton"
    on:click="/handleClick"
    class="button button quick-add__button quick-add__button--add"
    
  >
    <span
      class="add-to-cart-text"
    >
      
      <span class="add-to-cart-text__content is-visually-hidden-mobile">Add</span>
    </span>
    <span
      aria-hidden="true"
      class="add-to-cart-text--added"
    >
      <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      <span class="is-visually-hidden-mobile">Added</span>
    </span>
  </button>
</add-to-cart-component>



<input type="hidden" name="product-id" value="9413928452313" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_aBkUMQ" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Shakeology Shaker Cup</span>
    <div class="h6">
      <product-price data-product-id="9413928452313">
        <div ref="priceContainer">
  

  
     
    <span class="price">$6.95</span>
  

  
</div>

      </product-price>
    </div>
  
</div>








<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/shakeology-shaker-cup?variant=47683217162457"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ASFR3MkZSYWx2V1dmd__product_title_LHhEqP-4 text-body-xl
    
  "

  style="
    --padding-block-start: 4px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
      <p>Shakeology Shaker Cup</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="AUmNSWTVRYUZMSmRnb__price_YNYjci-4"
  data-product-id="9413928452313"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
     
    <span class="price">$6.95</span>
  

  
</div>

  <div id="shopify-block-AbjlPNk1kV2RBYUxTN__variant-marketing-copy-4" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683217162457"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>









  </div>
</product-card>




      </div>
</slideshow-slide>

  

    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

</div>

      
  </div>

  

  <div
    class="section-resource-list__content"
    style="--horizontal-alignment: center;"
  >
<script src="//www.bodi.com/cdn/shop/t/2/assets/bodi-button.js?v=153141443260534750341772843289" type="module" defer></script>
<div class="bodi-button-wrapper" 
  
    style="--bodi-button-width: fit-content; --bodi-button-width-mobile: 100%;"
  
   
>
  <button
    type="button"
    id="bodi-button-AdkVyOVlwL1NOOTBQQ__button_AVaEmN"
    class="bodi-button bodi-button--primary bodi-button--large bodi-button--width-fit-content"
    
    
    data-click-action="navigate"
    
      data-url="/collections/shakeology"
      data-open-new-tab="false"
    
    
    
      data-analytics-event="select cta"
    
    
      data-analytics-module="SHOP | Shakeology | View All"
    
    
    
    
  >
    <span class="bodi-button__content" 
      
      >
        
      View All
      
    </span>
  </button>
  <span class="bodi-button__error hidden" aria-live="polite">
    <span class="bodi-button__error-icon"><svg class="icon icon-error" viewBox="0 0 13 13">
  <circle cx="6.5" cy="6.5" r="5.5" stroke="#fff" stroke-width="var(--icon-stroke-width)"/>
  <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width=".7"/>
  <path fill="#fff" d="m5.874 3.528.1 4.044h1.053l.1-4.044zm.627 6.133c.38 0 .68-.288.68-.656s-.3-.656-.68-.656-.681.288-.681.656.3.656.68.656"/>
  <path fill="#fff" stroke="#EB001B" stroke-width=".7" d="M5.874 3.178h-.359l.01.359.1 4.044.008.341h1.736l.008-.341.1-4.044.01-.359H5.873Zm.627 6.833c.56 0 1.03-.432 1.03-1.006s-.47-1.006-1.03-1.006-1.031.432-1.031 1.006.47 1.006 1.03 1.006Z"/>
</svg>
</span>
    <span class="bodi-button__error-text"></span>
  </span>
</div>



</div>
  <div class="custom-section-background">
    

  </div>
</div>

</div><div id="shopify-section-template--21336458723545__product_list_AjmgrK" class="shopify-section ui-test-product-list">

<div class="section-background color-scheme-1"></div>

<div
  class="
    section
    section--page-width
    color-scheme-1
    section-resource-list
    spacing-style
    gap-style
  "
  style="
    --column-count-mobile: 2;
    --padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: 8px;
    --gap: max(24px, calc(var(--gap-scale, 1.0) * 28px));
    --resource-list-column-gap-desktop: 8px;--column-count: 4;--column-count-mobile: 2;--mobile-card-size: 44cqw;
  "
>
  
  <div class="section-resource-list__header"><div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--row
      
    "
    style="--flex-direction: row; --flex-wrap: nowrap;

--gap: 12px;

--horizontal-alignment: space-between; --vertical-alignment: last baseline;
--vertical-alignment-mobile: last baseline;
"
  >

<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fit-content
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: fit-content;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 12px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class="  spacing-style text-block text-block--AR2kvb1QzR0FVWUdXT__text_pbGPnF text-heading-display-2
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <h2>Your BODi Favorites For Less</h2>
     
  </div>
  

<style>
  
</style>










   
  <div 
  class="  spacing-style text-block text-block--AbG5BNi8rTVJDdERua__text_KtTM9X text-body-lg
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-none);
    
    
  "

  
>
    
     
    <p>Score major markdowns on select items as low as $5.</p>
     
  </div>
  

<style>
  
</style>





</div>
</div>
<style>
  
</style>





<script src="//www.bodi.com/cdn/shop/t/2/assets/bodi-button.js?v=153141443260534750341772843289" type="module" defer></script>
<div class="bodi-button-wrapper" 
  
    style="--bodi-button-width: fit-content; --bodi-button-width-mobile: 100%;"
  
   
>
  <button
    type="button"
    id="bodi-button-ASEtxTnExVjFmejhSV__button_f7UzhA"
    class="bodi-button bodi-button--primary bodi-button--large bodi-button--width-fit-content"
    
    
    data-click-action="navigate"
    
      data-url="/collections/sale"
      data-open-new-tab="false"
    
    
    
      data-analytics-event="select cta"
    
    
      data-analytics-module="SHOP | Equipment | View All"
    
    
    
    
  >
    <span class="bodi-button__content" 
      
      >
        
      View All
      
    </span>
  </button>
  <span class="bodi-button__error hidden" aria-live="polite">
    <span class="bodi-button__error-icon"><svg class="icon icon-error" viewBox="0 0 13 13">
  <circle cx="6.5" cy="6.5" r="5.5" stroke="#fff" stroke-width="var(--icon-stroke-width)"/>
  <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width=".7"/>
  <path fill="#fff" d="m5.874 3.528.1 4.044h1.053l.1-4.044zm.627 6.133c.38 0 .68-.288.68-.656s-.3-.656-.68-.656-.681.288-.681.656.3.656.68.656"/>
  <path fill="#fff" stroke="#EB001B" stroke-width=".7" d="M5.874 3.178h-.359l.01.359.1 4.044.008.341h1.736l.008-.341.1-4.044.01-.359H5.873Zm.627 6.833c.56 0 1.03-.432 1.03-1.006s-.47-1.006-1.03-1.006-1.031.432-1.031 1.006.47 1.006 1.03 1.006Z"/>
</svg>
</span>
    <span class="bodi-button__error-text"></span>
  </span>
</div>



</div>
</div>
<style>
  
</style>


</div>

  

  

  <div
    class="
      resource-list
      
      
      resource-list__carousel
    "
    style="--resource-list-column-gap-desktop: 8px;--column-count: 4;--column-count-mobile: 2;--mobile-card-size: 44cqw;"
    
  >
    
    
        





<div
  class="resource-list__carousel"
  style="
    --gutter-slide-width: 0px;
    --slide-width-max: 300px;
  "
>
  


<slideshow-component
  
    ref="resourceListCarousel"
  
  
    class="resource-list__carousel"
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8;"
  
  initial-slide="0"
  
  

  
>
  
  <slideshow-container ref="slideshowContainer">
    
    
      
  <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
     slideshow-control--shape-circle
    slideshow-control--style-chevron
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
     slideshow-control--shape-circle
    slideshow-control--style-chevron
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
</slideshow-arrows>


    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="false"
  style="view-timeline-name: --slide-0; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413925535961"
  data-product-variants-size="1"
  id="product-card-AVW1xQjBrWHVhQ0Vma__static-product-card"
  data-product-transition="false"
  
  
>
  
  <a
    id="de7a1312d815a62e06c610496258ea34"
    
      href="/products/pilates-bands-straps?variant=47683211886809"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Pilates Resistance Bands & Straps
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413925535961"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/pilates-bands-straps?variant=47683211886809"
      aria-label="Pilates Resistance Bands & Straps"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="1" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840018763993"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840018763993"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-resistance-bands-and-straps.png?v=1772478678&amp;width=3840" alt="Pilates Resistance Bands &amp; Straps" srcset="//www.bodi.com/cdn/shop/files/bodi-resistance-bands-and-straps.png?v=1772478678&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-resistance-bands-and-straps.png?v=1772478678&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-resistance-bands-and-straps.png?v=1772478678&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-resistance-bands-and-straps.png?v=1772478678&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-resistance-bands-and-straps.png?v=1772478678&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-resistance-bands-and-straps.png?v=1772478678&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-resistance-bands-and-straps.png?v=1772478678&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-resistance-bands-and-straps.png?v=1772478678&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-resistance-bands-and-straps.png?v=1772478678&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Pilates Resistance Bands & Straps"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_AjmgrK"
    data-product-id="9413925535961"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--single-option 
       quick-add__product-form-component--single-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413925535961-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683211886809"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<add-to-cart-component
  ref="addToCartButtonContainer"
  data-product-variant-media="//www.bodi.com/cdn/shop/files/bodi-resistance-bands-and-straps.png?v=1772478678&width=100"
>
  <button
    id=""
    type="submit"
    name="add"
    ref="addToCartButton"
    on:click="/handleClick"
    class="button button quick-add__button quick-add__button--add"
    
  >
    <span
      class="add-to-cart-text"
    >
      
      <span class="add-to-cart-text__content is-visually-hidden-mobile">Add</span>
    </span>
    <span
      aria-hidden="true"
      class="add-to-cart-text--added"
    >
      <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      <span class="is-visually-hidden-mobile">Added</span>
    </span>
  </button>
</add-to-cart-component>



<input type="hidden" name="product-id" value="9413925535961" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_AjmgrK" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Pilates Resistance Bands & Straps</span>
    <div class="h6">
      <product-price data-product-id="9413925535961">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$59.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ATlNMV0pxNnpjK1hOR__text_brzfVY custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>91% Off</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/pilates-bands-straps?variant=47683211886809"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ANGZZNU5ZUjdmU0ExO__product_title_wPWgjn text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>Pilates Resistance Bands & Straps</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  text-left paragraph spacing-style"
  data-block-id="AVVoycHhYMDg3eDlRd__price_NdYMgW"
  data-product-id="9413925535961"
  style="
    
--color: var(--color-foreground);--font-weight: 500;
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$59.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

  <div id="shopify-block-ASWNrTU9TeG53QXZjZ__variant-marketing-copy" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683211886809"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413925601497"
  data-product-variants-size="2"
  id="product-card-AVW1xQjBrWHVhQ0Vma__static-product-card-1"
  data-product-transition="false"
  
  
>
  
  <a
    id="8033ee395d94c5152d40f5756d6f1961"
    
      href="/products/resistance-loops?variant=47683211952345"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Resistance Loops (Set of 3)
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-1 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413925601497"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/resistance-loops?variant=47683211952345"
      aria-label="Resistance Loops (Set of 3)"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="0" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840018829529"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840018829529"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-resistance-9-inch-loops-set-of-3.png?v=1772478680&amp;width=3840" alt="Resistance Loops (9 inch)" srcset="//www.bodi.com/cdn/shop/files/bodi-resistance-9-inch-loops-set-of-3.png?v=1772478680&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-resistance-9-inch-loops-set-of-3.png?v=1772478680&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-resistance-9-inch-loops-set-of-3.png?v=1772478680&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-resistance-9-inch-loops-set-of-3.png?v=1772478680&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-resistance-9-inch-loops-set-of-3.png?v=1772478680&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-resistance-9-inch-loops-set-of-3.png?v=1772478680&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-resistance-9-inch-loops-set-of-3.png?v=1772478680&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-resistance-9-inch-loops-set-of-3.png?v=1772478680&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-resistance-9-inch-loops-set-of-3.png?v=1772478680&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840018862297"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840018862297"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-resistance-loops-12-inch-set-of-3.png?v=1772478679&amp;width=3840" alt="Resistance Loops (12 inch)" srcset="//www.bodi.com/cdn/shop/files/bodi-resistance-loops-12-inch-set-of-3.png?v=1772478679&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-resistance-loops-12-inch-set-of-3.png?v=1772478679&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-resistance-loops-12-inch-set-of-3.png?v=1772478679&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-resistance-loops-12-inch-set-of-3.png?v=1772478679&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-resistance-loops-12-inch-set-of-3.png?v=1772478679&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-resistance-loops-12-inch-set-of-3.png?v=1772478679&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-resistance-loops-12-inch-set-of-3.png?v=1772478679&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-resistance-loops-12-inch-set-of-3.png?v=1772478679&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-resistance-loops-12-inch-set-of-3.png?v=1772478679&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Resistance Loops (Set of 3)"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_AjmgrK"
    data-product-id="9413925601497"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--single-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413925601497-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-1" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683211952345"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<add-to-cart-component
  ref="addToCartButtonContainer"
  data-product-variant-media="//www.bodi.com/cdn/shop/files/bodi-resistance-9-inch-loops-set-of-3.png?v=1772478680&width=100"
>
  <button
    id=""
    type="submit"
    name="add"
    ref="addToCartButton"
    on:click="/handleClick"
    class="button button quick-add__button quick-add__button--add"
    
  >
    <span
      class="add-to-cart-text"
    >
      
      <span class="add-to-cart-text__content is-visually-hidden-mobile">Add</span>
    </span>
    <span
      aria-hidden="true"
      class="add-to-cart-text--added"
    >
      <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      <span class="is-visually-hidden-mobile">Added</span>
    </span>
  </button>
</add-to-cart-component>



<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9413925601497" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_AjmgrK" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Resistance Loops (Set of 3)</span>
    <div class="h6">
      <product-price data-product-id="9413925601497">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$14.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ATlNMV0pxNnpjK1hOR__text_brzfVY-1 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>66% Off</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/resistance-loops?variant=47683211952345"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ANGZZNU5ZUjdmU0ExO__product_title_wPWgjn-1 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>Resistance Loops (Set of 3)</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  text-left paragraph spacing-style"
  data-block-id="AVVoycHhYMDg3eDlRd__price_NdYMgW-1"
  data-product-id="9413925601497"
  style="
    
--color: var(--color-foreground);--font-weight: 500;
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$14.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

  <div id="shopify-block-ASWNrTU9TeG53QXZjZ__variant-marketing-copy-1" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683211952345"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683211985113"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413925404889"
  data-product-variants-size="1"
  id="product-card-AVW1xQjBrWHVhQ0Vma__static-product-card-2"
  data-product-transition="false"
  
  
>
  
  <a
    id="850313bbafa977f76ff0bee33b22b5bd"
    
      href="/products/exercise-ball-buddy-ball?variant=47683211722969"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Buddy Ball
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-2 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413925404889"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/exercise-ball-buddy-ball?variant=47683211722969"
      aria-label="Buddy Ball"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="0" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840018567385"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840018567385"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-exercise-buddy-ball.png?v=1772478671&amp;width=3840" alt="exercise ball buddy ball" srcset="//www.bodi.com/cdn/shop/files/bodi-exercise-buddy-ball.png?v=1772478671&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-exercise-buddy-ball.png?v=1772478671&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-exercise-buddy-ball.png?v=1772478671&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-exercise-buddy-ball.png?v=1772478671&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-exercise-buddy-ball.png?v=1772478671&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-exercise-buddy-ball.png?v=1772478671&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-exercise-buddy-ball.png?v=1772478671&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-exercise-buddy-ball.png?v=1772478671&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-exercise-buddy-ball.png?v=1772478671&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Buddy Ball"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_AjmgrK"
    data-product-id="9413925404889"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--single-option 
       quick-add__product-form-component--single-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413925404889-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-2" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683211722969"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<add-to-cart-component
  ref="addToCartButtonContainer"
  data-product-variant-media="//www.bodi.com/cdn/shop/files/bodi-exercise-buddy-ball.png?v=1772478671&width=100"
>
  <button
    id=""
    type="submit"
    name="add"
    ref="addToCartButton"
    on:click="/handleClick"
    class="button button quick-add__button quick-add__button--add"
    
  >
    <span
      class="add-to-cart-text"
    >
      
      <span class="add-to-cart-text__content is-visually-hidden-mobile">Add</span>
    </span>
    <span
      aria-hidden="true"
      class="add-to-cart-text--added"
    >
      <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      <span class="is-visually-hidden-mobile">Added</span>
    </span>
  </button>
</add-to-cart-component>



<input type="hidden" name="product-id" value="9413925404889" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_AjmgrK" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Buddy Ball</span>
    <div class="h6">
      <product-price data-product-id="9413925404889">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$19.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ATlNMV0pxNnpjK1hOR__text_brzfVY-2 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>75% Off</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/exercise-ball-buddy-ball?variant=47683211722969"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ANGZZNU5ZUjdmU0ExO__product_title_wPWgjn-2 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>Buddy Ball</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  text-left paragraph spacing-style"
  data-block-id="AVVoycHhYMDg3eDlRd__price_NdYMgW-2"
  data-product-id="9413925404889"
  style="
    
--color: var(--color-foreground);--font-weight: 500;
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$19.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

  <div id="shopify-block-ASWNrTU9TeG53QXZjZ__variant-marketing-copy-2" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683211722969"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413923930329"
  data-product-variants-size="1"
  id="product-card-AVW1xQjBrWHVhQ0Vma__static-product-card-3"
  data-product-transition="false"
  
  
>
  
  <a
    id="370ed603ccdb30cafe4cd17047e146e9"
    
      href="/products/2b-water-bottle?variant=47683208151257"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      2B Mindset Water Bottle
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-3 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413923930329"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/2b-water-bottle?variant=47683208151257"
      aria-label="2B Mindset Water Bottle"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="0" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840012308697"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840012308697"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-2b-mindset-water-bottle.png?v=1772478591&amp;width=3840" alt="2B Mindset Water Bottle" srcset="//www.bodi.com/cdn/shop/files/bodi-2b-mindset-water-bottle.png?v=1772478591&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-water-bottle.png?v=1772478591&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-water-bottle.png?v=1772478591&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-water-bottle.png?v=1772478591&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-water-bottle.png?v=1772478591&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-water-bottle.png?v=1772478591&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-water-bottle.png?v=1772478591&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-water-bottle.png?v=1772478591&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-2b-mindset-water-bottle.png?v=1772478591&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="2B Mindset Water Bottle"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_AjmgrK"
    data-product-id="9413923930329"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--single-option 
       quick-add__product-form-component--single-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413923930329-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-3" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683208151257"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<add-to-cart-component
  ref="addToCartButtonContainer"
  data-product-variant-media="//www.bodi.com/cdn/shop/files/bodi-2b-mindset-water-bottle.png?v=1772478591&width=100"
>
  <button
    id=""
    type="submit"
    name="add"
    ref="addToCartButton"
    on:click="/handleClick"
    class="button button quick-add__button quick-add__button--add"
    
  >
    <span
      class="add-to-cart-text"
    >
      
      <span class="add-to-cart-text__content is-visually-hidden-mobile">Add</span>
    </span>
    <span
      aria-hidden="true"
      class="add-to-cart-text--added"
    >
      <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      <span class="is-visually-hidden-mobile">Added</span>
    </span>
  </button>
</add-to-cart-component>



<input type="hidden" name="product-id" value="9413923930329" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_AjmgrK" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">2B Mindset Water Bottle</span>
    <div class="h6">
      <product-price data-product-id="9413923930329">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$14.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ATlNMV0pxNnpjK1hOR__text_brzfVY-3 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>66% Off</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/2b-water-bottle?variant=47683208151257"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ANGZZNU5ZUjdmU0ExO__product_title_wPWgjn-3 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>2B Mindset Water Bottle</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  text-left paragraph spacing-style"
  data-block-id="AVVoycHhYMDg3eDlRd__price_NdYMgW-3"
  data-product-id="9413923930329"
  style="
    
--color: var(--color-foreground);--font-weight: 500;
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$14.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

  <div id="shopify-block-ASWNrTU9TeG53QXZjZ__variant-marketing-copy-3" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683208151257"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413925044441"
  data-product-variants-size="3"
  id="product-card-AVW1xQjBrWHVhQ0Vma__static-product-card-4"
  data-product-transition="false"
  
  
>
  
  <a
    id="ab86fd9e53b0209efc82387278e0f86b"
    
      href="/products/b-lines-resistance-bands?variant=47683211002073"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      B-LINES Resistance Bands
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-4 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413925044441"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/b-lines-resistance-bands?variant=47683211002073"
      aria-label="B-LINES Resistance Bands"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="0" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017158361"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017158361"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-15-lbs.png?v=1772478640&amp;width=3840" alt="B-LINES Resistance Bands" srcset="//www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-15-lbs.png?v=1772478640&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-15-lbs.png?v=1772478640&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-15-lbs.png?v=1772478640&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-15-lbs.png?v=1772478640&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-15-lbs.png?v=1772478640&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-15-lbs.png?v=1772478640&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-15-lbs.png?v=1772478640&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-15-lbs.png?v=1772478640&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-15-lbs.png?v=1772478640&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017191129"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017191129"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-20-lbs.png?v=1772478641&amp;width=3840" alt="B-LINES Resistance Bands" srcset="//www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-20-lbs.png?v=1772478641&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-20-lbs.png?v=1772478641&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-20-lbs.png?v=1772478641&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-20-lbs.png?v=1772478641&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-20-lbs.png?v=1772478641&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-20-lbs.png?v=1772478641&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-20-lbs.png?v=1772478641&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-20-lbs.png?v=1772478641&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-20-lbs.png?v=1772478641&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840017223897"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840017223897"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-50-lbs.png?v=1772478640&amp;width=3840" alt="B-LINES Resistance Bands" srcset="//www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-50-lbs.png?v=1772478640&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-50-lbs.png?v=1772478640&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-50-lbs.png?v=1772478640&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-50-lbs.png?v=1772478640&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-50-lbs.png?v=1772478640&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-50-lbs.png?v=1772478640&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-50-lbs.png?v=1772478640&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-50-lbs.png?v=1772478640&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-50-lbs.png?v=1772478640&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="B-LINES Resistance Bands"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_AjmgrK"
    data-product-id="9413925044441"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--single-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413925044441-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-4" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683211002073"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<add-to-cart-component
  ref="addToCartButtonContainer"
  data-product-variant-media="//www.bodi.com/cdn/shop/files/bodi-b-lines-resistance-bands-15-lbs.png?v=1772478640&width=100"
>
  <button
    id=""
    type="submit"
    name="add"
    ref="addToCartButton"
    on:click="/handleClick"
    class="button button quick-add__button quick-add__button--add"
    
  >
    <span
      class="add-to-cart-text"
    >
      
      <span class="add-to-cart-text__content is-visually-hidden-mobile">Add</span>
    </span>
    <span
      aria-hidden="true"
      class="add-to-cart-text--added"
    >
      <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      <span class="is-visually-hidden-mobile">Added</span>
    </span>
  </button>
</add-to-cart-component>



<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9413925044441" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_AjmgrK" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">B-LINES Resistance Bands</span>
    <div class="h6">
      <product-price data-product-id="9413925044441">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$14.99</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ATlNMV0pxNnpjK1hOR__text_brzfVY-4 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>66% Off</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/b-lines-resistance-bands?variant=47683211002073"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ANGZZNU5ZUjdmU0ExO__product_title_wPWgjn-4 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>B-LINES Resistance Bands</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  text-left paragraph spacing-style"
  data-block-id="AVVoycHhYMDg3eDlRd__price_NdYMgW-4"
  data-product-id="9413925044441"
  style="
    
--color: var(--color-foreground);--font-weight: 500;
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$14.99</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

  <div id="shopify-block-ASWNrTU9TeG53QXZjZ__variant-marketing-copy-4" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683211002073"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683211034841"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683211067609"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413924716761"
  data-product-variants-size="1"
  id="product-card-AVW1xQjBrWHVhQ0Vma__static-product-card-5"
  data-product-transition="false"
  
  
>
  
  <a
    id="f21a1a10f8dd5a354d7b311e91474ce4"
    
      href="/products/portion-control-containers?variant=47683210019033"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      BODi® Portion-Control 7-Piece Container Kit
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-5 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413924716761"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/portion-control-containers?variant=47683210019033"
      aria-label="BODi® Portion-Control 7-Piece Container Kit"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="1" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38840014569689"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840014569689"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-portion-control-containers.png?v=1772478633&amp;width=3840" alt="Portion Control containers" srcset="//www.bodi.com/cdn/shop/files/bodi-portion-control-containers.png?v=1772478633&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-portion-control-containers.png?v=1772478633&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-portion-control-containers.png?v=1772478633&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-portion-control-containers.png?v=1772478633&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-portion-control-containers.png?v=1772478633&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-portion-control-containers.png?v=1772478633&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-portion-control-containers.png?v=1772478633&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-portion-control-containers.png?v=1772478633&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-portion-control-containers.png?v=1772478633&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="BODi® Portion-Control 7-Piece Container Kit"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_AjmgrK"
    data-product-id="9413924716761"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--single-option 
       quick-add__product-form-component--single-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413924716761-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-5" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683210019033"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<add-to-cart-component
  ref="addToCartButtonContainer"
  data-product-variant-media="//www.bodi.com/cdn/shop/files/bodi-portion-control-containers.png?v=1772478633&width=100"
>
  <button
    id=""
    type="submit"
    name="add"
    ref="addToCartButton"
    on:click="/handleClick"
    class="button button quick-add__button quick-add__button--add"
    
  >
    <span
      class="add-to-cart-text"
    >
      
      <span class="add-to-cart-text__content is-visually-hidden-mobile">Add</span>
    </span>
    <span
      aria-hidden="true"
      class="add-to-cart-text--added"
    >
      <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      <span class="is-visually-hidden-mobile">Added</span>
    </span>
  </button>
</add-to-cart-component>



<input type="hidden" name="product-id" value="9413924716761" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_AjmgrK" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">BODi® Portion-Control 7-Piece Container Kit</span>
    <div class="h6">
      <product-price data-product-id="9413924716761">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$9.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ATlNMV0pxNnpjK1hOR__text_brzfVY-5 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>50% Off</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/portion-control-containers?variant=47683210019033"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ANGZZNU5ZUjdmU0ExO__product_title_wPWgjn-5 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>BODi® Portion-Control 7-Piece Container Kit</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  text-left paragraph spacing-style"
  data-block-id="AVVoycHhYMDg3eDlRd__price_NdYMgW-5"
  data-product-id="9413924716761"
  style="
    
--color: var(--color-foreground);--font-weight: 500;
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$9.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

  <div id="shopify-block-ASWNrTU9TeG53QXZjZ__variant-marketing-copy-5" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683210019033"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413925699801"
  data-product-variants-size="2"
  id="product-card-AVW1xQjBrWHVhQ0Vma__static-product-card-6"
  data-product-transition="false"
  
  
>
  
  <a
    id="523c58f2d00b6d0ce403ad02330b7005"
    
      href="/products/strength-resistance-bands?variant=47683212083417"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      Beachbody Strength Band (Power Loop)
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-6 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9413925699801"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/strength-resistance-bands?variant=47683212083417"
      aria-label="Beachbody Strength Band (Power Loop)"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="0" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840018960601"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840018960601"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-light.png?v=1772478685&amp;width=3840" alt="Power Loop strength resistance bands" srcset="//www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-light.png?v=1772478685&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-light.png?v=1772478685&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-light.png?v=1772478685&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-light.png?v=1772478685&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-light.png?v=1772478685&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-light.png?v=1772478685&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-light.png?v=1772478685&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-light.png?v=1772478685&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-light.png?v=1772478685&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840018993369"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38840018993369"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-heavy.png?v=1772478684&amp;width=3840" alt="Power Loop strength resistance bands" srcset="//www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-heavy.png?v=1772478684&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-heavy.png?v=1772478684&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-heavy.png?v=1772478684&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-heavy.png?v=1772478684&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-heavy.png?v=1772478684&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-heavy.png?v=1772478684&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-heavy.png?v=1772478684&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-heavy.png?v=1772478684&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-heavy.png?v=1772478684&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="Beachbody Strength Band (Power Loop)"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_AjmgrK"
    data-product-id="9413925699801"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--single-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413925699801-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-6" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683212083417"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<add-to-cart-component
  ref="addToCartButtonContainer"
  data-product-variant-media="//www.bodi.com/cdn/shop/files/bodi-power-loop-strength-resistance-bands-light.png?v=1772478685&width=100"
>
  <button
    id=""
    type="submit"
    name="add"
    ref="addToCartButton"
    on:click="/handleClick"
    class="button button quick-add__button quick-add__button--add"
    
  >
    <span
      class="add-to-cart-text"
    >
      
      <span class="add-to-cart-text__content is-visually-hidden-mobile">Add</span>
    </span>
    <span
      aria-hidden="true"
      class="add-to-cart-text--added"
    >
      <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      <span class="is-visually-hidden-mobile">Added</span>
    </span>
  </button>
</add-to-cart-component>



<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9413925699801" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_AjmgrK" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">Beachbody Strength Band (Power Loop)</span>
    <div class="h6">
      <product-price data-product-id="9413925699801">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$6.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ATlNMV0pxNnpjK1hOR__text_brzfVY-6 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>28% Off</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/strength-resistance-bands?variant=47683212083417"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ANGZZNU5ZUjdmU0ExO__product_title_wPWgjn-6 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>Beachbody Strength Band (Power Loop)</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  text-left paragraph spacing-style"
  data-block-id="AVVoycHhYMDg3eDlRd__price_NdYMgW-6"
  data-product-id="9413925699801"
  style="
    
--color: var(--color-foreground);--font-weight: 500;
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$6.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

  <div id="shopify-block-ASWNrTU9TeG53QXZjZ__variant-marketing-copy-6" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683212083417"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683212116185"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9413923897561"
  data-product-variants-size="1"
  id="product-card-AVW1xQjBrWHVhQ0Vma__static-product-card-7"
  data-product-transition="false"
  
  
>
  
  <a
    id="9e58f00c7ccfd3a5ae7508a320e9c755"
    
      href="/products/2b-mindset-tracker?variant=47683208118489"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      2B Mindset® Tracker
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-7 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 0.96875;
  "
  data-product-id="9413923897561"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/2b-mindset-tracker?variant=47683208118489"
      aria-label="2B Mindset® Tracker"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="0" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38840012243161"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 0.96875"
  data-media-id="38840012243161"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-2b-mindset-tracker-food-journal-en-us.png?v=1772478590&amp;width=3840" alt="2B Mindset tracker food journal" srcset="//www.bodi.com/cdn/shop/files/bodi-2b-mindset-tracker-food-journal-en-us.png?v=1772478590&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-tracker-food-journal-en-us.png?v=1772478590&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-tracker-food-journal-en-us.png?v=1772478590&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-tracker-food-journal-en-us.png?v=1772478590&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-tracker-food-journal-en-us.png?v=1772478590&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-tracker-food-journal-en-us.png?v=1772478590&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-tracker-food-journal-en-us.png?v=1772478590&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-2b-mindset-tracker-food-journal-en-us.png?v=1772478590&amp;width=3840 3840w" width="3840" height="3964" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-2b-mindset-tracker-food-journal-en-us.png?v=1772478590&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="2B Mindset® Tracker"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_AjmgrK"
    data-product-id="9413923897561"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--single-option 
       quick-add__product-form-component--single-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9413923897561-AZTBrWmp0OHM2dEdKK__product_card_gallery_DkhtFh-7" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="47683208118489"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<add-to-cart-component
  ref="addToCartButtonContainer"
  data-product-variant-media="//www.bodi.com/cdn/shop/files/bodi-2b-mindset-tracker-food-journal-en-us.png?v=1772478590&width=100"
>
  <button
    id=""
    type="submit"
    name="add"
    ref="addToCartButton"
    on:click="/handleClick"
    class="button button quick-add__button quick-add__button--add"
    
  >
    <span
      class="add-to-cart-text"
    >
      
      <span class="add-to-cart-text__content is-visually-hidden-mobile">Add</span>
    </span>
    <span
      aria-hidden="true"
      class="add-to-cart-text--added"
    >
      <span class="svg-wrapper add-to-cart-icon--added"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
      <span class="is-visually-hidden-mobile">Added</span>
    </span>
  </button>
</add-to-cart-component>



<input type="hidden" name="product-id" value="9413923897561" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_AjmgrK" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">2B Mindset® Tracker</span>
    <div class="h6">
      <product-price data-product-id="9413923897561">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$14.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--ATlNMV0pxNnpjK1hOR__text_brzfVY-7 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>66% Off</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/2b-mindset-tracker?variant=47683208118489"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--ANGZZNU5ZUjdmU0ExO__product_title_wPWgjn-7 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>2B Mindset® Tracker</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  text-left paragraph spacing-style"
  data-block-id="AVVoycHhYMDg3eDlRd__price_NdYMgW-7"
  data-product-id="9413923897561"
  style="
    
--color: var(--color-foreground);--font-weight: 500;
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$14.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$5.00</span>
    </span>
  

  
</div>

  <div id="shopify-block-ASWNrTU9TeG53QXZjZ__variant-marketing-copy-7" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="47683208118489"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>
</slideshow-slide>

  

    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

</div>

      
  </div>

  

  <div
    class="section-resource-list__content"
    style="--horizontal-alignment: center;"
  ></div>
  <div class="custom-section-background">
    

  </div>
</div>

<style> @media (max-width: 750px) {#shopify-section-template--21336458723545__product_list_AjmgrK .layout-panel-flex {flex-flow: column !important; } #shopify-section-template--21336458723545__product_list_AjmgrK .layout-panel-flex--row:not(.mobile-column) .text-block {flex: 0 0; }} </style></div><div id="shopify-section-template--21336458723545__product_list_AhTnHg" class="shopify-section ui-test-product-list">

<div class="section-background color-scheme-1"></div>

<div
  class="
    section
    section--page-width
    color-scheme-1
    section-resource-list
    spacing-style
    gap-style
  "
  style="
    --column-count-mobile: 2;
    --padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px));
    --gap: max(24px, calc(var(--gap-scale, 1.0) * 28px));
    --resource-list-column-gap-desktop: 8px;--column-count: 4;--column-count-mobile: 2;--mobile-card-size: 60cqw;
  "
>
  
  <div class="section-resource-list__header"><div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--row
      
    "
    style="--flex-direction: row; --flex-wrap: nowrap;

--gap: 12px;

--horizontal-alignment: space-between; --vertical-alignment: last baseline;
--vertical-alignment-mobile: last baseline;
"
  >

<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fit-content
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: fit-content;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 12px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class="  spacing-style text-block text-block--AeDYxcEtkSG9PdEdla__text_9xkczH text-heading-display-2
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <h2>The P90X Supplement System</h2>
     
  </div>
  

<style>
  
</style>










   
  <div 
  class="  spacing-style text-block text-block--ATTVJTUM4WVIvdk9VT__text_itMHcf text-body-lg
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-none);
    
    
  "

  
>
    
     
    <p>Performance-engineered to support energy, strength, hydration, and recovery.</p>
     
  </div>
  

<style>
  
</style>





</div>
</div>
<style>
  
</style>





<script src="//www.bodi.com/cdn/shop/t/2/assets/bodi-button.js?v=153141443260534750341772843289" type="module" defer></script>
<div class="bodi-button-wrapper" 
  
    style="--bodi-button-width: fit-content; --bodi-button-width-mobile: 100%;"
  
   
>
  <button
    type="button"
    id="bodi-button-ANnNqYUpaYUMzNjlkc__button_9Dj43z"
    class="bodi-button bodi-button--primary bodi-button--large bodi-button--width-fit-content"
    
    
    data-click-action="navigate"
    
      data-url="/collections/p90x-supplements"
      data-open-new-tab="false"
    
    
    
      data-analytics-event="select cta"
    
    
      data-analytics-module="SHOP | P90X Rail | View All"
    
    
    
    
  >
    <span class="bodi-button__content" 
      
      >
        
      Shop P90X Supplements
      
    </span>
  </button>
  <span class="bodi-button__error hidden" aria-live="polite">
    <span class="bodi-button__error-icon"><svg class="icon icon-error" viewBox="0 0 13 13">
  <circle cx="6.5" cy="6.5" r="5.5" stroke="#fff" stroke-width="var(--icon-stroke-width)"/>
  <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width=".7"/>
  <path fill="#fff" d="m5.874 3.528.1 4.044h1.053l.1-4.044zm.627 6.133c.38 0 .68-.288.68-.656s-.3-.656-.68-.656-.681.288-.681.656.3.656.68.656"/>
  <path fill="#fff" stroke="#EB001B" stroke-width=".7" d="M5.874 3.178h-.359l.01.359.1 4.044.008.341h1.736l.008-.341.1-4.044.01-.359H5.873Zm.627 6.833c.56 0 1.03-.432 1.03-1.006s-.47-1.006-1.03-1.006-1.031.432-1.031 1.006.47 1.006 1.03 1.006Z"/>
</svg>
</span>
    <span class="bodi-button__error-text"></span>
  </span>
</div>



</div>
</div>
<style>
  
</style>


</div>

  

  

  <div
    class="
      resource-list
      
      
      resource-list__carousel
    "
    style="--resource-list-column-gap-desktop: 8px;--column-count: 4;--column-count-mobile: 2;--mobile-card-size: 60cqw;"
    
  >
    
    
        





<div
  class="resource-list__carousel"
  style="
    --gutter-slide-width: 0px;
    --slide-width-max: 300px;
  "
>
  


<slideshow-component
  
    ref="resourceListCarousel"
  
  
    class="resource-list__carousel"
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5;"
  
  initial-slide="0"
  
  

  
>
  
  <slideshow-container ref="slideshowContainer">
    
    
      
  <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
     slideshow-control--shape-circle
    slideshow-control--style-chevron
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
     slideshow-control--shape-circle
    slideshow-control--style-chevron
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
</slideshow-arrows>


    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="false"
  style="view-timeline-name: --slide-0; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9665481638105"
  data-product-variants-size="3"
  id="product-card-AQ2FMcDA4Yy84a292R__static-product-card"
  data-product-transition="false"
  
  
>
  
  <a
    id="f8a67d22cea89236802591e6d7c7f252"
    
      href="/products/p90x-whey-protein-powder?variant=48369732059353"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      P90X 100% Whey Protein
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AYkM5Y0x4VkVsT2lIM__product_card_gallery_7CPzUi spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9665481638105"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/p90x-whey-protein-powder?variant=48369732059353"
      aria-label="P90X 100% Whey Protein"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8, --slide-9, --slide-10;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="7" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
      <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>

    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989395132633"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395132633"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-vanilla-15-serving-en-us_fa5eb7ef-f564-41ab-a5da-3aeef9fc5e3d.png?v=1773779585&amp;width=3840" alt="P90X Whey Protein Vanilla 15 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-vanilla-15-serving-en-us_fa5eb7ef-f564-41ab-a5da-3aeef9fc5e3d.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-vanilla-15-serving-en-us_fa5eb7ef-f564-41ab-a5da-3aeef9fc5e3d.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-vanilla-15-serving-en-us_fa5eb7ef-f564-41ab-a5da-3aeef9fc5e3d.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-vanilla-15-serving-en-us_fa5eb7ef-f564-41ab-a5da-3aeef9fc5e3d.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-vanilla-15-serving-en-us_fa5eb7ef-f564-41ab-a5da-3aeef9fc5e3d.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-vanilla-15-serving-en-us_fa5eb7ef-f564-41ab-a5da-3aeef9fc5e3d.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-vanilla-15-serving-en-us_fa5eb7ef-f564-41ab-a5da-3aeef9fc5e3d.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-vanilla-15-serving-en-us_fa5eb7ef-f564-41ab-a5da-3aeef9fc5e3d.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-vanilla-15-serving-en-us_fa5eb7ef-f564-41ab-a5da-3aeef9fc5e3d.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989395165401"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395165401"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-strawberry-15-serving-en-us_6126bba3-72ad-48bf-ac88-4c48ad8bbe91.png?v=1773779585&amp;width=3840" alt="P90X Whey Protein Strawberry 15 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-strawberry-15-serving-en-us_6126bba3-72ad-48bf-ac88-4c48ad8bbe91.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-strawberry-15-serving-en-us_6126bba3-72ad-48bf-ac88-4c48ad8bbe91.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-strawberry-15-serving-en-us_6126bba3-72ad-48bf-ac88-4c48ad8bbe91.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-strawberry-15-serving-en-us_6126bba3-72ad-48bf-ac88-4c48ad8bbe91.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-strawberry-15-serving-en-us_6126bba3-72ad-48bf-ac88-4c48ad8bbe91.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-strawberry-15-serving-en-us_6126bba3-72ad-48bf-ac88-4c48ad8bbe91.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-strawberry-15-serving-en-us_6126bba3-72ad-48bf-ac88-4c48ad8bbe91.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-strawberry-15-serving-en-us_6126bba3-72ad-48bf-ac88-4c48ad8bbe91.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-strawberry-15-serving-en-us_6126bba3-72ad-48bf-ac88-4c48ad8bbe91.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989395198169"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395198169"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-chocolate-15-serving-en-us_0403bc0b-6cdb-4297-9eba-289a9a21f64f.png?v=1773779585&amp;width=3840" alt="P90X Whey Protein Chocolate 15 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-chocolate-15-serving-en-us_0403bc0b-6cdb-4297-9eba-289a9a21f64f.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-chocolate-15-serving-en-us_0403bc0b-6cdb-4297-9eba-289a9a21f64f.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-chocolate-15-serving-en-us_0403bc0b-6cdb-4297-9eba-289a9a21f64f.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-chocolate-15-serving-en-us_0403bc0b-6cdb-4297-9eba-289a9a21f64f.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-chocolate-15-serving-en-us_0403bc0b-6cdb-4297-9eba-289a9a21f64f.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-chocolate-15-serving-en-us_0403bc0b-6cdb-4297-9eba-289a9a21f64f.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-chocolate-15-serving-en-us_0403bc0b-6cdb-4297-9eba-289a9a21f64f.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-chocolate-15-serving-en-us_0403bc0b-6cdb-4297-9eba-289a9a21f64f.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-main-chocolate-15-serving-en-us_0403bc0b-6cdb-4297-9eba-289a9a21f64f.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395230937"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395230937"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-about-en-us_5339dbb4-80c0-4edc-8911-3356fa15a16b.png?v=1773779585&amp;width=3840" alt="Introducing P90X Whey Protein" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-about-en-us_5339dbb4-80c0-4edc-8911-3356fa15a16b.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-about-en-us_5339dbb4-80c0-4edc-8911-3356fa15a16b.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-about-en-us_5339dbb4-80c0-4edc-8911-3356fa15a16b.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-about-en-us_5339dbb4-80c0-4edc-8911-3356fa15a16b.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-about-en-us_5339dbb4-80c0-4edc-8911-3356fa15a16b.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-about-en-us_5339dbb4-80c0-4edc-8911-3356fa15a16b.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-about-en-us_5339dbb4-80c0-4edc-8911-3356fa15a16b.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-about-en-us_5339dbb4-80c0-4edc-8911-3356fa15a16b.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-about-en-us_5339dbb4-80c0-4edc-8911-3356fa15a16b.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395263705"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395263705"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-powered-by-p90x-factor-en-us_eda56393-27a6-4be6-a0f0-acbdbacd2282.png?v=1773779585&amp;width=3840" alt="P90X Whey Protein Powered by the P90X Factor" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-powered-by-p90x-factor-en-us_eda56393-27a6-4be6-a0f0-acbdbacd2282.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-powered-by-p90x-factor-en-us_eda56393-27a6-4be6-a0f0-acbdbacd2282.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-powered-by-p90x-factor-en-us_eda56393-27a6-4be6-a0f0-acbdbacd2282.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-powered-by-p90x-factor-en-us_eda56393-27a6-4be6-a0f0-acbdbacd2282.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-powered-by-p90x-factor-en-us_eda56393-27a6-4be6-a0f0-acbdbacd2282.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-powered-by-p90x-factor-en-us_eda56393-27a6-4be6-a0f0-acbdbacd2282.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-powered-by-p90x-factor-en-us_eda56393-27a6-4be6-a0f0-acbdbacd2282.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-powered-by-p90x-factor-en-us_eda56393-27a6-4be6-a0f0-acbdbacd2282.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-powered-by-p90x-factor-en-us_eda56393-27a6-4be6-a0f0-acbdbacd2282.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395329241"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395329241"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-helps-en-us_059253c1-f1d3-48be-823b-903934119d72.png?v=1773779585&amp;width=3840" alt="P90X Whey Protein Helps" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-helps-en-us_059253c1-f1d3-48be-823b-903934119d72.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-helps-en-us_059253c1-f1d3-48be-823b-903934119d72.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-helps-en-us_059253c1-f1d3-48be-823b-903934119d72.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-helps-en-us_059253c1-f1d3-48be-823b-903934119d72.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-helps-en-us_059253c1-f1d3-48be-823b-903934119d72.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-helps-en-us_059253c1-f1d3-48be-823b-903934119d72.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-helps-en-us_059253c1-f1d3-48be-823b-903934119d72.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-helps-en-us_059253c1-f1d3-48be-823b-903934119d72.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-helps-en-us_059253c1-f1d3-48be-823b-903934119d72.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="39161202901209"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39161202901209"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-comparison-chart-en-us.jpg?v=1775774274&amp;width=3840" alt="P90X Whey Protein comparison chart" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-comparison-chart-en-us.jpg?v=1775774274&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-comparison-chart-en-us.jpg?v=1775774274&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-comparison-chart-en-us.jpg?v=1775774274&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-comparison-chart-en-us.jpg?v=1775774274&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-comparison-chart-en-us.jpg?v=1775774274&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-comparison-chart-en-us.jpg?v=1775774274&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-comparison-chart-en-us.jpg?v=1775774274&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-comparison-chart-en-us.jpg?v=1775774274&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-comparison-chart-en-us.jpg?v=1775774274&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-8; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395362009"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395362009"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-how-to-use-en-us_1d2d8c67-87e3-4bf5-977c-9e52774ce108.png?v=1775774274&amp;width=3840" alt="P90X Whey Protein How to Use" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-how-to-use-en-us_1d2d8c67-87e3-4bf5-977c-9e52774ce108.png?v=1775774274&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-how-to-use-en-us_1d2d8c67-87e3-4bf5-977c-9e52774ce108.png?v=1775774274&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-how-to-use-en-us_1d2d8c67-87e3-4bf5-977c-9e52774ce108.png?v=1775774274&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-how-to-use-en-us_1d2d8c67-87e3-4bf5-977c-9e52774ce108.png?v=1775774274&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-how-to-use-en-us_1d2d8c67-87e3-4bf5-977c-9e52774ce108.png?v=1775774274&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-how-to-use-en-us_1d2d8c67-87e3-4bf5-977c-9e52774ce108.png?v=1775774274&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-how-to-use-en-us_1d2d8c67-87e3-4bf5-977c-9e52774ce108.png?v=1775774274&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-how-to-use-en-us_1d2d8c67-87e3-4bf5-977c-9e52774ce108.png?v=1775774274&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-how-to-use-en-us_1d2d8c67-87e3-4bf5-977c-9e52774ce108.png?v=1775774274&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-9; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395394777"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395394777"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-benefits-en-us_a4ff06ad-6111-4000-a302-b79a847078eb.png?v=1775774274&amp;width=3840" alt="P90X Whey Protein Benefits" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-benefits-en-us_a4ff06ad-6111-4000-a302-b79a847078eb.png?v=1775774274&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-benefits-en-us_a4ff06ad-6111-4000-a302-b79a847078eb.png?v=1775774274&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-benefits-en-us_a4ff06ad-6111-4000-a302-b79a847078eb.png?v=1775774274&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-benefits-en-us_a4ff06ad-6111-4000-a302-b79a847078eb.png?v=1775774274&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-benefits-en-us_a4ff06ad-6111-4000-a302-b79a847078eb.png?v=1775774274&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-benefits-en-us_a4ff06ad-6111-4000-a302-b79a847078eb.png?v=1775774274&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-benefits-en-us_a4ff06ad-6111-4000-a302-b79a847078eb.png?v=1775774274&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-benefits-en-us_a4ff06ad-6111-4000-a302-b79a847078eb.png?v=1775774274&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-whey-protein-pdp-benefits-en-us_a4ff06ad-6111-4000-a302-b79a847078eb.png?v=1775774274&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-10; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395460313"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395460313"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_68cb34af-ee41-428f-a4e8-1a65fc0b86e4.png?v=1775774274&amp;width=3840" alt="Your P90X Supplement Purchase unlocks 30 days free of BODi" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_68cb34af-ee41-428f-a4e8-1a65fc0b86e4.png?v=1775774274&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_68cb34af-ee41-428f-a4e8-1a65fc0b86e4.png?v=1775774274&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_68cb34af-ee41-428f-a4e8-1a65fc0b86e4.png?v=1775774274&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_68cb34af-ee41-428f-a4e8-1a65fc0b86e4.png?v=1775774274&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_68cb34af-ee41-428f-a4e8-1a65fc0b86e4.png?v=1775774274&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_68cb34af-ee41-428f-a4e8-1a65fc0b86e4.png?v=1775774274&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_68cb34af-ee41-428f-a4e8-1a65fc0b86e4.png?v=1775774274&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_68cb34af-ee41-428f-a4e8-1a65fc0b86e4.png?v=1775774274&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_68cb34af-ee41-428f-a4e8-1a65fc0b86e4.png?v=1775774274&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="P90X 100% Whey Protein"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_AhTnHg"
    data-product-id="9665481638105"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9665481638105-AYkM5Y0x4VkVsT2lIM__product_card_gallery_7CPzUi" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="48369732124889"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9665481638105" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_AhTnHg" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">P90X 100% Whey Protein</span>
    <div class="h6">
      <product-price data-product-id="9665481638105">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$39.99</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$29.99</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--AdzliT1lPMnlKQlFjO__text_U4xAb4 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>New!</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/p90x-whey-protein-powder?variant=48369732059353"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--AR0JCK2Ezb1RaeEtid__product_title text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>P90X 100% Whey Protein</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="ALzduWnVJK3krTFZNW__price_6amMER"
  data-product-id="9665481638105"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$29.99</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$39.99</span>
    </span>
  
</div>

  <div id="shopify-block-AbjI5YzZ6WWM4WmlDa__variant-marketing-copy" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369732124889"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369732059353"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369732092121"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9665481572569"
  data-product-variants-size="3"
  id="product-card-AQ2FMcDA4Yy84a292R__static-product-card-1"
  data-product-transition="false"
  
  
>
  
  <a
    id="7f9230b6e0dd44755ded35f86f53d0e0"
    
      href="/products/p90x-pre-workout-powder?variant=48369731961049"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      P90X Pre-Workout
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AYkM5Y0x4VkVsT2lIM__product_card_gallery_7CPzUi-1 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9665481572569"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/p90x-pre-workout-powder?variant=48369731961049"
      aria-label="P90X Pre-Workout"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8, --slide-9;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="6" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
      <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>

    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989394804953"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394804953"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-watermelon-20-serving-en-us_f3d1e81a-3125-4982-b137-4a1da9249f26.png?v=1773779585&amp;width=3840" alt="P90X Pre-workout Watermelon 20 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-watermelon-20-serving-en-us_f3d1e81a-3125-4982-b137-4a1da9249f26.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-watermelon-20-serving-en-us_f3d1e81a-3125-4982-b137-4a1da9249f26.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-watermelon-20-serving-en-us_f3d1e81a-3125-4982-b137-4a1da9249f26.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-watermelon-20-serving-en-us_f3d1e81a-3125-4982-b137-4a1da9249f26.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-watermelon-20-serving-en-us_f3d1e81a-3125-4982-b137-4a1da9249f26.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-watermelon-20-serving-en-us_f3d1e81a-3125-4982-b137-4a1da9249f26.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-watermelon-20-serving-en-us_f3d1e81a-3125-4982-b137-4a1da9249f26.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-watermelon-20-serving-en-us_f3d1e81a-3125-4982-b137-4a1da9249f26.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-watermelon-20-serving-en-us_f3d1e81a-3125-4982-b137-4a1da9249f26.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989394837721"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394837721"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-fruit-punch-20-serving-en-us_efe6e171-5de5-4d49-a90f-db48bd9e0e25.png?v=1773779585&amp;width=3840" alt="P90X Pre-Workout Fruit Punch 20 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-fruit-punch-20-serving-en-us_efe6e171-5de5-4d49-a90f-db48bd9e0e25.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-fruit-punch-20-serving-en-us_efe6e171-5de5-4d49-a90f-db48bd9e0e25.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-fruit-punch-20-serving-en-us_efe6e171-5de5-4d49-a90f-db48bd9e0e25.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-fruit-punch-20-serving-en-us_efe6e171-5de5-4d49-a90f-db48bd9e0e25.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-fruit-punch-20-serving-en-us_efe6e171-5de5-4d49-a90f-db48bd9e0e25.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-fruit-punch-20-serving-en-us_efe6e171-5de5-4d49-a90f-db48bd9e0e25.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-fruit-punch-20-serving-en-us_efe6e171-5de5-4d49-a90f-db48bd9e0e25.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-fruit-punch-20-serving-en-us_efe6e171-5de5-4d49-a90f-db48bd9e0e25.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-fruit-punch-20-serving-en-us_efe6e171-5de5-4d49-a90f-db48bd9e0e25.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989394870489"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394870489"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-blue-raspberry-20-serving-en-us_99749721-9b6f-4658-a0c8-ffcee3820f6d.png?v=1773779585&amp;width=3840" alt="P90X Pre-Workout Blue Raspberry 20 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-blue-raspberry-20-serving-en-us_99749721-9b6f-4658-a0c8-ffcee3820f6d.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-blue-raspberry-20-serving-en-us_99749721-9b6f-4658-a0c8-ffcee3820f6d.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-blue-raspberry-20-serving-en-us_99749721-9b6f-4658-a0c8-ffcee3820f6d.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-blue-raspberry-20-serving-en-us_99749721-9b6f-4658-a0c8-ffcee3820f6d.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-blue-raspberry-20-serving-en-us_99749721-9b6f-4658-a0c8-ffcee3820f6d.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-blue-raspberry-20-serving-en-us_99749721-9b6f-4658-a0c8-ffcee3820f6d.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-blue-raspberry-20-serving-en-us_99749721-9b6f-4658-a0c8-ffcee3820f6d.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-blue-raspberry-20-serving-en-us_99749721-9b6f-4658-a0c8-ffcee3820f6d.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-main-blue-raspberry-20-serving-en-us_99749721-9b6f-4658-a0c8-ffcee3820f6d.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394903257"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394903257"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-about-en-us_efc95d6a-80fc-42f3-815d-263fb90f99a3.png?v=1773779585&amp;width=3840" alt="Introducing P90X Pre-Workout" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-about-en-us_efc95d6a-80fc-42f3-815d-263fb90f99a3.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-about-en-us_efc95d6a-80fc-42f3-815d-263fb90f99a3.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-about-en-us_efc95d6a-80fc-42f3-815d-263fb90f99a3.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-about-en-us_efc95d6a-80fc-42f3-815d-263fb90f99a3.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-about-en-us_efc95d6a-80fc-42f3-815d-263fb90f99a3.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-about-en-us_efc95d6a-80fc-42f3-815d-263fb90f99a3.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-about-en-us_efc95d6a-80fc-42f3-815d-263fb90f99a3.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-about-en-us_efc95d6a-80fc-42f3-815d-263fb90f99a3.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-about-en-us_efc95d6a-80fc-42f3-815d-263fb90f99a3.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394936025"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394936025"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-powered-by-p90x-factor-en-us_7a8fb5a0-8c78-4d86-a42b-b2ab2c8db776.png?v=1773779586&amp;width=3840" alt="P90X Pre-Workout Powered By The P90X Factor" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-powered-by-p90x-factor-en-us_7a8fb5a0-8c78-4d86-a42b-b2ab2c8db776.png?v=1773779586&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-powered-by-p90x-factor-en-us_7a8fb5a0-8c78-4d86-a42b-b2ab2c8db776.png?v=1773779586&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-powered-by-p90x-factor-en-us_7a8fb5a0-8c78-4d86-a42b-b2ab2c8db776.png?v=1773779586&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-powered-by-p90x-factor-en-us_7a8fb5a0-8c78-4d86-a42b-b2ab2c8db776.png?v=1773779586&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-powered-by-p90x-factor-en-us_7a8fb5a0-8c78-4d86-a42b-b2ab2c8db776.png?v=1773779586&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-powered-by-p90x-factor-en-us_7a8fb5a0-8c78-4d86-a42b-b2ab2c8db776.png?v=1773779586&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-powered-by-p90x-factor-en-us_7a8fb5a0-8c78-4d86-a42b-b2ab2c8db776.png?v=1773779586&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-powered-by-p90x-factor-en-us_7a8fb5a0-8c78-4d86-a42b-b2ab2c8db776.png?v=1773779586&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-powered-by-p90x-factor-en-us_7a8fb5a0-8c78-4d86-a42b-b2ab2c8db776.png?v=1773779586&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394968793"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394968793"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-comparison-chart-en-us_b527e3bb-af0e-4687-b301-13949f4c5cff.png?v=1773779585&amp;width=3840" alt="P90X Pre-Workout Comparison Chart" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-comparison-chart-en-us_b527e3bb-af0e-4687-b301-13949f4c5cff.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-comparison-chart-en-us_b527e3bb-af0e-4687-b301-13949f4c5cff.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-comparison-chart-en-us_b527e3bb-af0e-4687-b301-13949f4c5cff.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-comparison-chart-en-us_b527e3bb-af0e-4687-b301-13949f4c5cff.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-comparison-chart-en-us_b527e3bb-af0e-4687-b301-13949f4c5cff.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-comparison-chart-en-us_b527e3bb-af0e-4687-b301-13949f4c5cff.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-comparison-chart-en-us_b527e3bb-af0e-4687-b301-13949f4c5cff.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-comparison-chart-en-us_b527e3bb-af0e-4687-b301-13949f4c5cff.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-comparison-chart-en-us_b527e3bb-af0e-4687-b301-13949f4c5cff.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395001561"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395001561"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-helps-en-us.png?v=1773779585&amp;width=3840" alt="P90X Pre-Workout Helps" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-helps-en-us.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-helps-en-us.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-helps-en-us.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-helps-en-us.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-helps-en-us.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-helps-en-us.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-helps-en-us.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-helps-en-us.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-helps-en-us.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-8; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395034329"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395034329"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-how-to-use-en-us_fc06cf93-1fdd-49a5-b2c4-8c407230e160.jpg?v=1773779585&amp;width=3840" alt="P90X Pre-Workout How To Use" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-how-to-use-en-us_fc06cf93-1fdd-49a5-b2c4-8c407230e160.jpg?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-how-to-use-en-us_fc06cf93-1fdd-49a5-b2c4-8c407230e160.jpg?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-how-to-use-en-us_fc06cf93-1fdd-49a5-b2c4-8c407230e160.jpg?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-how-to-use-en-us_fc06cf93-1fdd-49a5-b2c4-8c407230e160.jpg?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-how-to-use-en-us_fc06cf93-1fdd-49a5-b2c4-8c407230e160.jpg?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-how-to-use-en-us_fc06cf93-1fdd-49a5-b2c4-8c407230e160.jpg?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-how-to-use-en-us_fc06cf93-1fdd-49a5-b2c4-8c407230e160.jpg?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-how-to-use-en-us_fc06cf93-1fdd-49a5-b2c4-8c407230e160.jpg?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-pre-workout-pdp-how-to-use-en-us_fc06cf93-1fdd-49a5-b2c4-8c407230e160.jpg?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-9; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395099865"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395099865"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_c38980b3-0a5c-4ea0-bbf7-08a20f74eb4f.png?v=1773779585&amp;width=3840" alt="Your P90X Supplement Purchase unlocks 30 days free of BODi" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_c38980b3-0a5c-4ea0-bbf7-08a20f74eb4f.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_c38980b3-0a5c-4ea0-bbf7-08a20f74eb4f.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_c38980b3-0a5c-4ea0-bbf7-08a20f74eb4f.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_c38980b3-0a5c-4ea0-bbf7-08a20f74eb4f.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_c38980b3-0a5c-4ea0-bbf7-08a20f74eb4f.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_c38980b3-0a5c-4ea0-bbf7-08a20f74eb4f.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_c38980b3-0a5c-4ea0-bbf7-08a20f74eb4f.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_c38980b3-0a5c-4ea0-bbf7-08a20f74eb4f.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_c38980b3-0a5c-4ea0-bbf7-08a20f74eb4f.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="P90X Pre-Workout"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_AhTnHg"
    data-product-id="9665481572569"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9665481572569-AYkM5Y0x4VkVsT2lIM__product_card_gallery_7CPzUi-1" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="48369731961049"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9665481572569" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_AhTnHg" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">P90X Pre-Workout</span>
    <div class="h6">
      <product-price data-product-id="9665481572569">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$34.99</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$26.24</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--AdzliT1lPMnlKQlFjO__text_U4xAb4-1 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>New!</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/p90x-pre-workout-powder?variant=48369731961049"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--AR0JCK2Ezb1RaeEtid__product_title-1 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>P90X Pre-Workout</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="ALzduWnVJK3krTFZNW__price_6amMER-1"
  data-product-id="9665481572569"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$26.24</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$34.99</span>
    </span>
  
</div>

  <div id="shopify-block-AbjI5YzZ6WWM4WmlDa__variant-marketing-copy-1" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369731961049"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369731993817"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369732026585"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9665481539801"
  data-product-variants-size="3"
  id="product-card-AQ2FMcDA4Yy84a292R__static-product-card-2"
  data-product-transition="false"
  
  
>
  
  <a
    id="5bde423c94afa4cfb27069d8a2316085"
    
      href="/products/p90x-hydration-electrolytes-drink-powder?variant=48369731698905"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      P90X Hydration
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AYkM5Y0x4VkVsT2lIM__product_card_gallery_7CPzUi-2 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9665481539801"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/p90x-hydration-electrolytes-drink-powder?variant=48369731698905"
      aria-label="P90X Hydration"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8, --slide-9, --slide-10;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="7" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
      <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>

    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989395886297"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395886297"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-lemon-lime-10-count-en-us_23459cb6-4ffa-4330-be2a-f64bf73dc476.png?v=1773779586&amp;width=3840" alt="P90X Hydration Lemon-Lime 10 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-lemon-lime-10-count-en-us_23459cb6-4ffa-4330-be2a-f64bf73dc476.png?v=1773779586&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-lemon-lime-10-count-en-us_23459cb6-4ffa-4330-be2a-f64bf73dc476.png?v=1773779586&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-lemon-lime-10-count-en-us_23459cb6-4ffa-4330-be2a-f64bf73dc476.png?v=1773779586&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-lemon-lime-10-count-en-us_23459cb6-4ffa-4330-be2a-f64bf73dc476.png?v=1773779586&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-lemon-lime-10-count-en-us_23459cb6-4ffa-4330-be2a-f64bf73dc476.png?v=1773779586&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-lemon-lime-10-count-en-us_23459cb6-4ffa-4330-be2a-f64bf73dc476.png?v=1773779586&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-lemon-lime-10-count-en-us_23459cb6-4ffa-4330-be2a-f64bf73dc476.png?v=1773779586&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-lemon-lime-10-count-en-us_23459cb6-4ffa-4330-be2a-f64bf73dc476.png?v=1773779586&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-lemon-lime-10-count-en-us_23459cb6-4ffa-4330-be2a-f64bf73dc476.png?v=1773779586&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989395919065"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395919065"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-strawberry-10-count-en-us_ea6c622a-8c72-43b9-b87a-700031909151.png?v=1773779586&amp;width=3840" alt="P90X Hydration Strawberry 10 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-strawberry-10-count-en-us_ea6c622a-8c72-43b9-b87a-700031909151.png?v=1773779586&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-strawberry-10-count-en-us_ea6c622a-8c72-43b9-b87a-700031909151.png?v=1773779586&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-strawberry-10-count-en-us_ea6c622a-8c72-43b9-b87a-700031909151.png?v=1773779586&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-strawberry-10-count-en-us_ea6c622a-8c72-43b9-b87a-700031909151.png?v=1773779586&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-strawberry-10-count-en-us_ea6c622a-8c72-43b9-b87a-700031909151.png?v=1773779586&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-strawberry-10-count-en-us_ea6c622a-8c72-43b9-b87a-700031909151.png?v=1773779586&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-strawberry-10-count-en-us_ea6c622a-8c72-43b9-b87a-700031909151.png?v=1773779586&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-strawberry-10-count-en-us_ea6c622a-8c72-43b9-b87a-700031909151.png?v=1773779586&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-strawberry-10-count-en-us_ea6c622a-8c72-43b9-b87a-700031909151.png?v=1773779586&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989395951833"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395951833"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-watermelon-10-count-en-us_c72cd7c0-c325-4f09-acd6-d6ee49a54230.png?v=1773779586&amp;width=3840" alt="P90X Hydration Watermelon 10 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-watermelon-10-count-en-us_c72cd7c0-c325-4f09-acd6-d6ee49a54230.png?v=1773779586&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-watermelon-10-count-en-us_c72cd7c0-c325-4f09-acd6-d6ee49a54230.png?v=1773779586&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-watermelon-10-count-en-us_c72cd7c0-c325-4f09-acd6-d6ee49a54230.png?v=1773779586&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-watermelon-10-count-en-us_c72cd7c0-c325-4f09-acd6-d6ee49a54230.png?v=1773779586&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-watermelon-10-count-en-us_c72cd7c0-c325-4f09-acd6-d6ee49a54230.png?v=1773779586&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-watermelon-10-count-en-us_c72cd7c0-c325-4f09-acd6-d6ee49a54230.png?v=1773779586&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-watermelon-10-count-en-us_c72cd7c0-c325-4f09-acd6-d6ee49a54230.png?v=1773779586&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-watermelon-10-count-en-us_c72cd7c0-c325-4f09-acd6-d6ee49a54230.png?v=1773779586&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-main-watermelon-10-count-en-us_c72cd7c0-c325-4f09-acd6-d6ee49a54230.png?v=1773779586&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395984601"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395984601"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-about-en-us_46193f4f-4ef2-4b34-b4af-202656f28a6b.png?v=1773779586&amp;width=3840" alt="Introducing P90X Hydration" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-about-en-us_46193f4f-4ef2-4b34-b4af-202656f28a6b.png?v=1773779586&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-about-en-us_46193f4f-4ef2-4b34-b4af-202656f28a6b.png?v=1773779586&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-about-en-us_46193f4f-4ef2-4b34-b4af-202656f28a6b.png?v=1773779586&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-about-en-us_46193f4f-4ef2-4b34-b4af-202656f28a6b.png?v=1773779586&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-about-en-us_46193f4f-4ef2-4b34-b4af-202656f28a6b.png?v=1773779586&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-about-en-us_46193f4f-4ef2-4b34-b4af-202656f28a6b.png?v=1773779586&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-about-en-us_46193f4f-4ef2-4b34-b4af-202656f28a6b.png?v=1773779586&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-about-en-us_46193f4f-4ef2-4b34-b4af-202656f28a6b.png?v=1773779586&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-about-en-us_46193f4f-4ef2-4b34-b4af-202656f28a6b.png?v=1773779586&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989396017369"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989396017369"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-powered-by-p90x-factor-en-us_f9be22cb-7eff-45fb-a7b6-66b5d7629a15.png?v=1773779586&amp;width=3840" alt="P90X Hydration Powered by The P90X Factor" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-powered-by-p90x-factor-en-us_f9be22cb-7eff-45fb-a7b6-66b5d7629a15.png?v=1773779586&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-powered-by-p90x-factor-en-us_f9be22cb-7eff-45fb-a7b6-66b5d7629a15.png?v=1773779586&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-powered-by-p90x-factor-en-us_f9be22cb-7eff-45fb-a7b6-66b5d7629a15.png?v=1773779586&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-powered-by-p90x-factor-en-us_f9be22cb-7eff-45fb-a7b6-66b5d7629a15.png?v=1773779586&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-powered-by-p90x-factor-en-us_f9be22cb-7eff-45fb-a7b6-66b5d7629a15.png?v=1773779586&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-powered-by-p90x-factor-en-us_f9be22cb-7eff-45fb-a7b6-66b5d7629a15.png?v=1773779586&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-powered-by-p90x-factor-en-us_f9be22cb-7eff-45fb-a7b6-66b5d7629a15.png?v=1773779586&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-powered-by-p90x-factor-en-us_f9be22cb-7eff-45fb-a7b6-66b5d7629a15.png?v=1773779586&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-powered-by-p90x-factor-en-us_f9be22cb-7eff-45fb-a7b6-66b5d7629a15.png?v=1773779586&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="39151541780697"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39151541780697"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-comparison-chart-en-us.jpg?v=1776790167&amp;width=3840" alt="P90X Hydration comparison chart" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-comparison-chart-en-us.jpg?v=1776790167&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-comparison-chart-en-us.jpg?v=1776790167&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-comparison-chart-en-us.jpg?v=1776790167&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-comparison-chart-en-us.jpg?v=1776790167&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-comparison-chart-en-us.jpg?v=1776790167&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-comparison-chart-en-us.jpg?v=1776790167&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-comparison-chart-en-us.jpg?v=1776790167&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-comparison-chart-en-us.jpg?v=1776790167&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-comparison-chart-en-us.jpg?v=1776790167&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989396050137"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989396050137"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-helps-en-us_6d80ad40-eadb-4cb0-977a-f296ee33a3b7.png?v=1776790167&amp;width=3840" alt="P90X Hydration Helps" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-helps-en-us_6d80ad40-eadb-4cb0-977a-f296ee33a3b7.png?v=1776790167&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-helps-en-us_6d80ad40-eadb-4cb0-977a-f296ee33a3b7.png?v=1776790167&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-helps-en-us_6d80ad40-eadb-4cb0-977a-f296ee33a3b7.png?v=1776790167&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-helps-en-us_6d80ad40-eadb-4cb0-977a-f296ee33a3b7.png?v=1776790167&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-helps-en-us_6d80ad40-eadb-4cb0-977a-f296ee33a3b7.png?v=1776790167&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-helps-en-us_6d80ad40-eadb-4cb0-977a-f296ee33a3b7.png?v=1776790167&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-helps-en-us_6d80ad40-eadb-4cb0-977a-f296ee33a3b7.png?v=1776790167&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-helps-en-us_6d80ad40-eadb-4cb0-977a-f296ee33a3b7.png?v=1776790167&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-helps-en-us_6d80ad40-eadb-4cb0-977a-f296ee33a3b7.png?v=1776790167&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-8; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989396082905"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989396082905"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-how-to-use-en-us_5ef3c578-84c3-4b15-9bdd-95888c9d3bea.png?v=1776790167&amp;width=3840" alt="P90X Hydration How to Use" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-how-to-use-en-us_5ef3c578-84c3-4b15-9bdd-95888c9d3bea.png?v=1776790167&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-how-to-use-en-us_5ef3c578-84c3-4b15-9bdd-95888c9d3bea.png?v=1776790167&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-how-to-use-en-us_5ef3c578-84c3-4b15-9bdd-95888c9d3bea.png?v=1776790167&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-how-to-use-en-us_5ef3c578-84c3-4b15-9bdd-95888c9d3bea.png?v=1776790167&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-how-to-use-en-us_5ef3c578-84c3-4b15-9bdd-95888c9d3bea.png?v=1776790167&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-how-to-use-en-us_5ef3c578-84c3-4b15-9bdd-95888c9d3bea.png?v=1776790167&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-how-to-use-en-us_5ef3c578-84c3-4b15-9bdd-95888c9d3bea.png?v=1776790167&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-how-to-use-en-us_5ef3c578-84c3-4b15-9bdd-95888c9d3bea.png?v=1776790167&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-how-to-use-en-us_5ef3c578-84c3-4b15-9bdd-95888c9d3bea.png?v=1776790167&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-9; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989396115673"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989396115673"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-benefits-en-us_6105e540-a875-4c4a-9802-8c0228ffdf42.png?v=1776790167&amp;width=3840" alt="P90X Hydration Benefits" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-benefits-en-us_6105e540-a875-4c4a-9802-8c0228ffdf42.png?v=1776790167&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-benefits-en-us_6105e540-a875-4c4a-9802-8c0228ffdf42.png?v=1776790167&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-benefits-en-us_6105e540-a875-4c4a-9802-8c0228ffdf42.png?v=1776790167&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-benefits-en-us_6105e540-a875-4c4a-9802-8c0228ffdf42.png?v=1776790167&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-benefits-en-us_6105e540-a875-4c4a-9802-8c0228ffdf42.png?v=1776790167&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-benefits-en-us_6105e540-a875-4c4a-9802-8c0228ffdf42.png?v=1776790167&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-benefits-en-us_6105e540-a875-4c4a-9802-8c0228ffdf42.png?v=1776790167&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-benefits-en-us_6105e540-a875-4c4a-9802-8c0228ffdf42.png?v=1776790167&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-hydration-pdp-benefits-en-us_6105e540-a875-4c4a-9802-8c0228ffdf42.png?v=1776790167&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-10; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989396181209"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989396181209"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_88dfad07-e080-4119-b1a2-d54449d51af1.png?v=1776790167&amp;width=3840" alt="Your P90X Supplement Purchase unlocks 30 days free of BODi" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_88dfad07-e080-4119-b1a2-d54449d51af1.png?v=1776790167&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_88dfad07-e080-4119-b1a2-d54449d51af1.png?v=1776790167&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_88dfad07-e080-4119-b1a2-d54449d51af1.png?v=1776790167&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_88dfad07-e080-4119-b1a2-d54449d51af1.png?v=1776790167&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_88dfad07-e080-4119-b1a2-d54449d51af1.png?v=1776790167&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_88dfad07-e080-4119-b1a2-d54449d51af1.png?v=1776790167&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_88dfad07-e080-4119-b1a2-d54449d51af1.png?v=1776790167&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_88dfad07-e080-4119-b1a2-d54449d51af1.png?v=1776790167&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_88dfad07-e080-4119-b1a2-d54449d51af1.png?v=1776790167&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="P90X Hydration"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_AhTnHg"
    data-product-id="9665481539801"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9665481539801-AYkM5Y0x4VkVsT2lIM__product_card_gallery_7CPzUi-2" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="48369731698905"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9665481539801" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_AhTnHg" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">P90X Hydration</span>
    <div class="h6">
      <product-price data-product-id="9665481539801">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$15.99</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$11.99</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--AdzliT1lPMnlKQlFjO__text_U4xAb4-2 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Electrolyte Hydration</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/p90x-hydration-electrolytes-drink-powder?variant=48369731698905"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--AR0JCK2Ezb1RaeEtid__product_title-2 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>P90X Hydration</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="ALzduWnVJK3krTFZNW__price_6amMER-2"
  data-product-id="9665481539801"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$11.99</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$15.99</span>
    </span>
  
</div>

  <div id="shopify-block-AbjI5YzZ6WWM4WmlDa__variant-marketing-copy-2" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369731698905"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369731731673"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369731764441"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9665481605337"
  data-product-variants-size="2"
  id="product-card-AQ2FMcDA4Yy84a292R__static-product-card-3"
  data-product-transition="false"
  
  
>
  
  <a
    id="8f72c3d91eb7d87574f2b6cc55c69755"
    
      href="/products/p90x-creatine-monohydrate-powder?variant=48369731895513"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      P90X Creatine
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AYkM5Y0x4VkVsT2lIM__product_card_gallery_7CPzUi-3 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9665481605337"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/p90x-creatine-monohydrate-powder?variant=48369731895513"
      aria-label="P90X Creatine"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="6" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
      <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>

    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989394510041"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394510041"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=3840" alt="P90X Creatine Unflavored 20 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989394542809"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394542809"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=3840" alt="P90X Creatine Strawberry-Lemonade 20 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394575577"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394575577"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=3840" alt="Introducing P90X Creatine" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-about-en-us_c2a3580c-e89f-4d97-8547-a41a507a2da0.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394608345"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394608345"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=3840" alt="P90X Creatine Powered by The P90X Factor" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-powered-by-p90x-factor-en-us_1a961ce1-ff12-4ed6-8cf2-546845158c7e.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394641113"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394641113"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=3840" alt="P90X Creatine Helps" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-helps-en-us_c668d654-cf5f-44bd-a40f-f295078ebba0.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394673881"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394673881"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=3840" alt="P90X Creatine How to Use" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-how-to-use-en-us_77eb036d-d2f1-457e-abec-2c9954416f08.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394706649"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394706649"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=3840" alt="P90X Creatine Benefits" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-pdp-benefits-en-us_7502c7cd-5d09-4de0-ba20-0cb666f672e9.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-8; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989394772185"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989394772185"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=3840" alt="Your P90X Supplement Purchase unlocks 30 days free of BODi" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us.png?v=1773779584&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="P90X Creatine"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_AhTnHg"
    data-product-id="9665481605337"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9665481605337-AYkM5Y0x4VkVsT2lIM__product_card_gallery_7CPzUi-3" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="48369731895513"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9665481605337" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_AhTnHg" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">P90X Creatine</span>
    <div class="h6">
      <product-price data-product-id="9665481605337">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$29.99</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$22.49</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--AdzliT1lPMnlKQlFjO__text_U4xAb4-3 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Strength & Power</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/p90x-creatine-monohydrate-powder?variant=48369731895513"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--AR0JCK2Ezb1RaeEtid__product_title-3 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>P90X Creatine</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="ALzduWnVJK3krTFZNW__price_6amMER-3"
  data-product-id="9665481605337"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$22.49</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$29.99</span>
    </span>
  
</div>

  <div id="shopify-block-AbjI5YzZ6WWM4WmlDa__variant-marketing-copy-3" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369731895513"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369731928281"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>

      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      

    
      
      <div
        class="resource-list__item"
      >
        



<style data-shopify>
  
</style>


<product-card
  class="product-card"
  data-product-id="9665481507033"
  data-product-variants-size="3"
  id="product-card-AQ2FMcDA4Yy84a292R__static-product-card-4"
  data-product-transition="false"
  
  
>
  
  <a
    id="42bd0e46685b9ac7a7e8ef54c3fd7ff9"
    
      href="/products/p90x-energy-drink-powder?variant=48369731797209"
    
    class="product-card__link"
    ref="productCardLink"
  >
  
    <span class="visually-hidden">
      P90X Energy
    </span>
  </a>
  
  <div
    class="
      product-card__content
      layout-panel-flex
      layout-panel-flex--column
      product-grid__card
      spacing-style
      border-style
      gap-style
      
    "
    style="
      --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



      --flex-direction: column; --flex-wrap: nowrap;



--horizontal-alignment: ; --vertical-alignment: ;
--vertical-alignment-mobile: ;

      --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
      --product-card-gap: 8px;
      --quick-add-display: none;
      --quick-add-mobile-display: none;
      
      
      
      
    "
  >
    
  










<div
  ref="cardGallery"
  class="card-gallery card-gallery-AYkM5Y0x4VkVsT2lIM__product_card_gallery_7CPzUi-4 spacing-style border-style"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;
--border-radius-mobile: 0px;

  overflow: hidden;


    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --gallery-aspect-ratio: 1.0;
  "
  data-product-id="9665481507033"
  
  
  data-image-ratio="adapt"
  
>
  


    

    
    
    <a
      class="contents"
      ref="cardGalleryLink"
      href="
/products/p90x-energy-drink-powder?variant=48369731797209"
      aria-label="P90X Energy"
    >
      


<slideshow-component
  
    ref="slideshow"
  
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4, --slide-5, --slide-6, --slide-7, --slide-8, --slide-9, --slide-10;"
  
  initial-slide="0"
  
  
    infinite
  

  data-generic-media-size="7" disabled="true"
>
  
  <slideshow-container ref="slideshowContainer">
    
      <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>

    
    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989395525849"
  
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395525849"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-blue-raspberry-10-count-en-us_cf6773be-7031-493b-a351-337ef0ca17f7.png?v=1773779585&amp;width=3840" alt="P90X Energy Blue Raspberry 10 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-blue-raspberry-10-count-en-us_cf6773be-7031-493b-a351-337ef0ca17f7.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-blue-raspberry-10-count-en-us_cf6773be-7031-493b-a351-337ef0ca17f7.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-blue-raspberry-10-count-en-us_cf6773be-7031-493b-a351-337ef0ca17f7.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-blue-raspberry-10-count-en-us_cf6773be-7031-493b-a351-337ef0ca17f7.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-blue-raspberry-10-count-en-us_cf6773be-7031-493b-a351-337ef0ca17f7.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-blue-raspberry-10-count-en-us_cf6773be-7031-493b-a351-337ef0ca17f7.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-blue-raspberry-10-count-en-us_cf6773be-7031-493b-a351-337ef0ca17f7.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-blue-raspberry-10-count-en-us_cf6773be-7031-493b-a351-337ef0ca17f7.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-blue-raspberry-10-count-en-us_cf6773be-7031-493b-a351-337ef0ca17f7.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989395558617"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395558617"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-orange-creamsicle-10-count-en-us_a1aadf6c-af52-4d26-bec0-634146e66dff.png?v=1773779585&amp;width=3840" alt="P90X Energy Orange-Creamsicle 10 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-orange-creamsicle-10-count-en-us_a1aadf6c-af52-4d26-bec0-634146e66dff.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-orange-creamsicle-10-count-en-us_a1aadf6c-af52-4d26-bec0-634146e66dff.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-orange-creamsicle-10-count-en-us_a1aadf6c-af52-4d26-bec0-634146e66dff.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-orange-creamsicle-10-count-en-us_a1aadf6c-af52-4d26-bec0-634146e66dff.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-orange-creamsicle-10-count-en-us_a1aadf6c-af52-4d26-bec0-634146e66dff.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-orange-creamsicle-10-count-en-us_a1aadf6c-af52-4d26-bec0-634146e66dff.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-orange-creamsicle-10-count-en-us_a1aadf6c-af52-4d26-bec0-634146e66dff.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-orange-creamsicle-10-count-en-us_a1aadf6c-af52-4d26-bec0-634146e66dff.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-orange-creamsicle-10-count-en-us_a1aadf6c-af52-4d26-bec0-634146e66dff.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  variant-image
  
  
    slide-id="38989395591385"
  
  
    hidden
  
  variant-image
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395591385"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-strawberry-watermelon-10-count-en-us_ca050175-c762-41cb-9181-52a1c78e576c.png?v=1773779585&amp;width=3840" alt="P90X Energy Strawberry-Watermelon 10 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-strawberry-watermelon-10-count-en-us_ca050175-c762-41cb-9181-52a1c78e576c.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-strawberry-watermelon-10-count-en-us_ca050175-c762-41cb-9181-52a1c78e576c.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-strawberry-watermelon-10-count-en-us_ca050175-c762-41cb-9181-52a1c78e576c.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-strawberry-watermelon-10-count-en-us_ca050175-c762-41cb-9181-52a1c78e576c.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-strawberry-watermelon-10-count-en-us_ca050175-c762-41cb-9181-52a1c78e576c.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-strawberry-watermelon-10-count-en-us_ca050175-c762-41cb-9181-52a1c78e576c.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-strawberry-watermelon-10-count-en-us_ca050175-c762-41cb-9181-52a1c78e576c.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-strawberry-watermelon-10-count-en-us_ca050175-c762-41cb-9181-52a1c78e576c.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-main-strawberry-watermelon-10-count-en-us_ca050175-c762-41cb-9181-52a1c78e576c.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-4; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395624153"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395624153"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-about-en-us_3df93618-5027-49c7-bcc0-7f937f3e1e70.png?v=1773779585&amp;width=3840" alt="Introducing P90X Energy" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-about-en-us_3df93618-5027-49c7-bcc0-7f937f3e1e70.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-about-en-us_3df93618-5027-49c7-bcc0-7f937f3e1e70.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-about-en-us_3df93618-5027-49c7-bcc0-7f937f3e1e70.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-about-en-us_3df93618-5027-49c7-bcc0-7f937f3e1e70.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-about-en-us_3df93618-5027-49c7-bcc0-7f937f3e1e70.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-about-en-us_3df93618-5027-49c7-bcc0-7f937f3e1e70.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-about-en-us_3df93618-5027-49c7-bcc0-7f937f3e1e70.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-about-en-us_3df93618-5027-49c7-bcc0-7f937f3e1e70.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-about-en-us_3df93618-5027-49c7-bcc0-7f937f3e1e70.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-5; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395656921"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395656921"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-powered-by-p90x-factor-en-us_292f4d15-d5e6-480e-bcf7-b47db4d34827.png?v=1773779585&amp;width=3840" alt="P90X Energy Powered by The P90X Factor" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-powered-by-p90x-factor-en-us_292f4d15-d5e6-480e-bcf7-b47db4d34827.png?v=1773779585&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-powered-by-p90x-factor-en-us_292f4d15-d5e6-480e-bcf7-b47db4d34827.png?v=1773779585&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-powered-by-p90x-factor-en-us_292f4d15-d5e6-480e-bcf7-b47db4d34827.png?v=1773779585&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-powered-by-p90x-factor-en-us_292f4d15-d5e6-480e-bcf7-b47db4d34827.png?v=1773779585&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-powered-by-p90x-factor-en-us_292f4d15-d5e6-480e-bcf7-b47db4d34827.png?v=1773779585&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-powered-by-p90x-factor-en-us_292f4d15-d5e6-480e-bcf7-b47db4d34827.png?v=1773779585&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-powered-by-p90x-factor-en-us_292f4d15-d5e6-480e-bcf7-b47db4d34827.png?v=1773779585&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-powered-by-p90x-factor-en-us_292f4d15-d5e6-480e-bcf7-b47db4d34827.png?v=1773779585&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-powered-by-p90x-factor-en-us_292f4d15-d5e6-480e-bcf7-b47db4d34827.png?v=1773779585&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-6; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="39151541813465"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="39151541813465"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-comparison-chart-en-us.jpg?v=1776790196&amp;width=3840" alt="P90X Energy comparison chart" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-comparison-chart-en-us.jpg?v=1776790196&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-comparison-chart-en-us.jpg?v=1776790196&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-comparison-chart-en-us.jpg?v=1776790196&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-comparison-chart-en-us.jpg?v=1776790196&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-comparison-chart-en-us.jpg?v=1776790196&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-comparison-chart-en-us.jpg?v=1776790196&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-comparison-chart-en-us.jpg?v=1776790196&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-comparison-chart-en-us.jpg?v=1776790196&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-comparison-chart-en-us.jpg?v=1776790196&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-7; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395689689"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395689689"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-helps-en-us_e8d7e4e1-8f0f-4886-ba5e-d10be5c298c1.png?v=1776790196&amp;width=3840" alt="P90X Energy Helps" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-helps-en-us_e8d7e4e1-8f0f-4886-ba5e-d10be5c298c1.png?v=1776790196&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-helps-en-us_e8d7e4e1-8f0f-4886-ba5e-d10be5c298c1.png?v=1776790196&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-helps-en-us_e8d7e4e1-8f0f-4886-ba5e-d10be5c298c1.png?v=1776790196&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-helps-en-us_e8d7e4e1-8f0f-4886-ba5e-d10be5c298c1.png?v=1776790196&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-helps-en-us_e8d7e4e1-8f0f-4886-ba5e-d10be5c298c1.png?v=1776790196&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-helps-en-us_e8d7e4e1-8f0f-4886-ba5e-d10be5c298c1.png?v=1776790196&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-helps-en-us_e8d7e4e1-8f0f-4886-ba5e-d10be5c298c1.png?v=1776790196&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-helps-en-us_e8d7e4e1-8f0f-4886-ba5e-d10be5c298c1.png?v=1776790196&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-helps-en-us_e8d7e4e1-8f0f-4886-ba5e-d10be5c298c1.png?v=1776790196&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-8; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395722457"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395722457"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-how-to-use-en-us_04a8c635-47e9-46ae-9028-2c7876122c18.png?v=1776790196&amp;width=3840" alt="P90X Energy How to Use" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-how-to-use-en-us_04a8c635-47e9-46ae-9028-2c7876122c18.png?v=1776790196&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-how-to-use-en-us_04a8c635-47e9-46ae-9028-2c7876122c18.png?v=1776790196&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-how-to-use-en-us_04a8c635-47e9-46ae-9028-2c7876122c18.png?v=1776790196&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-how-to-use-en-us_04a8c635-47e9-46ae-9028-2c7876122c18.png?v=1776790196&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-how-to-use-en-us_04a8c635-47e9-46ae-9028-2c7876122c18.png?v=1776790196&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-how-to-use-en-us_04a8c635-47e9-46ae-9028-2c7876122c18.png?v=1776790196&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-how-to-use-en-us_04a8c635-47e9-46ae-9028-2c7876122c18.png?v=1776790196&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-how-to-use-en-us_04a8c635-47e9-46ae-9028-2c7876122c18.png?v=1776790196&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-how-to-use-en-us_04a8c635-47e9-46ae-9028-2c7876122c18.png?v=1776790196&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-9; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395755225"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395755225"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-benefits-en-us_623b309c-a4db-47aa-9799-f7915d02bbb5.png?v=1776790196&amp;width=3840" alt="P90X Energy Benefits" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-benefits-en-us_623b309c-a4db-47aa-9799-f7915d02bbb5.png?v=1776790196&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-benefits-en-us_623b309c-a4db-47aa-9799-f7915d02bbb5.png?v=1776790196&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-benefits-en-us_623b309c-a4db-47aa-9799-f7915d02bbb5.png?v=1776790196&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-benefits-en-us_623b309c-a4db-47aa-9799-f7915d02bbb5.png?v=1776790196&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-benefits-en-us_623b309c-a4db-47aa-9799-f7915d02bbb5.png?v=1776790196&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-benefits-en-us_623b309c-a4db-47aa-9799-f7915d02bbb5.png?v=1776790196&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-benefits-en-us_623b309c-a4db-47aa-9799-f7915d02bbb5.png?v=1776790196&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-benefits-en-us_623b309c-a4db-47aa-9799-f7915d02bbb5.png?v=1776790196&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-energy-pdp-benefits-en-us_623b309c-a4db-47aa-9799-f7915d02bbb5.png?v=1776790196&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
        
        

        

        
        
        

        

        
        <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-10; --product-media-fit: cover;"
  
    class="product-media-container media-fit product-media-container--image"
  
  
  
  
    slide-id="38989395820761"
  
  
  
>
  


<div
  class="product-media"
  style="--ratio: 1.0"
  data-media-id="38989395820761"
>
  
  <img src="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_bdb26289-cdaa-40e0-8f87-7f9a84f996b2.png?v=1776790196&amp;width=3840" alt="Your P90X Supplement Purchase unlocks 30 days free of BODi" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_bdb26289-cdaa-40e0-8f87-7f9a84f996b2.png?v=1776790196&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_bdb26289-cdaa-40e0-8f87-7f9a84f996b2.png?v=1776790196&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_bdb26289-cdaa-40e0-8f87-7f9a84f996b2.png?v=1776790196&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_bdb26289-cdaa-40e0-8f87-7f9a84f996b2.png?v=1776790196&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_bdb26289-cdaa-40e0-8f87-7f9a84f996b2.png?v=1776790196&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_bdb26289-cdaa-40e0-8f87-7f9a84f996b2.png?v=1776790196&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_bdb26289-cdaa-40e0-8f87-7f9a84f996b2.png?v=1776790196&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_bdb26289-cdaa-40e0-8f87-7f9a84f996b2.png?v=1776790196&amp;width=3840 3840w" width="3840" height="3840" loading="lazy" sizes="auto, (min-width: 750px) 25.0vw, 100vw" class="product-media__image" transitionToProduct="false" data_max_resolution="//www.bodi.com/cdn/shop/files/bodi-p90x-supplement-system-pdp-free-bodi-en-us_bdb26289-cdaa-40e0-8f87-7f9a84f996b2.png?v=1776790196&amp;width=3840" fetchpriority="auto">

  
</div>



</slideshow-slide>

      
    
    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

    </a>
  
  
    

    
      

<quick-add-component
  class="quick-add color-scheme-1 "
  ref="quickAdd"
  data-product-title="P90X Energy"
>
  <product-form-component
    data-section-id="template--21336458723545__product_list_AhTnHg"
    data-product-id="9665481507033"
    on:submit="/handleSubmit"
    class="
      quick-add__product-form-component
       quick-add__product-form-component--multi-option 
       quick-add__product-form-component--multi-variant 
    "
  >
    <div
      class="visually-hidden"
      aria-live="assertive"
      role="status"
      aria-atomic="true"
      ref="liveRegion"
    ></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-9665481507033-AYkM5Y0x4VkVsT2lIM__product_card_gallery_7CPzUi-4" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
        type="hidden"
        name="id"
        ref="variantId"
        value="48369731797209"
        
      >
      <input
        type="hidden"
        name="quantity"
        value="1"
      >
      
<button
          class="button quick-add__button quick-add__button--choose"
          
          type="button"
          name="add"
          on:click="quick-add-component/handleClick"
        >
          <span
            class="add-to-cart-text"
          >
            <span
              class="svg-wrapper add-to-cart-icon"
            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
            <span class="add-to-cart-text__content is-visually-hidden-mobile">
              Add
            </span>
          </span>
        </button><input type="hidden" name="product-id" value="9665481507033" /><input type="hidden" name="section-id" value="template--21336458723545__product_list_AhTnHg" /></form></product-form-component>
</quick-add-component>



    
  

</div>





<div class="product-grid-view-zoom-out--details">
  
    <span class="h4 product-card__title">P90X Energy</span>
    <div class="h6">
      <product-price data-product-id="9665481507033">
        <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$15.99</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$11.99</span>
    </span>
  

  
</div>

      </product-price>
    </div>
  
</div>




<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class=" product-badge spacing-style text-block text-block--AdzliT1lPMnlKQlFjO__text_U4xAb4-4 custom
     custom-typography  custom-font-size  custom-color 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-accent);--font-weight: 500;    --font-size: 1rem;--font-weight: 500;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Energy Boost</p>
     
  </div>
  

<style>
  
</style>





  
  <a
    class="contents user-select-text"
    ref="productTitleLink"
    href="
/products/p90x-energy-drink-powder?variant=48369731797209"
    aria-hidden="true"
  ><h2>
    





  
  <div 
  class="  spacing-style text-block text-block--AR0JCK2Ezb1RaeEtid__product_title-4 text-body-xl
    text-block--align-left
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: left;
    
    
  "

  
>
    
      <p>P90X Energy</p>
    
  </div>

<style>
  
</style>


    </h2>
  </a>





<product-price
  class="text-block  custom-typography custom-font-size custom-color text-left custom spacing-style"
  data-block-id="ALzduWnVJK3krTFZNW__price_6amMER-4"
  data-product-id="9665481507033"
  style="
    
--color: var(--color-foreground);--font-weight: 700;    --font-size: 1.25rem;--font-weight: 700;    --font-family: var(--font-body--family);    --text-transform: none;    --text-wrap: ;          --line-height: var(--line-height--body-normal);        --letter-spacing: var(--letter-spacing--body-normal);
    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --width: fit-content;
  "
  
>
  <div ref="priceContainer">
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$11.99</span>
    </span>
  

  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$15.99</span>
    </span>
  
</div>

  <div id="shopify-block-AbjI5YzZ6WWM4WmlDa__variant-marketing-copy-4" class="shopify-block"><div
        id="marketing-copy"
        data-marketing-copy=""
>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369731797209"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369731829977"
                data-variant-marketing-copy=""
                hidden
        ></span>
    
        <span
                class="variant-marketing-copy-data"
                data-variant-id="48369731862745"
                data-variant-marketing-copy=""
                hidden
        ></span>
    

    <span class="marketing-copy-text">
    

        
  </span>
</div>

<script>
    (function () {
        const marketingCopyEl = document.getElementById('marketing-copy');
        if (!marketingCopyEl) return;

        const marketingCopyTextEl = marketingCopyEl.querySelector('.marketing-copy-text');

        function getCurrentVariantId() {
            const checked = document.querySelectorAll(
                'variant-picker input[type="radio"]:checked'
            );

            let variantId = null;
            checked.forEach((input) => {
                if (input.dataset.variantId) {
                    variantId = input.dataset.variantId;
                }
            });

            return variantId;
        }

        function updateMarketingCopy(variantId) {
            if (!variantId) {
                return;
            };

            const variantMarketingCopyEl = marketingCopyEl.querySelector(
                `.variant-marketing-copy-data[data-variant-id="${variantId}"]`
            );

            const variantMarketingCopy = variantMarketingCopyEl?.dataset.variantMarketingCopy || '';

            if (variantMarketingCopy) {
                marketingCopyTextEl.textContent = variantMarketingCopy;
                marketingCopyEl.style.display = 'block';
            } else {
                marketingCopyTextEl.textContent = '';
                marketingCopyEl.style.display = 'none';
            }
        }

        document.addEventListener('click', function (e) {
            if (!e.target.closest('variant-picker')) return;

            setTimeout(() => {
                const selectedVariantId = e.target.dataset.variantId;
                updateMarketingCopy(selectedVariantId);
            }, 5);
        });
        updateMarketingCopy(getCurrentVariantId());
    })();
</script>



</div>


  
</product-price>















</div>
</div>
<style>
  
</style>






  </div>
</product-card>




      </div>
</slideshow-slide>

  

    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

</div>

      
  </div>

  

  <div
    class="section-resource-list__content"
    style="--horizontal-alignment: center;"
  ></div>
  <div class="custom-section-background">
    

  </div>
</div>

<style> @media (max-width: 750px) {#shopify-section-template--21336458723545__product_list_AhTnHg .layout-panel-flex {flex-flow: column !important; } #shopify-section-template--21336458723545__product_list_AhTnHg .layout-panel-flex--row:not(.mobile-column) .text-block {flex: 0 0; }} </style></div><div id="shopify-section-template--21336458723545__collection_list_MdTbAV" class="shopify-section ui-test-collection-list">

<div class="section-background color-scheme-1"></div>

<div
  class="
    section
    section--page-width
    color-scheme-1
    section-resource-list
    spacing-style
    gap-style
  "
  style="
    --padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px));
    --gap: 12px;
    --resource-list-column-gap-desktop: 8px;--resource-list-row-gap-desktop: 8px;--resource-list-columns: repeat(4, 1fr);--resource-list-columns-mobile: repeat(2, 1fr);--column-count-mobile: 2;
  "
>
  <div class="section-resource-list__content">

<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 6px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class="  spacing-style text-block text-block--ATU1WaVh0d3JuZDVGN__text_eEQBjt text-heading-display-2
    text-block--align-center
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: center;
    
    
  "

  
>
    
     
    <h2>Shop by Collection</h2>
     
  </div>
  

<style>
  
</style>










   
  <rte-formatter 
  class="  spacing-style text-block text-block--AclkyOXQ5ZGNDZzcyS__text_PDTFhX paragraph
    text-block--align-center text-block--full-width  rte 
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: 100%;
    --max-width: var(--max-width--body-none);
    
      --text-align: center;
    
    
  "

  
>
    
     
    <p>Find supplements, fitness programs, nutrition plans, and equipment to support your goals.</p>
     
  </rte-formatter>
  

<style>
  
</style>





</div>
</div>
<style>
  
</style>




</div>

  

  

  

  <div
    class="
      resource-list
      
      
        hidden--mobile
      
      resource-list--grid
    "
    style="--resource-list-column-gap-desktop: 8px;--resource-list-row-gap-desktop: 8px;--resource-list-columns: repeat(4, 1fr);--resource-list-columns-mobile: repeat(2, 1fr);--column-count-mobile: 2;"
    
      data-testid="collections-list-grid"
    
  >
    
        
    
      <div class="resource-list__item">
        

<style data-shopify>
  
</style>







<div
  class="
    collection-card
    border-style
    
    
    
    
  "
  data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --horizontal-alignment: center;
    --vertical-alignment: flex-start;
    --background-overlay-color: ;
    --collection-card-gap: 8px;
  ">
  <a
    class="collection-card__link"
    
      href="/collections/supplements"
    
  >
    <span class="visually-hidden">Supplements</span>
  </a>
  <div class="collection-card__inner">
    
  



<style data-shopify>
  .collection-card[data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card"] {
    --ratio: 1.0;
  }
</style>


  <div
    class="
      image-block
      collection-card__image
      border-style
      
    "
    style="--border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;


  overflow: hidden;

"
  ><img src="//www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=3840" alt="Supplements" srcset="//www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=240 240w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=352 352w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=832 832w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=1200 1200w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=1600 1600w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=1920 1920w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=2560 2560w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=3840 3840w" loading="eager" class="image-block__image" sizes="(min-width: 750px) 25vw, 100vw">
  </div>







    <div class="collection-card__content layout-panel-flex--column">
      
  
  
  





  
  <div 
  class="  spacing-style text-block text-block--AdGZqQzBNQmR5NEt3a__collection_title_eTC8XF custom
     custom-typography  custom-font-size  custom-color  text-block--background 
  "

  style="
    --padding-block-start: 4px; --padding-block-end:4px; 
--padding-inline-start:8px; --padding-inline-end:8px; 

    
--color: var(--color-foreground);      --font-weight: var(--font-heading--weight);--font-size: 1.25rem;      --font-weight: var(--font-heading--weight);--font-family: var(--font-heading--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-tight);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
      --text-background-color: #ffffff;
      --text-corner-radius: 0px;
      --text-padding: max(var(--padding-2xs), calc((var(--text-corner-radius) + var(--padding-xs)) * (1 - cos(45deg))));
    
  "

  
>
    
      <h3>Supplements</h3>
    
  </div>

<style>
  
</style>







    </div>
  </div>
</div>






      </div>
      
        <!--@list/split-->
      
    
      <div class="resource-list__item">
        

<style data-shopify>
  
</style>







<div
  class="
    collection-card
    border-style
    
    
    
    
  "
  data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card-1"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --horizontal-alignment: center;
    --vertical-alignment: flex-start;
    --background-overlay-color: ;
    --collection-card-gap: 8px;
  ">
  <a
    class="collection-card__link"
    
      href="/collections/fitness-programs-plans"
    
  >
    <span class="visually-hidden">Fitness Programs</span>
  </a>
  <div class="collection-card__inner">
    
  



<style data-shopify>
  .collection-card[data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card-1"] {
    --ratio: 1.0;
  }
</style>


  <div
    class="
      image-block
      collection-card__image
      border-style
      
    "
    style="--border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;


  overflow: hidden;

"
  ><img src="//www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=3840" alt="Fitness Programs" srcset="//www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=240 240w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=352 352w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=832 832w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=1200 1200w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=1600 1600w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=1920 1920w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=2560 2560w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=3840 3840w" loading="eager" class="image-block__image" sizes="(min-width: 750px) 25vw, 100vw">
  </div>







    <div class="collection-card__content layout-panel-flex--column">
      
  
  
  





  
  <div 
  class="  spacing-style text-block text-block--AdGZqQzBNQmR5NEt3a__collection_title_eTC8XF-1 custom
     custom-typography  custom-font-size  custom-color  text-block--background 
  "

  style="
    --padding-block-start: 4px; --padding-block-end:4px; 
--padding-inline-start:8px; --padding-inline-end:8px; 

    
--color: var(--color-foreground);      --font-weight: var(--font-heading--weight);--font-size: 1.25rem;      --font-weight: var(--font-heading--weight);--font-family: var(--font-heading--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-tight);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
      --text-background-color: #ffffff;
      --text-corner-radius: 0px;
      --text-padding: max(var(--padding-2xs), calc((var(--text-corner-radius) + var(--padding-xs)) * (1 - cos(45deg))));
    
  "

  
>
    
      <h3>Fitness Programs</h3>
    
  </div>

<style>
  
</style>







    </div>
  </div>
</div>






      </div>
      
        <!--@list/split-->
      
    
      <div class="resource-list__item">
        

<style data-shopify>
  
</style>







<div
  class="
    collection-card
    border-style
    
    
    
    
  "
  data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card-2"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --horizontal-alignment: center;
    --vertical-alignment: flex-start;
    --background-overlay-color: ;
    --collection-card-gap: 8px;
  ">
  <a
    class="collection-card__link"
    
      href="/collections/nutrition-plans"
    
  >
    <span class="visually-hidden">Nutrition Plans</span>
  </a>
  <div class="collection-card__inner">
    
  



<style data-shopify>
  .collection-card[data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card-2"] {
    --ratio: 1.0;
  }
</style>


  <div
    class="
      image-block
      collection-card__image
      border-style
      
    "
    style="--border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;


  overflow: hidden;

"
  ><img src="//www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=3840" alt="Nutrition Plans" srcset="//www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=240 240w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=352 352w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=832 832w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=1200 1200w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=1600 1600w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=1920 1920w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=2560 2560w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=3840 3840w" loading="eager" class="image-block__image" sizes="(min-width: 750px) 25vw, 100vw">
  </div>







    <div class="collection-card__content layout-panel-flex--column">
      
  
  
  





  
  <div 
  class="  spacing-style text-block text-block--AdGZqQzBNQmR5NEt3a__collection_title_eTC8XF-2 custom
     custom-typography  custom-font-size  custom-color  text-block--background 
  "

  style="
    --padding-block-start: 4px; --padding-block-end:4px; 
--padding-inline-start:8px; --padding-inline-end:8px; 

    
--color: var(--color-foreground);      --font-weight: var(--font-heading--weight);--font-size: 1.25rem;      --font-weight: var(--font-heading--weight);--font-family: var(--font-heading--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-tight);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
      --text-background-color: #ffffff;
      --text-corner-radius: 0px;
      --text-padding: max(var(--padding-2xs), calc((var(--text-corner-radius) + var(--padding-xs)) * (1 - cos(45deg))));
    
  "

  
>
    
      <h3>Nutrition Plans</h3>
    
  </div>

<style>
  
</style>







    </div>
  </div>
</div>






      </div>
      
        <!--@list/split-->
      
    
      <div class="resource-list__item">
        

<style data-shopify>
  
</style>







<div
  class="
    collection-card
    border-style
    
    
    
    
  "
  data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card-3"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --horizontal-alignment: center;
    --vertical-alignment: flex-start;
    --background-overlay-color: ;
    --collection-card-gap: 8px;
  ">
  <a
    class="collection-card__link"
    
      href="/collections/exercise-equipment"
    
  >
    <span class="visually-hidden">Equipment</span>
  </a>
  <div class="collection-card__inner">
    
  



<style data-shopify>
  .collection-card[data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card-3"] {
    --ratio: 1.0;
  }
</style>


  <div
    class="
      image-block
      collection-card__image
      border-style
      
    "
    style="--border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;


  overflow: hidden;

"
  ><img src="//www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=3840" alt="Equipment" srcset="//www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=240 240w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=352 352w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=832 832w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=1200 1200w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=1600 1600w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=1920 1920w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=2560 2560w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=3840 3840w" loading="eager" class="image-block__image" sizes="(min-width: 750px) 25vw, 100vw">
  </div>







    <div class="collection-card__content layout-panel-flex--column">
      
  
  
  





  
  <div 
  class="  spacing-style text-block text-block--AdGZqQzBNQmR5NEt3a__collection_title_eTC8XF-3 custom
     custom-typography  custom-font-size  custom-color  text-block--background 
  "

  style="
    --padding-block-start: 4px; --padding-block-end:4px; 
--padding-inline-start:8px; --padding-inline-end:8px; 

    
--color: var(--color-foreground);      --font-weight: var(--font-heading--weight);--font-size: 1.25rem;      --font-weight: var(--font-heading--weight);--font-family: var(--font-heading--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-tight);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
      --text-background-color: #ffffff;
      --text-corner-radius: 0px;
      --text-padding: max(var(--padding-2xs), calc((var(--text-corner-radius) + var(--padding-xs)) * (1 - cos(45deg))));
    
  "

  
>
    
      <h3>Equipment</h3>
    
  </div>

<style>
  
</style>







    </div>
  </div>
</div>






      </div>
      
    
  
      
  </div>

  
    
    <div
      class="
        resource-list
        hidden--desktop
        resource-list__carousel
        force-full-width
      "
      style="
        --resource-list-column-gap-desktop: 8px;
        --column-count: 4;
        --column-count-mobile: 1;
        --mobile-card-size: 60cqw;
      "
    >
      





<div
  class="resource-list__carousel"
  style="
    --gutter-slide-width: 0px;
    --slide-width-max: 450px;
  "
>
  


<slideshow-component
  
    ref="collectionListCarouselMobile"
  
  
    class="resource-list__carousel"
  
  style="--slideshow-timeline: --slide-1, --slide-2, --slide-3, --slide-4;"
  
  initial-slide="0"
  
  

  
>
  
  <slideshow-container ref="slideshowContainer">
    
    
      
  <slideshow-arrows
  position="center"
  
><button
  class="
    slideshow-control slideshow-control--previous
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
     flip-x
  "
  
  aria-label="Previous slide"
  
  on:click="/previous"
  ref="previous"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
<button
  class="
    slideshow-control slideshow-control--next
    
    
    slideshow-control--style-arrow
    button button-unstyled button-unstyled--transparent
    
  "
  
  aria-label="Next slide"
  
  on:click="/next"
  ref="next"
>
  <span class="svg-wrapper icon-arrow"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" vector-effect="non-scaling-stroke" d="M4.25 10h11.5m0 0-4-4m4 4-4 4"/></svg>
</span>
</button>
</slideshow-arrows>


    
    <slideshow-slides
      tabindex="-1"
      ref="scroller"
      style="scroll-snap-type: none"
      
      
    >
      
  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="false"
  style="view-timeline-name: --slide-0; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  <div class="resource-list__item">
        

<style data-shopify>
  
</style>







<div
  class="
    collection-card
    border-style
    
    
    
    
  "
  data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --horizontal-alignment: center;
    --vertical-alignment: flex-start;
    --background-overlay-color: ;
    --collection-card-gap: 8px;
  ">
  <a
    class="collection-card__link"
    
      href="/collections/supplements"
    
  >
    <span class="visually-hidden">Supplements</span>
  </a>
  <div class="collection-card__inner">
    
  



<style data-shopify>
  .collection-card[data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card"] {
    --ratio: 1.0;
  }
</style>


  <div
    class="
      image-block
      collection-card__image
      border-style
      
    "
    style="--border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;


  overflow: hidden;

"
  ><img src="//www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=3840" alt="Supplements" srcset="//www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=240 240w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=352 352w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=832 832w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=1200 1200w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=1600 1600w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=1920 1920w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=2560 2560w, //www.bodi.com/cdn/shop/collections/supplements-icon.png?v=1772482689&amp;width=3840 3840w" loading="eager" class="image-block__image" sizes="(min-width: 750px) 25vw, 100vw">
  </div>







    <div class="collection-card__content layout-panel-flex--column">
      
  
  
  





  
  <div 
  class="  spacing-style text-block text-block--AdGZqQzBNQmR5NEt3a__collection_title_eTC8XF custom
     custom-typography  custom-font-size  custom-color  text-block--background 
  "

  style="
    --padding-block-start: 4px; --padding-block-end:4px; 
--padding-inline-start:8px; --padding-inline-end:8px; 

    
--color: var(--color-foreground);      --font-weight: var(--font-heading--weight);--font-size: 1.25rem;      --font-weight: var(--font-heading--weight);--font-family: var(--font-heading--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-tight);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
      --text-background-color: #ffffff;
      --text-corner-radius: 0px;
      --text-padding: max(var(--padding-2xs), calc((var(--text-corner-radius) + var(--padding-xs)) * (1 - cos(45deg))));
    
  "

  
>
    
      <h3>Supplements</h3>
    
  </div>

<style>
  
</style>







    </div>
  </div>
</div>






      </div>
      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-1; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      
    
      <div class="resource-list__item">
        

<style data-shopify>
  
</style>







<div
  class="
    collection-card
    border-style
    
    
    
    
  "
  data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card-1"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --horizontal-alignment: center;
    --vertical-alignment: flex-start;
    --background-overlay-color: ;
    --collection-card-gap: 8px;
  ">
  <a
    class="collection-card__link"
    
      href="/collections/fitness-programs-plans"
    
  >
    <span class="visually-hidden">Fitness Programs</span>
  </a>
  <div class="collection-card__inner">
    
  



<style data-shopify>
  .collection-card[data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card-1"] {
    --ratio: 1.0;
  }
</style>


  <div
    class="
      image-block
      collection-card__image
      border-style
      
    "
    style="--border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;


  overflow: hidden;

"
  ><img src="//www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=3840" alt="Fitness Programs" srcset="//www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=240 240w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=352 352w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=832 832w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=1200 1200w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=1600 1600w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=1920 1920w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=2560 2560w, //www.bodi.com/cdn/shop/collections/bodi-fitness-plans-collection-1x1.png?v=1772482688&amp;width=3840 3840w" loading="eager" class="image-block__image" sizes="(min-width: 750px) 25vw, 100vw">
  </div>







    <div class="collection-card__content layout-panel-flex--column">
      
  
  
  





  
  <div 
  class="  spacing-style text-block text-block--AdGZqQzBNQmR5NEt3a__collection_title_eTC8XF-1 custom
     custom-typography  custom-font-size  custom-color  text-block--background 
  "

  style="
    --padding-block-start: 4px; --padding-block-end:4px; 
--padding-inline-start:8px; --padding-inline-end:8px; 

    
--color: var(--color-foreground);      --font-weight: var(--font-heading--weight);--font-size: 1.25rem;      --font-weight: var(--font-heading--weight);--font-family: var(--font-heading--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-tight);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
      --text-background-color: #ffffff;
      --text-corner-radius: 0px;
      --text-padding: max(var(--padding-2xs), calc((var(--text-corner-radius) + var(--padding-xs)) * (1 - cos(45deg))));
    
  "

  
>
    
      <h3>Fitness Programs</h3>
    
  </div>

<style>
  
</style>







    </div>
  </div>
</div>






      </div>
      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-2; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      
    
      <div class="resource-list__item">
        

<style data-shopify>
  
</style>







<div
  class="
    collection-card
    border-style
    
    
    
    
  "
  data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card-2"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --horizontal-alignment: center;
    --vertical-alignment: flex-start;
    --background-overlay-color: ;
    --collection-card-gap: 8px;
  ">
  <a
    class="collection-card__link"
    
      href="/collections/nutrition-plans"
    
  >
    <span class="visually-hidden">Nutrition Plans</span>
  </a>
  <div class="collection-card__inner">
    
  



<style data-shopify>
  .collection-card[data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card-2"] {
    --ratio: 1.0;
  }
</style>


  <div
    class="
      image-block
      collection-card__image
      border-style
      
    "
    style="--border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;


  overflow: hidden;

"
  ><img src="//www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=3840" alt="Nutrition Plans" srcset="//www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=240 240w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=352 352w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=832 832w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=1200 1200w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=1600 1600w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=1920 1920w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=2560 2560w, //www.bodi.com/cdn/shop/collections/nutrition-plans-icon-in-black.png?v=1772482690&amp;width=3840 3840w" loading="eager" class="image-block__image" sizes="(min-width: 750px) 25vw, 100vw">
  </div>







    <div class="collection-card__content layout-panel-flex--column">
      
  
  
  





  
  <div 
  class="  spacing-style text-block text-block--AdGZqQzBNQmR5NEt3a__collection_title_eTC8XF-2 custom
     custom-typography  custom-font-size  custom-color  text-block--background 
  "

  style="
    --padding-block-start: 4px; --padding-block-end:4px; 
--padding-inline-start:8px; --padding-inline-end:8px; 

    
--color: var(--color-foreground);      --font-weight: var(--font-heading--weight);--font-size: 1.25rem;      --font-weight: var(--font-heading--weight);--font-family: var(--font-heading--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-tight);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
      --text-background-color: #ffffff;
      --text-corner-radius: 0px;
      --text-padding: max(var(--padding-2xs), calc((var(--text-corner-radius) + var(--padding-xs)) * (1 - cos(45deg))));
    
  "

  
>
    
      <h3>Nutrition Plans</h3>
    
  </div>

<style>
  
</style>







    </div>
  </div>
</div>






      </div>
      
        
</slideshow-slide>

  
    <slideshow-slide
  ref="slides[]"
  aria-hidden="true"
  style="view-timeline-name: --slide-3; --product-media-fit: cover;"
  
    class="resource-list__slide"
  
  
  
  
  
  
>
  
      
    
      <div class="resource-list__item">
        

<style data-shopify>
  
</style>







<div
  class="
    collection-card
    border-style
    
    
    
    
  "
  data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card-3"
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --horizontal-alignment: center;
    --vertical-alignment: flex-start;
    --background-overlay-color: ;
    --collection-card-gap: 8px;
  ">
  <a
    class="collection-card__link"
    
      href="/collections/exercise-equipment"
    
  >
    <span class="visually-hidden">Equipment</span>
  </a>
  <div class="collection-card__inner">
    
  



<style data-shopify>
  .collection-card[data-block-id="Ab0MwVGdDRkxVOHpKZ__static-collection-card-3"] {
    --ratio: 1.0;
  }
</style>


  <div
    class="
      image-block
      collection-card__image
      border-style
      
    "
    style="--border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;


  overflow: hidden;

"
  ><img src="//www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=3840" alt="Equipment" srcset="//www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=240 240w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=352 352w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=832 832w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=1200 1200w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=1600 1600w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=1920 1920w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=2560 2560w, //www.bodi.com/cdn/shop/collections/equipment.png?v=1772482688&amp;width=3840 3840w" loading="eager" class="image-block__image" sizes="(min-width: 750px) 25vw, 100vw">
  </div>







    <div class="collection-card__content layout-panel-flex--column">
      
  
  
  





  
  <div 
  class="  spacing-style text-block text-block--AdGZqQzBNQmR5NEt3a__collection_title_eTC8XF-3 custom
     custom-typography  custom-font-size  custom-color  text-block--background 
  "

  style="
    --padding-block-start: 4px; --padding-block-end:4px; 
--padding-inline-start:8px; --padding-inline-end:8px; 

    
--color: var(--color-foreground);      --font-weight: var(--font-heading--weight);--font-size: 1.25rem;      --font-weight: var(--font-heading--weight);--font-family: var(--font-heading--family);    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-tight);        --letter-spacing: var(--letter-spacing--body-normal);
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
      --text-background-color: #ffffff;
      --text-corner-radius: 0px;
      --text-padding: max(var(--padding-2xs), calc((var(--text-corner-radius) + var(--padding-xs)) * (1 - cos(45deg))));
    
  "

  
>
    
      <h3>Equipment</h3>
    
  </div>

<style>
  
</style>







    </div>
  </div>
</div>






      </div>
</slideshow-slide>

  

    </slideshow-slides>
  </slideshow-container>
  
</slideshow-component>

</div>

    </div>
  
</div>

</div><div id="shopify-section-template--21336458723545__section_4RKTVk" class="shopify-section section-wrapper">
<div class="section-wrapper ">

<div class="section-background color-scheme-1"></div>
<div
  class="section section--page-width color-scheme-1"

  

  style="
    

    
  "
>
 

  <div
    class="border-style custom-section-content"
    style="--border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;


"
  >
    
 <div class="custom-section-background">
    

  </div>
    <div
      class="
        spacing-style
        layout-panel-flex
        layout-panel-flex--row
        section-content-wrapper
         mobile-column
      "
      style="
        --flex-direction: row; --flex-wrap: nowrap;

--gap: 12px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;

        --padding-block-start: max(20px, calc(var(--spacing-scale) * 40px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 40px));
      "
      data-testid="section-content"
    >
      
    <div id="shopify-block-AMWlxcFVGNjNPTjhvd__split_content_PbUJp6" class="shopify-block flex-full-width">



<div
  class="split-content split-content--side-right split-content--rounded-desktop split-content--rounded-mobile"
  style="
    --split-padding-x: 0;
    --split-padding-y: 0;
    --split-content-width: 50.0%;
    --split-media-width: 50.0%;
    --split-min-height: 400px;
    --split-inner-padding: 1rem;
    --split-mobile-content-position: center;
  "
  
>
  

  

  
  <style>
    @media (max-width: 768px) {
      [data-overlay-id="AMWlxcFVGNjNPTjhvd__split_content_PbUJp6"] {
        background-color: #161819 !important;
      }
    }
  </style>
  <div
    class="split-content__overlay  split-content--rounded-desktop split-content--rounded-mobile"
    data-overlay-id="AMWlxcFVGNjNPTjhvd__split_content_PbUJp6"
    style="background-color: #161819;"
  >
    <div class="split-content__inner split-content__inner--mobile-flip">
      <div id="shopify-block-ANU04Ym1XK3FsT0Iya__content_column_3fCTnc" class="shopify-block">

<div
  class="split-section__content-column"
  style="
    --content-align: flex-start;
    --content-gap: 1.5rem;
  "
  
>
  

<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    bodi-promo-banner-content
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: max(20px, calc(var(--spacing-scale) * 24px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 24px));--padding-inline-start: max(20px, calc(var(--spacing-scale) * 24px));--padding-inline-end: max(20px, calc(var(--spacing-scale) * 24px));
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
      <div
  class="overlay overlay--solid"
  style="
    --overlay-layer: 0;
    --overlay-color: #161819;
    --overlay-color--end: rgba(22, 24, 25, 0);
    --overlay-direction: to top; --overlay-border-radius: 0px;"
></div>



    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 12px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class="  spacing-style text-block text-block--AWFhOMFFMMytMZDM0W__text_pQBnPd text-body-base
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--bodi-green-bright-500);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>FOR A LIMITED TIME</p>
     
  </div>
  

<style>
  
</style>










   
  <div 
  class="  spacing-style text-block text-block--AWmtMb2FvYnBsZU5aa__text_3nBMY6 text-heading-display-2
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--bodi-white);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <h3>Save $60 on The BODi Annual Subscription</h3>
     
  </div>
  

<style>
  
</style>










   
  <div 
  class="  spacing-style text-block text-block--AdmExYnhGbUtNbFFDT__text_CLTVyi text-body-base
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:17px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--bodi-white);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-none);
    
    
  "

  
>
    
     
    <p>Complete access, including to new MAX BUILT, for $119 ($60 Savings).‡‡</p>
     
  </div>
  

<style>
  
</style>





<script src="//www.bodi.com/cdn/shop/t/2/assets/bodi-button.js?v=153141443260534750341772843289" type="module" defer></script>
<div class="bodi-button-wrapper" 
  
    style="--bodi-button-width: fit-content; --bodi-button-width-mobile: 100%;"
  
   
>
  <button
    type="button"
    id="bodi-button-ASWlXaWR5amd6U0JGa__button_FVGprm"
    class="bodi-button bodi-button--primary bodi-button--medium bodi-button--width-fit-content"
    
    
    data-click-action="navigate"
    
      data-url="/products/bodi-subscription"
      data-open-new-tab="false"
    
    
    
      data-analytics-event="none"
    
    
    
    
    
  >
    <span class="bodi-button__content" 
      
      >
        
      Get Started
      
    </span>
  </button>
  <span class="bodi-button__error hidden" aria-live="polite">
    <span class="bodi-button__error-icon"><svg class="icon icon-error" viewBox="0 0 13 13">
  <circle cx="6.5" cy="6.5" r="5.5" stroke="#fff" stroke-width="var(--icon-stroke-width)"/>
  <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width=".7"/>
  <path fill="#fff" d="m5.874 3.528.1 4.044h1.053l.1-4.044zm.627 6.133c.38 0 .68-.288.68-.656s-.3-.656-.68-.656-.681.288-.681.656.3.656.68.656"/>
  <path fill="#fff" stroke="#EB001B" stroke-width=".7" d="M5.874 3.178h-.359l.01.359.1 4.044.008.341h1.736l.008-.341.1-4.044.01-.359H5.873Zm.627 6.833c.56 0 1.03-.432 1.03-1.006s-.47-1.006-1.03-1.006-1.031.432-1.031 1.006.47 1.006 1.03 1.006Z"/>
</svg>
</span>
    <span class="bodi-button__error-text"></span>
  </span>
</div>




</div>
</div>
<style>
  
</style>





</div>



</div>
<div id="shopify-block-AMUV2SUVsbVVUV0Fkd__media_column_iaWL7L" class="shopify-block">

<div
  class="split-section__media-column"
  
>
  <div class="split-section__media-inner">
    









<div
  class="
  split-content-image split-content-image--AVXErR0Z5VjJ6a2J1Z__split_content_image_A9yt9k split-content-image--height-fit
"
  style="
  --ratio: 1.75;
  --mobile-ratio: 1.75;
  --photo-size: contain;
  --photo-position: center;
  --photo-transform-origin-y: center;
  --photo-scale: 1.0;
  --photo-border-radius: 0px;
  --mobile-photo-size: cover;
  --mobile-photo-position: bottom;
  --mobile-photo-transform-origin-y: center;
  --mobile-photo-scale: 1.0;
  --mobile-photo-height: auto;
"
  
>
  
<img src="//www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=3840" alt="BODi workout app on a smartphone" srcset="//www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=3840 3840w" width="840" height="480" loading="lazy" class="split-content-image__img split-content-image__img--desktop" sizes="auto, (min-width: 750px) 100vw, 100vw">
<img src="//www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=1500" alt="BODi workout app on a smartphone" srcset="//www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-homepage-annual-subscription-promo-banner.png?v=1788275977&amp;width=1200 1200w" loading="lazy" class="split-content-image__img split-content-image__img--mobile" sizes="100vw">

</div>





  </div>
</div>



</div>

    </div>
  </div>
</div>




</div>

  
    </div>
  </div>
</div>
</div>




<style> #shopify-section-template--21336458723545__section_4RKTVk .split-content__inner {padding: 0;} #shopify-section-template--21336458723545__section_4RKTVk /*.split-content__inner > div:first-child {padding: var(--split-inner-padding, 1rem);}*/ </style></div><div id="shopify-section-template--21336458723545__section_GhHfYc" class="shopify-section section-wrapper"><style> #shopify-section-template--21336458723545__section_GhHfYc .split-content__inner {padding: 0;} #shopify-section-template--21336458723545__section_GhHfYc /* .split-content__inner > div:first-child {padding: var(--split-inner-padding, 1rem);} */ </style></div><div id="shopify-section-template--21336458723545__section_xp6HKL" class="shopify-section section-wrapper">
<div class="section-wrapper ">

<div class="section-background color-scheme-1"></div>
<div
  class="section section--page-width color-scheme-1"

  

  style="
    

    
  "
>
 

  <div
    class="border-style custom-section-content"
    style="--border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;


"
  >
    
      <div
  class="overlay overlay--solid"
  style="
    --overlay-layer: 0;
    --overlay-color: #161819;
    --overlay-color--end: rgba(22, 24, 25, 0);
    --overlay-direction: to top; --overlay-border-radius: 0px;"
></div>



    
 <div class="custom-section-background">
    

  </div>
    <div
      class="
        spacing-style
        layout-panel-flex
        layout-panel-flex--column
        section-content-wrapper
         mobile-column
      "
      style="
        --flex-direction: column; --flex-wrap: nowrap;

--gap: 16px;

--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;

        --padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px));
      "
      data-testid="section-content"
    >
      
    





   
  <div 
  class="  spacing-style text-block text-block--ASTZjSVpieWVGWlZuV__text_wryMpM text-heading-display-2
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--bodi-white);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <h2>25+ Years of Proven Results</h2>
     
  </div>
  

<style>
  
</style>






<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--row
       mobile-column
    "
    style="--flex-direction: row; --flex-wrap: nowrap;

--gap: 12px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  

<div
  class="
    group-block
    group-block--height-fill
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;


  overflow: hidden;


    --padding-block-start: max(20px, calc(var(--spacing-scale) * 24px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 24px));--padding-inline-start: max(20px, calc(var(--spacing-scale) * 24px));--padding-inline-end: max(20px, calc(var(--spacing-scale) * 24px));
    --size-style-width: 100%;--size-style-height: 100%;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
      <div
  class="overlay overlay--solid"
  style="
    --overlay-layer: 0;
    --overlay-color: #2d2e30;
    --overlay-color--end: rgba(45, 46, 48, 0);
    --overlay-direction: to top; --overlay-border-radius: 8px;"
></div>



    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 16px;

--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  












  <div
    class="
  image-block image-block--Ad1cvUWZwbVlVTXRxd__image_LWBQGk image-block--height-fit spacing-style size-style
"
    style="
  --ratio: 1.0;
  --image-scale: 100%;
  --size-style-width:50%;--size-style-height: fit;
  --size-style-width-mobile:35%; --size-style-width-mobile-min:35%;
  --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
  --object-fit: cover;
  --object-position: center center;
"
    
  >
    
<img src="//www.bodi.com/cdn/shop/files/bodi-storefront-informed-sport-badge.png?v=1772480242&amp;width=3840" alt="Informed Sport Badge" srcset="//www.bodi.com/cdn/shop/files/bodi-storefront-informed-sport-badge.png?v=1772480242&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-storefront-informed-sport-badge.png?v=1772480242&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-storefront-informed-sport-badge.png?v=1772480242&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-storefront-informed-sport-badge.png?v=1772480242&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-storefront-informed-sport-badge.png?v=1772480242&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-storefront-informed-sport-badge.png?v=1772480242&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-storefront-informed-sport-badge.png?v=1772480242&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-storefront-informed-sport-badge.png?v=1772480242&amp;width=3840 3840w" width="240" height="240" loading="lazy" class="image-block__image border-style" style="
  --ratio: 1.0;
  --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;
--border-radius-mobile: 0px;


">
  

  </div>







<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class="  spacing-style text-block text-block--AY2g1cTl4WjEyU1BDY__text_Uay9w7 text-body-xl
    text-block--align-center
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--bodi-white);--font-weight: 400;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: center;
    
    
  "

  
>
    
     
    <p>Informed Sport Certified for Beachbody Performance</p>
     
  </div>
  

<style>
  
</style>





</div>
</div>
<style>
  
</style>





</div>
</div>
<style>
  
</style>






<div
  class="
    group-block
    group-block--height-fill
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;


  overflow: hidden;


    --padding-block-start: max(20px, calc(var(--spacing-scale) * 24px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 24px));--padding-inline-start: max(20px, calc(var(--spacing-scale) * 24px));--padding-inline-end: max(20px, calc(var(--spacing-scale) * 24px));
    --size-style-width: 100%;--size-style-height: 100%;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
      <div
  class="overlay overlay--solid"
  style="
    --overlay-layer: 0;
    --overlay-color: #2d2e30;
    --overlay-color--end: rgba(45, 46, 48, 0);
    --overlay-direction: to top; --overlay-border-radius: 8px;"
></div>



    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 16px;

--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  












  <div
    class="
  image-block image-block--AVCsrMzFyUnh1YjMyV__image_GMEAAi image-block--height-fit spacing-style size-style
"
    style="
  --ratio: 1.0;
  --image-scale: 100%;
  --size-style-width:50%;--size-style-height: fit;
  --size-style-width-mobile:35%; --size-style-width-mobile-min:35%;
  --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
  --object-fit: cover;
  --object-position: center center;
"
    
  >
    
<img src="//www.bodi.com/cdn/shop/files/bodi-storefront-third-party-tested-badge.png?v=1772480243&amp;width=3840" alt="Storefront 3rd Party Tested Badge" srcset="//www.bodi.com/cdn/shop/files/bodi-storefront-third-party-tested-badge.png?v=1772480243&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-storefront-third-party-tested-badge.png?v=1772480243&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-storefront-third-party-tested-badge.png?v=1772480243&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-storefront-third-party-tested-badge.png?v=1772480243&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-storefront-third-party-tested-badge.png?v=1772480243&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-storefront-third-party-tested-badge.png?v=1772480243&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-storefront-third-party-tested-badge.png?v=1772480243&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-storefront-third-party-tested-badge.png?v=1772480243&amp;width=3840 3840w" width="240" height="240" loading="lazy" class="image-block__image border-style" style="
  --ratio: 1.0;
  --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;
--border-radius-mobile: 0px;


">
  

  </div>







<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class="  spacing-style text-block text-block--AcGVaTlRUN00rWWMrL__text_q4e39K text-body-xl
    text-block--align-center
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--bodi-white);--font-weight: 400;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: center;
    
    
  "

  
>
    
     
    <p>Third Party Tested Supplements</p>
     
  </div>
  

<style>
  
</style>





</div>
</div>
<style>
  
</style>





</div>
</div>
<style>
  
</style>






<div
  class="
    group-block
    group-block--height-fill
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;


  overflow: hidden;


    --padding-block-start: max(20px, calc(var(--spacing-scale) * 24px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 24px));--padding-inline-start: max(20px, calc(var(--spacing-scale) * 24px));--padding-inline-end: max(20px, calc(var(--spacing-scale) * 24px));
    --size-style-width: 100%;--size-style-height: 100%;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
      <div
  class="overlay overlay--solid"
  style="
    --overlay-layer: 0;
    --overlay-color: #2d2e30;
    --overlay-color--end: rgba(45, 46, 48, 0);
    --overlay-direction: to top; --overlay-border-radius: 8px;"
></div>



    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 16px;

--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  












  <div
    class="
  image-block image-block--AZS94ck9uakYxQ0JJc__image_UN3jEU image-block--height-fit spacing-style size-style
"
    style="
  --ratio: 0.675;
  --image-scale: 100%;
  --size-style-width:28%;--size-style-height: fit;
  --size-style-width-mobile:28%; --size-style-width-mobile-min:28%;
  --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
  --object-fit: cover;
  --object-position: center center;
"
    
  >
    
<img src="//www.bodi.com/cdn/shop/files/bodi-storefront-best-of-cnet-2026-badge.png?v=1783429988&amp;width=3840" alt="Best of CNET 2026" srcset="//www.bodi.com/cdn/shop/files/bodi-storefront-best-of-cnet-2026-badge.png?v=1783429988&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-storefront-best-of-cnet-2026-badge.png?v=1783429988&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-storefront-best-of-cnet-2026-badge.png?v=1783429988&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-storefront-best-of-cnet-2026-badge.png?v=1783429988&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-storefront-best-of-cnet-2026-badge.png?v=1783429988&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-storefront-best-of-cnet-2026-badge.png?v=1783429988&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-storefront-best-of-cnet-2026-badge.png?v=1783429988&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-storefront-best-of-cnet-2026-badge.png?v=1783429988&amp;width=3840 3840w" width="162" height="240" loading="lazy" class="image-block__image border-style" style="
  --ratio: 0.675;
  --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;
--border-radius-mobile: 0px;


">
  

  </div>







<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class="  spacing-style text-block text-block--AOUtxdkRVcHNibUp5Q__text_4HdtnD text-body-xl
    text-block--align-center
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--bodi-white);--font-weight: 400;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: center;
    
    
  "

  
>
    
     
    <p>Best of CNET 2026 Pre-Workout for Performance ENERGIZE</p>
     
  </div>
  

<style>
  
</style>





</div>
</div>
<style>
  
</style>





</div>
</div>
<style>
  
</style>






<div
  class="
    group-block
    group-block--height-fill
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 8px;


  overflow: hidden;


    --padding-block-start: max(20px, calc(var(--spacing-scale) * 24px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 24px));--padding-inline-start: max(20px, calc(var(--spacing-scale) * 24px));--padding-inline-end: max(20px, calc(var(--spacing-scale) * 24px));
    --size-style-width: 100%;--size-style-height: 100%;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
      <div
  class="overlay overlay--solid"
  style="
    --overlay-layer: 0;
    --overlay-color: #2d2e30;
    --overlay-color--end: rgba(45, 46, 48, 0);
    --overlay-direction: to top; --overlay-border-radius: 8px;"
></div>



    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 16px;

--horizontal-alignment: center; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  












  <div
    class="
  image-block image-block--AUFdqN0pva1A3a0Q0O__image_jEbB6m image-block--height-fit spacing-style size-style
"
    style="
  --ratio: 1.0;
  --image-scale: 100%;
  --size-style-width:35%;--size-style-height: fit;
  --size-style-width-mobile:35%; --size-style-width-mobile-min:35%;
  --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
  --object-fit: cover;
  --object-position: center center;
"
    
  >
    
<img src="//www.bodi.com/cdn/shop/files/bodi-storefront-cnn-underscored-best-tested-2025-badge.png?v=1772480361&amp;width=3840" alt="CNN Underscored Best Tested 2025" srcset="//www.bodi.com/cdn/shop/files/bodi-storefront-cnn-underscored-best-tested-2025-badge.png?v=1772480361&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-storefront-cnn-underscored-best-tested-2025-badge.png?v=1772480361&amp;width=352 352w, //www.bodi.com/cdn/shop/files/bodi-storefront-cnn-underscored-best-tested-2025-badge.png?v=1772480361&amp;width=832 832w, //www.bodi.com/cdn/shop/files/bodi-storefront-cnn-underscored-best-tested-2025-badge.png?v=1772480361&amp;width=1200 1200w, //www.bodi.com/cdn/shop/files/bodi-storefront-cnn-underscored-best-tested-2025-badge.png?v=1772480361&amp;width=1600 1600w, //www.bodi.com/cdn/shop/files/bodi-storefront-cnn-underscored-best-tested-2025-badge.png?v=1772480361&amp;width=1920 1920w, //www.bodi.com/cdn/shop/files/bodi-storefront-cnn-underscored-best-tested-2025-badge.png?v=1772480361&amp;width=2560 2560w, //www.bodi.com/cdn/shop/files/bodi-storefront-cnn-underscored-best-tested-2025-badge.png?v=1772480361&amp;width=3840 3840w" width="240" height="240" loading="lazy" class="image-block__image border-style" style="
  --ratio: 1.0;
  --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;
--border-radius-mobile: 0px;


">
  

  </div>







<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--column
       mobile-column
    "
    style="--flex-direction: column; --flex-wrap: nowrap;

--gap: 4px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class="  spacing-style text-block text-block--AOHVQam02aExpZmZTT__text_PBiBqD text-body-xl
    text-block--align-center
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--bodi-white);--font-weight: 400;
    --width: 100%;
    --max-width: var(--max-width--body-normal);
    
      --text-align: center;
    
    
  "

  
>
    
     
    <p>Best Workout App 4.9 rating<br/>280,000+ App Store Reviews</p>
     
  </div>
  

<style>
  
</style>





</div>
</div>
<style>
  
</style>





</div>
</div>
<style>
  
</style>





</div>
</div>
<style>
  
</style>





  
    </div>
  </div>
</div>
</div>




</div><div id="shopify-section-template--21336458723545__custom_liquid_kfzDkB" class="shopify-section"><div class="section-background color-scheme-1"></div>
<div
  class="section section--page-width spacing-style color-scheme-1"
  style="--padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 
"
>
  <link href="//www.bodi.com/cdn/shop/t/2/assets/template-storefront.css?v=91256180875706866601788967411" rel="stylesheet" type="text/css" media="all" />
</div>


</div>
</main>

    

    <!-- BEGIN sections: footer-group -->
<footer id="shopify-section-sections--21336457314521__sticky_footer_pdp_VLUYAc" class="shopify-section shopify-section-group-footer-group footer-section"></footer><footer id="shopify-section-sections--21336457314521__sticky_footer_FmXzPb" class="shopify-section shopify-section-group-footer-group footer-section"><section
  class="sticky-footer"
  id="sticky-footer"
  data-threshold-mobile="20"
  data-threshold-desktop="20"
>
  <div class="sticky-footer__content section section--page-width">
    

<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fill
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--row
       mobile-column
    "
    style="--flex-direction: row; --flex-wrap: nowrap;

--gap: 24px;

--horizontal-alignment: space-between; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  





   
  <div 
  class="  spacing-style text-block text-block--Aa2MzMXZXK0NkcWVFM__text_LNQGMb text-heading-3
    
  "

  style="
    --padding-block-start: 0px; --padding-block-end:0px; 
--padding-inline-start:0px; --padding-inline-end:0px; 

    
--color: var(--color-foreground);--font-weight: 500;
    --width: fit-content;
    --max-width: var(--max-width--body-normal);
    
    
  "

  
>
    
     
    <p>Start strong and save 25% on Supplements</p>
     
  </div>
  

<style>
  
</style>






<div
  class="
    group-block
    group-block--height-fit
    group-block--width-fit-content
    border-style
    spacing-style
    size-style
    
    
    
    
  "
  style="
    --border-width: 1px; --border-style: none;
--border-color: rgb(var(--color-border-rgb) / 1.0);
--border-radius: 0px;



    --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
    --size-style-width: fit-content;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem;
    
  "
  
  data-testid="group-block"
><div class="group-block__media-wrapper">
    

    
  </div>

  <div
    class="
      group-block-content
      
      layout-panel-flex
      layout-panel-flex--row
       mobile-column
    "
    style="--flex-direction: row; --flex-wrap: nowrap;

--gap: 8px;

--horizontal-alignment: flex-start; --vertical-alignment: center;
--vertical-alignment-mobile: center;
"
  >
  
<script src="//www.bodi.com/cdn/shop/t/2/assets/bodi-button.js?v=153141443260534750341772843289" type="module" defer></script>
<div class="bodi-button-wrapper" 
  
    style="--bodi-button-width: fit-content; --bodi-button-width-mobile: 100%;"
  
   
>
  <button
    type="button"
    id="bodi-button-ANzA1aUpOaTdMRkh5V__button_CjTyEe"
    class="bodi-button bodi-button--primary bodi-button--medium bodi-button--width-fit-content"
    
    
    data-click-action="navigate"
    
      data-url="/collections/supplements"
      data-open-new-tab="false"
    
    
    
      data-analytics-event="select sticky footer cta"
    
    
      data-analytics-module="Global | Sticky Footer"
    
    
    
    
  >
    <span class="bodi-button__content" 
      
      >
        
      Shop & Save
      
    </span>
  </button>
  <span class="bodi-button__error hidden" aria-live="polite">
    <span class="bodi-button__error-icon"><svg class="icon icon-error" viewBox="0 0 13 13">
  <circle cx="6.5" cy="6.5" r="5.5" stroke="#fff" stroke-width="var(--icon-stroke-width)"/>
  <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width=".7"/>
  <path fill="#fff" d="m5.874 3.528.1 4.044h1.053l.1-4.044zm.627 6.133c.38 0 .68-.288.68-.656s-.3-.656-.68-.656-.681.288-.681.656.3.656.68.656"/>
  <path fill="#fff" stroke="#EB001B" stroke-width=".7" d="M5.874 3.178h-.359l.01.359.1 4.044.008.341h1.736l.008-.341.1-4.044.01-.359H5.873Zm.627 6.833c.56 0 1.03-.432 1.03-1.006s-.47-1.006-1.03-1.006-1.031.432-1.031 1.006.47 1.006 1.03 1.006Z"/>
</svg>
</span>
    <span class="bodi-button__error-text"></span>
  </span>
</div>




</div>
</div>
<style>
  
</style>





</div>
</div>
<style>
  
</style>





  </div>
</section>

<script>
  function initStickyFooter(section) {
    const stickyFooter = section.querySelector('#sticky-footer');

    if (!stickyFooter) return;
    if (stickyFooter.dataset.initialized === 'true') return;
    stickyFooter.dataset.initialized = 'true';

    // Always read fresh values from updated DOM
    const thresholdMobile = parseInt(stickyFooter.dataset.thresholdMobile) || 50;
    const thresholdDesktop = parseInt(stickyFooter.dataset.thresholdDesktop) || 200;
    const stickyFooterOffsetProperty = '--sticky-footer-offset';

    function setStickyFooterOffset(height) {
      document.body?.style.setProperty(stickyFooterOffsetProperty, `${Math.ceil(height)}px`);
    }

    function resetStickyFooterOffset() {
      document.body?.style.setProperty(stickyFooterOffsetProperty, '0px');
    }

    // Function to dispatch custom events for footer state changes
    function dispatchFooterEvent(eventName, data = {}) {
      const footerHeight = stickyFooter.getBoundingClientRect().height;
      const event = new CustomEvent(`stickyFooter:${eventName}`, {
        detail: {
          element: stickyFooter,
          height: footerHeight,
          ...data,
        },
        bubbles: true,
      });
      document.dispatchEvent(event);
    }

    function handleScroll() {
      const isMobile = window.innerWidth < 768;
      const threshold = isMobile ? thresholdMobile : thresholdDesktop;
      const shouldShow = window.scrollY > threshold;
      const isCurrentlyShowing = stickyFooter.classList.contains('show');

      if (shouldShow && !isCurrentlyShowing) {
        stickyFooter.classList.add('show');
        // Wait for CSS transition to complete, then dispatch event
        setTimeout(() => {
          setStickyFooterOffset(stickyFooter.getBoundingClientRect().height);
          dispatchFooterEvent('show');
        }, 50); // Small delay to ensure DOM is updated
      } else if (!shouldShow && isCurrentlyShowing) {
        stickyFooter.classList.remove('show');
        resetStickyFooterOffset();
        dispatchFooterEvent('hide');
      }
    }

    // Throttled scroll listener
    let ticking = false;
    window.addEventListener('scroll', function () {
      if (!ticking) {
        requestAnimationFrame(function () {
          handleScroll();
          ticking = false;
        });
        ticking = true;
      }
    });

    // Handle resize events to recalculate height
    let resizeTimeout = null;
    window.addEventListener('resize', function () {
      if (resizeTimeout) {
        clearTimeout(resizeTimeout);
      }
      resizeTimeout = setTimeout(() => {
        if (stickyFooter.classList.contains('show')) {
          setStickyFooterOffset(stickyFooter.getBoundingClientRect().height);
          dispatchFooterEvent('resize');
        }
      }, 100);
    });

    resetStickyFooterOffset();
    handleScroll();
  }

  // Run on first load
  document.addEventListener('DOMContentLoaded', function () {
    const stickyFooter = document.getElementById('sticky-footer');
    initStickyFooter(document);
  });

  // Run again whenever Shopify reloads the section
  document.addEventListener('shopify:section:load', function (event) {
    initStickyFooter(event.target);
  });
</script>




</footer><footer id="shopify-section-sections--21336457314521__sticky_footer_aqbyLm" class="shopify-section shopify-section-group-footer-group footer-section"></footer><footer id="shopify-section-sections--21336457314521__sticky_footer_Hq6WUj" class="shopify-section shopify-section-group-footer-group footer-section"></footer><footer id="shopify-section-sections--21336457314521__footer_Nr9kwG" class="shopify-section shopify-section-group-footer-group footer-section">

<section class="footer">
  <div class="footer__content"><div class="footer__top">
      <div class="footer__logo-section">
        <a href="/" class="footer__logo">
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/desktop-bodi-logo-dark.svg?v=39598879658721709861776873391"
            alt="Bodi logo"
            width="123"
            height="40"
            loading="lazy"
          >
        </a>
        <div
  class="locale-switcher locale-switcher--footer "
  data-current-locale-base-url="https://www.bodi.com"
>
  <button
    class="locale-switcher__button"
    type="button"
    aria-expanded="false"
    aria-haspopup="true"
    data-locale-switcher-button
  ><img
        src="//www.bodi.com/cdn/shop/t/2/assets/us_flag.svg?v=146820449465311856841771353646"
        alt="U.S. flag"
        class="locale-switcher__flag"
        width="20"
        height="20"
      >
      <span class="locale-switcher__label-wrapper">
        <span class="locale-switcher__label locale-switcher__label--normal">U.S. English</span>
        <span class="locale-switcher__label locale-switcher__label--bold">U.S. English</span>
      </span><span class="locale-switcher__chevron">
      <svg
        xmlns="http://www.w3.org/2000/svg"
        viewBox="0 0 20 20"
        fill="currentColor"
        aria-hidden="true"
      >
        <path
          fill-rule="evenodd"
          d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
          clip-rule="evenodd"
        />
      </svg>
    </span>
  </button>

  <div
    class="locale-switcher__dropdown closed"
    role="menu"
    data-locale-switcher-dropdown
  >
    <div class="locale-switcher__dropdown-content"><a
          href="https://shop-ca.bodi.com"
          class="locale-switcher__option"
          role="menuitem"
          data-locale-code="en_CA"
          data-locale-base-url="https://shop-ca.bodi.com"
        >
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/ca_flag.svg?v=140489053438850075871771353646"
            alt="Canada flag"
            class="locale-switcher__flag"
            width="20"
            height="20"
          >
          <span class="locale-switcher__label">CAN English</span>
        </a><a
          href="https://shop-ca.bodi.com/fr"
          class="locale-switcher__option"
          role="menuitem"
          data-locale-code="fr_CA"
          data-locale-base-url="https://shop-ca.bodi.com/fr"
        >
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/ca_flag.svg?v=140489053438850075871771353646"
            alt="Canada flag"
            class="locale-switcher__flag"
            width="20"
            height="20"
          >
          <span class="locale-switcher__label">CAN Français</span>
        </a><a
          href="https://shop-gb.bodi.com"
          class="locale-switcher__option"
          role="menuitem"
          data-locale-code="en_GB"
          data-locale-base-url="https://shop-gb.bodi.com"
        >
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/gb_flag.svg?v=184068840994614594711771353645"
            alt="UK flag"
            class="locale-switcher__flag"
            width="20"
            height="20"
          >
          <span class="locale-switcher__label">UK English</span>
        </a></div>
  </div>
</div>



      </div>

      

      <div class="footer__apps footer__apps--mobile">
        
        <a
          href="https://apps.apple.com/us/app/bodi-by-beachbody-home-fitness/id1031660123"
          target="_blank"
          rel="noopener noreferrer"
          aria-label="Apple"
          class="footer__app-badge"
        >
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/app-store-badge.svg?v=120792209405859649841771353645"
            alt="Apple"
            width="120"
            height="40"
            loading="lazy"
          >
        </a>
        <a
          href="https://play.google.com/store/apps/details?id=com.beachbody.bod"
          target="_blank"
          rel="noopener noreferrer"
          aria-label="Google"
          class="footer__app-badge"
        >
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/google-play-badge.svg?v=177291720263664549321771353646"
            alt="Google"
            width="135"
            height="40"
            loading="lazy"
          >
        </a>
        
      </div>

      <div class="footer__social">
        <a
          href="https://www.instagram.com/bodi"
          target="_blank"
          rel="noopener noreferrer"
          aria-label="Instagram"
          class="footer__social-link"
        >
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/instagram-icon.svg?v=55966984291952598211771353644"
            alt="Instagram"
            width="24"
            height="24"
            loading="lazy"
          >
        </a>
        <a
          href="https://facebook.com/bodi"
          target="_blank"
          rel="noopener noreferrer"
          aria-label="Facebook"
          class="footer__social-link"
        >
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/facebook-icon.svg?v=107550427014668218611771353644"
            alt="Facebook"
            width="24"
            height="24"
            loading="lazy"
          >
        </a>
        <a
          href="https://youtube.com/@bodi"
          target="_blank"
          rel="noopener noreferrer"
          aria-label="YouTube"
          class="footer__social-link"
        >
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/youtube-icon.svg?v=122383149797620814721771353646"
            alt="YouTube"
            width="24"
            height="24"
            loading="lazy"
          >
        </a>
      </div>
      <div class="footer__apps">
        
        <a
          href="https://apps.apple.com/us/app/bodi-by-beachbody-home-fitness/id1031660123"
          target="_blank"
          rel="noopener noreferrer"
          aria-label="Apple"
          class="footer__app-badge"
        >
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/app-store-badge.svg?v=120792209405859649841771353645"
            alt="Apple"
            width="120"
            height="40"
            loading="lazy"
          >
        </a>
        <a
          href="https://play.google.com/store/apps/details?id=com.beachbody.bod"
          target="_blank"
          rel="noopener noreferrer"
          aria-label="Google"
          class="footer__app-badge"
        >
          <img
            src="//www.bodi.com/cdn/shop/t/2/assets/google-play-badge.svg?v=177291720263664549321771353646"
            alt="Google"
            width="135"
            height="40"
            loading="lazy"
          >
        </a>
        
      </div>
    </div><div class="footer__middle"><div class="footer__columns footer__columns--desktop"><div class="footer__column" ><span class="footer__column-heading">Explore</span><ul class="footer__column-links"><li><a
                    target="_self"
                    rel=""
                    href="/"
                    class="footer__column-link"
                  >
                    Home
                  </a>
                </li><li><a
                    target="_self"
                    rel=""
                    href="/collections/fitness-programs-plans"
                    class="footer__column-link"
                  >
                    BODi Programs
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/c/success-stories"
                    class="footer__column-link"
                  >
                    Results & Success Stories
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/blog/"
                    class="footer__column-link"
                  >
                    Blog
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.facebook.com/login/?next=https%3A%2F%2Fwww.facebook.com%2Fgroups%2Fbodmembers%2F"
                    class="footer__column-link"
                  >
                    Facebook Community
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/affiliate"
                    class="footer__column-link"
                  >
                    Become an Affiliate
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/experience?sl-view=community"
                    class="footer__column-link"
                  >
                    The BODi Experience
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/experience#raf"
                    class="footer__column-link"
                  >
                    Refer & Earn
                  </a>
                </li></ul>
          </div><div class="footer__column" ><span class="footer__column-heading">Account & Support</span><ul class="footer__column-links"><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/account/settings"
                    class="footer__column-link"
                  >
                    My Account
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/account/orders"
                    class="footer__column-link"
                  >
                    My Orders
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/account/subscriptions"
                    class="footer__column-link"
                  >
                    My Subscriptions
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://faq.bodi.com/?_gl=1*1bjqr0g*_gcl_au*MTUzMzU1ODIwNi4xNzY0OTU2NDQy*FPAU*MTUzMzU1ODIwNi4xNzY0OTU2NDQy"
                    class="footer__column-link"
                  >
                    BODi Support
                  </a>
                </li></ul>
          </div><div class="footer__column" ><span class="footer__column-heading">Company</span><ul class="footer__column-links"><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/careers"
                    class="footer__column-link"
                  >
                    Careers
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/about"
                    class="footer__column-link"
                  >
                    About Us
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/contact"
                    class="footer__column-link"
                  >
                    Contact Information
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://thebeachbodycompany.com/"
                    class="footer__column-link"
                  >
                    Investor
                  </a>
                </li><li><a target="_blank" rel="noopener noreferrer" href="/cdn-cgi/l/email-protection#22404d464b62434b4b500c4345474c415b" class="footer__column-link">
                    Press Inquiries
                  </a>
                </li></ul>
          </div><div class="footer__column" ><span class="footer__column-heading">Legal</span><ul class="footer__column-links"><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/terms-of-use"
                    class="footer__column-link"
                  >
                    Terms & Conditions
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/privacy"
                    class="footer__column-link"
                  >
                    Privacy Policy
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/consumer-health-data-policy"
                    class="footer__column-link"
                  >
                    Consumer Health Data Policy
                  </a>
                </li><li><a
                    target="_self"
                    rel=""
                    href="javascript:window.Osano.cm.showDrawer()"
                    class="footer__column-link"
                  >
                    Cookie Preferences
                  </a>
                </li><li><a
                    target="_self"
                    rel=""
                    href="javascript:window.Osano.cm.showDoNotSell()"
                    class="footer__column-link"
                  >
                    Do Not Sell My Info
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/accessibility-statement"
                    class="footer__column-link"
                  >
                    Accessibility Statement
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/supplier-code"
                    class="footer__column-link"
                  >
                    Supplier Code
                  </a>
                </li><li><a
                    target="_blank"
                    rel="noopener noreferrer"
                    href="https://www.bodi.com/us/en/supply-chain"
                    class="footer__column-link"
                  >
                    California Supply Chain
                  </a>
                </li></ul>
          </div></div><div class="footer__columns footer__columns--mobile"><accordion-custom>
              <details class="footer__accordion-details">
                <summary class="footer__accordion-summary">
                  Explore
                  <span class="footer__accordion-icon">
                    <svg
                      class="footer__accordion-icon-plus"
                      aria-hidden="true"
                      focusable="false"
                      width="24"
                      height="24"
                      viewBox="0 0 24 24"
                      fill="none"
                      xmlns="http://www.w3.org/2000/svg"
                    >
                      <path
                        d="M12 5.25V18.75M5.25 12H18.75"
                        stroke="currentColor"
                        stroke-width="1.5"
                        stroke-linecap="round"
                      />
                    </svg>
                    <svg
                      class="footer__accordion-icon-minus"
                      aria-hidden="true"
                      focusable="false"
                      width="24"
                      height="24"
                      viewBox="0 0 24 24"
                      fill="none"
                      xmlns="http://www.w3.org/2000/svg"
                    >
                      <path
                        d="M5.25 12H18.75"
                        stroke="currentColor"
                        stroke-width="1.5"
                        stroke-linecap="round"
                      />
                    </svg>
                  </span>
                </summary>
                <div class="footer__accordion-content">
                  <ul class="footer__column-links"><li><a
                          target="_self"
                          rel=""
                          href="/"
                          class="footer__column-link"
                        >
                          Home
                        </a>
                      </li><li><a
                          target="_self"
                          rel=""
                          href="/collections/fitness-programs-plans"
                          class="footer__column-link"
                        >
                          BODi Programs
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/c/success-stories"
                          class="footer__column-link"
                        >
                          Results & Success Stories
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/blog/"
                          class="footer__column-link"
                        >
                          Blog
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.facebook.com/login/?next=https%3A%2F%2Fwww.facebook.com%2Fgroups%2Fbodmembers%2F"
                          class="footer__column-link"
                        >
                          Facebook Community
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/affiliate"
                          class="footer__column-link"
                        >
                          Become an Affiliate
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/experience?sl-view=community"
                          class="footer__column-link"
                        >
                          The BODi Experience
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/experience#raf"
                          class="footer__column-link"
                        >
                          Refer & Earn
                        </a>
                      </li></ul>
                </div>
              </details>
            </accordion-custom><accordion-custom>
              <details class="footer__accordion-details">
                <summary class="footer__accordion-summary">
                  Account & Support
                  <span class="footer__accordion-icon">
                    <svg
                      class="footer__accordion-icon-plus"
                      aria-hidden="true"
                      focusable="false"
                      width="24"
                      height="24"
                      viewBox="0 0 24 24"
                      fill="none"
                      xmlns="http://www.w3.org/2000/svg"
                    >
                      <path
                        d="M12 5.25V18.75M5.25 12H18.75"
                        stroke="currentColor"
                        stroke-width="1.5"
                        stroke-linecap="round"
                      />
                    </svg>
                    <svg
                      class="footer__accordion-icon-minus"
                      aria-hidden="true"
                      focusable="false"
                      width="24"
                      height="24"
                      viewBox="0 0 24 24"
                      fill="none"
                      xmlns="http://www.w3.org/2000/svg"
                    >
                      <path
                        d="M5.25 12H18.75"
                        stroke="currentColor"
                        stroke-width="1.5"
                        stroke-linecap="round"
                      />
                    </svg>
                  </span>
                </summary>
                <div class="footer__accordion-content">
                  <ul class="footer__column-links"><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/account/settings"
                          class="footer__column-link"
                        >
                          My Account
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/account/orders"
                          class="footer__column-link"
                        >
                          My Orders
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/account/subscriptions"
                          class="footer__column-link"
                        >
                          My Subscriptions
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://faq.bodi.com/?_gl=1*1bjqr0g*_gcl_au*MTUzMzU1ODIwNi4xNzY0OTU2NDQy*FPAU*MTUzMzU1ODIwNi4xNzY0OTU2NDQy"
                          class="footer__column-link"
                        >
                          BODi Support
                        </a>
                      </li></ul>
                </div>
              </details>
            </accordion-custom><accordion-custom>
              <details class="footer__accordion-details">
                <summary class="footer__accordion-summary">
                  Company
                  <span class="footer__accordion-icon">
                    <svg
                      class="footer__accordion-icon-plus"
                      aria-hidden="true"
                      focusable="false"
                      width="24"
                      height="24"
                      viewBox="0 0 24 24"
                      fill="none"
                      xmlns="http://www.w3.org/2000/svg"
                    >
                      <path
                        d="M12 5.25V18.75M5.25 12H18.75"
                        stroke="currentColor"
                        stroke-width="1.5"
                        stroke-linecap="round"
                      />
                    </svg>
                    <svg
                      class="footer__accordion-icon-minus"
                      aria-hidden="true"
                      focusable="false"
                      width="24"
                      height="24"
                      viewBox="0 0 24 24"
                      fill="none"
                      xmlns="http://www.w3.org/2000/svg"
                    >
                      <path
                        d="M5.25 12H18.75"
                        stroke="currentColor"
                        stroke-width="1.5"
                        stroke-linecap="round"
                      />
                    </svg>
                  </span>
                </summary>
                <div class="footer__accordion-content">
                  <ul class="footer__column-links"><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/careers"
                          class="footer__column-link"
                        >
                          Careers
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/about"
                          class="footer__column-link"
                        >
                          About Us
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/contact"
                          class="footer__column-link"
                        >
                          Contact Information
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://thebeachbodycompany.com/"
                          class="footer__column-link"
                        >
                          Investor
                        </a>
                      </li><li><a target="_blank" rel="noopener noreferrer" href="/cdn-cgi/l/email-protection#a1c3cec5c8e1c0c8c8d38fc0c6c4cfc2d8" class="footer__column-link">
                          Press Inquiries
                        </a>
                      </li></ul>
                </div>
              </details>
            </accordion-custom><accordion-custom>
              <details class="footer__accordion-details">
                <summary class="footer__accordion-summary">
                  Legal
                  <span class="footer__accordion-icon">
                    <svg
                      class="footer__accordion-icon-plus"
                      aria-hidden="true"
                      focusable="false"
                      width="24"
                      height="24"
                      viewBox="0 0 24 24"
                      fill="none"
                      xmlns="http://www.w3.org/2000/svg"
                    >
                      <path
                        d="M12 5.25V18.75M5.25 12H18.75"
                        stroke="currentColor"
                        stroke-width="1.5"
                        stroke-linecap="round"
                      />
                    </svg>
                    <svg
                      class="footer__accordion-icon-minus"
                      aria-hidden="true"
                      focusable="false"
                      width="24"
                      height="24"
                      viewBox="0 0 24 24"
                      fill="none"
                      xmlns="http://www.w3.org/2000/svg"
                    >
                      <path
                        d="M5.25 12H18.75"
                        stroke="currentColor"
                        stroke-width="1.5"
                        stroke-linecap="round"
                      />
                    </svg>
                  </span>
                </summary>
                <div class="footer__accordion-content">
                  <ul class="footer__column-links"><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/terms-of-use"
                          class="footer__column-link"
                        >
                          Terms & Conditions
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/privacy"
                          class="footer__column-link"
                        >
                          Privacy Policy
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/consumer-health-data-policy"
                          class="footer__column-link"
                        >
                          Consumer Health Data Policy
                        </a>
                      </li><li><a
                          target="_self"
                          rel=""
                          href="javascript:window.Osano.cm.showDrawer()"
                          class="footer__column-link"
                        >
                          Cookie Preferences
                        </a>
                      </li><li><a
                          target="_self"
                          rel=""
                          href="javascript:window.Osano.cm.showDoNotSell()"
                          class="footer__column-link"
                        >
                          Do Not Sell My Info
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/accessibility-statement"
                          class="footer__column-link"
                        >
                          Accessibility Statement
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/supplier-code"
                          class="footer__column-link"
                        >
                          Supplier Code
                        </a>
                      </li><li><a
                          target="_blank"
                          rel="noopener noreferrer"
                          href="https://www.bodi.com/us/en/supply-chain"
                          class="footer__column-link"
                        >
                          California Supply Chain
                        </a>
                      </li></ul>
                </div>
              </details>
            </accordion-custom></div><div class="footer__email"></div></div><div class="footer__bottom">
      <div class="footer__bottom-text">
        <p>The contents on our website are for informational purposes only, and are not intended to diagnose any medical condition, replace the advice of a healthcare professional, or provide any medical advice or treatment. Consult with your physician and follow all safety instructions before beginning any exercise program or nutrition plan, or using any supplement, especially if you are pregnant, breastfeeding, have any medical condition or are taking any medication. <br/><br/>*These statements have not been evaluated by the Food and Drug Administration. This product is not intended to diagnose, treat, cure, or prevent any disease.<br/><br/>‡Subscription Details: Subscription automatically renews for the same applicable term and price, until you cancel. Cancel anytime to avoid future charges by visiting <a href="https://www.bodi.com/us/en/account/subscriptions" target="_blank">Memberships & Subscriptions.</a><br/><br/>†31-Day Money-Back Guarantee: Our products are backed by a 31-day Money Back Guarantee, less shipping & handling. Excludes subscriptions initiated by a free trial; additional terms and conditions apply. For more information, click <a href="https://faq.bodi.com/answer?Id=259" target="_blank">here</a>. </p><p></p><p><br/>** September Supplement Sale. 25% off a one time purchase of supplements, or 35% off Subscribe and Save subscriptions. Applies to your initial subscription selection and every month of the subscription, until you cancel. Any changes to the subscription after the promotion period will reset your discount to the then current best offer. Offer valid between Sept. 9 to Sept. 30, 2026, in the U.S. and Canada only. Excludes Beachbars, 4 Week Gut Protocol Complete Kit, Belle Vitale All-In-One Kit, and any kits or bundles that include supplements and nutrition programs. Subject to availability.</p><p><br/></p><p>‡‡ Annual BODi Subscription Promotion. Get $60 off your annual BODi digital subscription (initial term only). Valid in the U.S. and CA only between beginning August 3 - September 30, 2026, for a limited time.</p><p></p><p><br/></p><p>††FINAL SALE: These items are final sale and cannot be returned, exchanged, credited or refunded. All final sale purchases are considered final once completed. Please review your products carefully before completing your purchase. </p><p><br/><strong>APPLIES TO ALL OFFERS AND PROMOTIONS:</strong> While supplies last.  Offer valid only on in-stock items, no rain checks. Valid for purchases on BODi.com only. Customer may be responsible for tax and/or shipping on free products. Offer is not transferable and may not be combined with other offers, promotions, or discounts, unless otherwise indicated. Not valid on prior orders and cannot be redeemed for cash or cash equivalents. BODi may modify or end any promo without notice.<br/><br/>Apple TV is a registered trademarks of Apple Inc. iOS is a registered trademark of Cisco Technology, Inc. Roku is a registered trademark of Roku, Inc. Fire and all related logos are trademarks of Amazon Technologies, Inc. Android, Chromecast, and Google Play are trademarks of Google LLC.<br/><br/>Distributed in the US by Beachbody, LLC, 400 Continental Blvd, Floor 6, El Segundo, CA 90245<br/><br/>© 2026 BODi. All rights reserved. All third party trademarks are the property of their respective owners.</p>
      </div>
    </div>
  </div>
</section>



<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script type="module" src="//www.bodi.com/cdn/shop/t/2/assets/accordion-custom.js?v=78770727478219950621772670204" defer></script>



</footer><footer id="shopify-section-sections--21336457314521__footer_7QzYxU" class="shopify-section shopify-section-group-footer-group footer-section"></footer><footer id="shopify-section-sections--21336457314521__footer_3HA7qF" class="shopify-section shopify-section-group-footer-group footer-section"></footer>
<!-- END sections: footer-group -->

    <script
  src="//www.bodi.com/cdn/shop/t/2/assets/dialog.js?v=138083190563882019441771353646"
  type="module"
></script>

<dialog-component
  id="search-modal"
  class="search-modal"
  
>
  <dialog
    ref="dialog"
    on:click="/closeDialogOnClickOutside"
    on:keydown="/closeDialogOnEscapePress"
    class="search-modal__content dialog-modal"
    scroll-lock
  >
    <script
  src="//www.bodi.com/cdn/shop/t/2/assets/predictive-search.js?v=137734153844302985541771353646"
  type="module"
  fetchpriority="low"
></script>

<predictive-search-component
  class="predictive-search"
  style="--product-corner-radius: 0px; --card-corner-radius: 0px;"
  data-section-id="predictive-search"
  data-search-position=""
  data-testid="search-component--modal"
  data-active-color-scheme="scheme-1"
  role="search"
  aria-label="Search"
>
  <form
    action="/search"
    method="get"
    role="search"
    class="predictive-search-form"
    ref="form"
    on:keydown="/onSearchKeyDown"
  >
    <div
      class="predictive-search-form__header"
    >
      <div class="predictive-search-form__header-inner">
        <label
          for="cmdk-input"
          class="visually-hidden"
        >Search</label>
        <input
          class="search-input"
          id="cmdk-input"
          type="search"
          name="q"
          role="combobox"
          aria-expanded="false"
          aria-owns="predictive-search-results"
          aria-controls="predictive-search-results"
          aria-haspopup="listbox"
          aria-autocomplete="list"
          autocomplete="off"
          placeholder="Search"
          ref="searchInput"
          on:input="/search"
          on:keydown="/onSearchKeyDown"
          on:focus="/expandSearch"
        >
        <input
          name="options[prefix]"
          type="hidden"
          value="last"
        >
        <span class="svg-wrapper predictive-search__icon">
          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>

        </span>
        <button
          type="button"
          class="button-unstyled predictive-search__reset-button"
          aria-label="Reset search"
          ref="resetButton"
          hidden
          on:click="/resetSearch"
        >
          <span class="svg-wrapper predictive-search__reset-button-icon">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="10" r="6.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 7.5-5 5M12.5 12.5l-5-5"/></svg>

          </span>
          <span class="predictive-search__reset-button-text">Clear</span>
        </button>
      </div>
      <button
        type="button"
        class="button predictive-search__close-modal-button"
        aria-label="Close dialog"
        on:click="dialog-component/closeDialog"
        ref="closeModalButton"
      >
        <span class="svg-wrapper">
          <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

        </span>
      </button>
    </div>

    <div class="predictive-search-form__content-wrapper">
      <div
        class="predictive-search-form__content"
        tabindex="-1"
        ref="predictiveSearchResults"
        on:click="/handleModalClick"
      >
        

<div
  id="predictive-search-results"
  class="predictive-search-dropdown"
  role="listbox"
  aria-expanded="true"
  style="--color-shadow: rgb(var(--color-foreground-rgb) / );"
>
  <div class="predictive-search-results__inner">
    
    
    
      <div
  id="predictive-search-products"
  
    data-testid="products-list-default--modal"
  
>
  
    <div class="predictive-search-results__title">
      Products
    </div>
    <ul
      class="predictive-search-results__list predictive-search-results__wrapper-products list-unstyled"
      role="listbox"
      aria-label="Products"
    >
      
      
        <li
          class="predictive-search-results__card predictive-search-results__card--product"
          ref="resultsItems[]"
        >
          
<div
  class="resource-card"
  href="/products/shakeology-0g-added-sugar"
  data-resource-type="product"
>
  <a
    class="resource-card__link"
    href="/products/shakeology-0g-added-sugar"
  >
    <span class="visually-hidden">
      Shakeology 0g Added Sugar
    </span>
  </a>
  <div
    class="resource-card__media"
    style="--resource-card-aspect-ratio: 4 / 5;"
    
  >
<img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=500" alt="A stand-up pouch of Shakeology Plant Protein + Superfoods " srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-30-serving-en-us-1x1.png?v=1784923289&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" transitionToProduct="false" data-media-id="49391771975897">
<img src="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=500" alt="Shakeology Plant Protein + Superfoods shown as a retail box with a single sachet in front" srcset="//www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-pdp-shakeology-0g-chocolate-vegan-14-serving-en-us-1x1.png?v=1783983311&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" transitionToProduct="false" data-media-id="39877855248601">
</div>

  <div class="resource-card__content">
    <p class="resource-card__title paragraph">Shakeology 0g Added Sugar</p>

    
      <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$129.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$97.46</span>
    </span>
  

  
</div>

    
  </div>
</div>

        </li>
      
        <li
          class="predictive-search-results__card predictive-search-results__card--product"
          ref="resultsItems[]"
        >
          
<div
  class="resource-card"
  href="/products/energize-pre-workout"
  data-resource-type="product"
>
  <a
    class="resource-card__link"
    href="/products/energize-pre-workout"
  >
    <span class="visually-hidden">
      Energize Pre-Workout
    </span>
  </a>
  <div
    class="resource-card__media"
    style="--resource-card-aspect-ratio: 4 / 5;"
    
  >
<img src="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-40-single-servings-en-us.png?v=1772478625&amp;width=500" alt="Lemon 40 Serving Tub" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-40-single-servings-en-us.png?v=1772478625&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-40-single-servings-en-us.png?v=1772478625&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" transitionToProduct="false" data-media-id="48251824963801">
<img src="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-20-single-servings-en-us.png?v=1772478624&amp;width=500" alt="Lemon 20 Single Serving Stick Pack" srcset="//www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-20-single-servings-en-us.png?v=1772478624&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-energize-pre-workout-lemon-20-single-servings-en-us.png?v=1772478624&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" transitionToProduct="false" data-media-id="38840013750489">
</div>

  <div class="resource-card__content">
    <p class="resource-card__title paragraph">Energize Pre-Workout</p>

    
      <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$54.95</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$41.21</span>
    </span>
  

  
</div>

    
  </div>
</div>

        </li>
      
        <li
          class="predictive-search-results__card predictive-search-results__card--product"
          ref="resultsItems[]"
        >
          
<div
  class="resource-card"
  href="/products/hormone-health-supplements"
  data-resource-type="product"
>
  <a
    class="resource-card__link"
    href="/products/hormone-health-supplements"
  >
    <span class="visually-hidden">
      Belle Vitale Supplements
    </span>
  </a>
  <div
    class="resource-card__media"
    style="--resource-card-aspect-ratio: 4 / 5;"
    
  >
<img src="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&amp;width=500" alt="Belle Vitale hormone health supplements" srcset="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-hormone-health-supplements-duo-en-us.png?v=1772478625&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" transitionToProduct="false" data-media-id="48251825422553">
<img src="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-metabolism-blood-sugar-support-en-us.png?v=1772478626&amp;width=500" alt="Daily Metabolism &amp; Blood Sugar Support" srcset="//www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-metabolism-blood-sugar-support-en-us.png?v=1772478626&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-belle-vitale-daily-metabolism-blood-sugar-support-en-us.png?v=1772478626&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" transitionToProduct="false" data-media-id="38840014209241">
</div>

  <div class="resource-card__content">
    <p class="resource-card__title paragraph">Belle Vitale Supplements</p>

    
      <div ref="priceContainer">
  

  
     
    <span class="price">$121.00</span>
  

  
</div>

    
  </div>
</div>

        </li>
      
        <li
          class="predictive-search-results__card predictive-search-results__card--product"
          ref="resultsItems[]"
        >
          
<div
  class="resource-card"
  href="/products/p90x-creatine-monohydrate-powder"
  data-resource-type="product"
>
  <a
    class="resource-card__link"
    href="/products/p90x-creatine-monohydrate-powder"
  >
    <span class="visually-hidden">
      P90X Creatine
    </span>
  </a>
  <div
    class="resource-card__media"
    style="--resource-card-aspect-ratio: 4 / 5;"
    
  >
<img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=500" alt="P90X Creatine Unflavored 20 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-unflavored-20-serving-en-us_4b707d67-fb87-4875-ae2f-b06489de29c3.png?v=1773779584&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" transitionToProduct="false" data-media-id="48409145639129">
<img src="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=500" alt="P90X Creatine Strawberry-Lemonade 20 Servings" srcset="//www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=240 240w, //www.bodi.com/cdn/shop/files/bodi-p90x-creatine-main-strawberry-lemonade-20-serving-en-us_c9221f49-e31b-4fb5-854a-254613d02851.png?v=1773779584&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" transitionToProduct="false" data-media-id="38989394542809">
</div>

  <div class="resource-card__content">
    <p class="resource-card__title paragraph">P90X Creatine</p>

    
      <div ref="priceContainer">
  
    <span role="group" class="compare-at-price-container">
      <span class="visually-hidden">Regular price&nbsp;</span>
      <span class="compare-at-price">$29.99</span>
    </span>
  

  
    <span role="group" class="regular-price-container">
      <span class="visually-hidden">Sale price&nbsp;</span>
      <span class="price">$22.49</span>
    </span>
  

  
</div>

    
  </div>
</div>

        </li>
      
    </ul>
  
</div>

    
  </div>
</div>

      </div>

      <div class="predictive-search-form__footer">
        <button
          class="button button-primary predictive-search__search-button"
          ref="viewAllButton"
        >
          View all
        </button>
      </div>
    </div>
  </form>
</predictive-search-component>



  </dialog>
</dialog-component>



    <div
  class="redirect-modal"
  role="dialog"
  aria-modal="true"
  hidden
>
  <div class="redirect-modal__backdrop"></div>
  <div class="redirect-modal__panel">
    <div class="redirect-modal__top">
      <h2 class="redirect-modal__title">Change shipping country?</h2>

      <button class="redirect-modal__close" type="button" aria-label="Close dialog">
        <svg
          width="24"
          height="24"
          viewBox="0 0 24 24"
          fill="none"
          xmlns="http://www.w3.org/2000/svg"
        >
          <path d="M4.31373 17.8587C3.90357 18.2688 3.88404 19.0012 4.3235 19.4309C4.75318 19.8606 5.48561 19.8508 5.89576 19.4407L11.8723 13.4544L17.8587 19.4407C18.2786 19.8606 19.0012 19.8606 19.4309 19.4309C19.8508 18.9915 19.8606 18.2786 19.4309 17.8587L13.4544 11.8723L19.4309 5.89576C19.8606 5.47584 19.8606 4.75318 19.4309 4.3235C18.9915 3.90357 18.2786 3.89381 17.8587 4.31373L11.8723 10.3001L5.89576 4.31373C5.48561 3.90357 4.74342 3.88404 4.3235 4.3235C3.89381 4.75318 3.90357 5.48561 4.31373 5.89576L10.3001 11.8723L4.31373 17.8587Z" fill="#161819"/>
        </svg>
      </button>
    </div>

    <p class="redirect-modal__body">
      It seems you&#39;re in a different region. Would you like to update your shipping country?
    </p>

    <div class="redirect-modal__select-wrapper">
      <select class="redirect-modal__select" aria-label="Select store region">
        <option value="" data-placeholder disabled hidden>
          Select Your Country
        </option><option value="https://www.bodi.com" data-country="US">
            U.S. English
          </option><option value="https://shop-ca.bodi.com" data-country="CA">
            CAN English
          </option><option value="https://shop-ca.bodi.com/fr" data-country="CA" data-lang="fr">
            CAN Français
          </option><option value="https://shop-gb.bodi.com" data-country="GB">
            UK English
          </option></select>
      <span class="redirect-modal__select-chevron" aria-hidden="true">
        <svg width="9" height="5" viewBox="0 0 9 5" fill="none" xmlns="http://www.w3.org/2000/svg">
          <path d="M8.32723 0L4.16361 5L0 0L8.32723 0Z" fill="#49454F"/>
        </svg>
      </span>
    </div>

    <div class="redirect-modal__actions">
      <button
        class="redirect-modal__confirm bodi-button bodi-button--primary bodi-button--large"
        type="button"
      >
        <span class="bodi-button__content">Confirm</span>
        <span class="bodi-button__spinner" aria-hidden="true">
          <svg
            width="20"
            height="20"
            viewBox="0 0 20 20"
            fill="none"
            xmlns="http://www.w3.org/2000/svg"
          >
            <circle cx="10" cy="10" r="8" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-dasharray="40 12" />
          </svg>
        </span>
      </button>
      <button
        class="redirect-modal__dismiss bodi-button bodi-button--secondary bodi-button--large"
        type="button"
      >
        <span class="bodi-button__content">No thanks</span>
      </button>
    </div>
  </div>
</div>

<script
  type="module"
>
  (async function () {
    const storeCountry = "US";
    const baseUrl = "https:\/\/www.bodi.com";
    const geoURL = `${baseUrl}/browsing_context_suggestions.json`;

    const modal = document.querySelector('.redirect-modal');
    if (!modal) return;

    const backdrop = modal.querySelector('.redirect-modal__backdrop');
    const confirmBtn = modal.querySelector('.redirect-modal__confirm');
    const dismissBtn = modal.querySelector('.redirect-modal__dismiss');
    const closeBtn = modal.querySelector('.redirect-modal__close');
    const select = modal.querySelector('.redirect-modal__select');

    function getRedirectPath() {
      let path = window.location.pathname;
      if (path.startsWith('/fr')) {
        const parts = path.split('/fr');
        path = parts[1] || '/';
      }
      if (!path.startsWith('/')) path = '/' + path;
      return path;
    }

    const COOKIE_NAME = 'bodi-redirect-modal-dismissed';
    const COOKIE_TTL_SECONDS = 5 * 60 * 60 * 24 * 30 * 12; // 1 year

    function setDismissedCookie() {
      window.BODi.setCookie(COOKIE_NAME, '1', { maxAge: COOKIE_TTL_SECONDS });
    }

    function hasDismissedCookie() {
      return window.BODi.getCookie(COOKIE_NAME) !== null;
    }

    function showModal() {
      modal.removeAttribute('hidden');
      modal.offsetHeight; // force reflow so transition plays from initial state
      modal.classList.add('is-open');
      document.body.style.overflow = 'hidden';
    }

    function closeModal() {
      setDismissedCookie();
      modal.classList.remove('is-open');
      document.body.style.overflow = '';
      modal.addEventListener('transitionend', function handler(e) {
        if (e.target !== modal) return;
        modal.setAttribute('hidden', '');
        modal.removeEventListener('transitionend', handler);
      });
    }

    function handleConfirm() {
      const selectedUrl = select.value;
      if (!selectedUrl || select.options[select.selectedIndex]?.dataset.placeholder !== undefined) return;
      setDismissedCookie();
      confirmBtn.classList.add('bodi-button--loading');
      window.location.href = selectedUrl + getRedirectPath() + '?localeChanged=true';
    }

    confirmBtn.addEventListener('click', handleConfirm);
    dismissBtn.addEventListener('click', closeModal);
    closeBtn.addEventListener('click', closeModal);
    backdrop.addEventListener('click', closeModal);
    modal.addEventListener('keydown', (e) => {
      if (e.key === 'Escape') closeModal();
    });

    try {
      const res = await fetch(geoURL);
      const data = await res.json();
      const debugCountry = new URLSearchParams(window.location.search).get('debugRedirectModalCountry');
      const detectedCountry = (debugCountry ?? data.detected_values?.country?.handle)?.toUpperCase();

      if (!detectedCountry || detectedCountry === storeCountry.toUpperCase()) return;

      if (hasDismissedCookie()) return;

      const matchingOption = Array.from(select.options).find(
        (opt) => opt.dataset.country === detectedCountry
      );
      if (matchingOption) {
        matchingOption.selected = true;
      } else {
        const placeholder = select.querySelector('[data-placeholder]');
        if (placeholder) placeholder.selected = true;
      }

      showModal();
    } catch (e) {
      console.error('Could not detect user country. Error:', e);
    }
  })();
</script>




    
      <quick-add-dialog id="quick-add-dialog">
  <dialog
    class="quick-add-modal dialog-modal color-scheme-1"
    ref="dialog"
    scroll-lock
  >
    <button
      ref="closeButton"
      on:click="/closeDialog"
      class="button button-unstyled close-button quick-add-modal__close"
      aria-label="Close dialog"
    ><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
  <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</button>
    <div
      id="quick-add-modal-content"
      class="quick-add-modal__content"
    ></div>
  </dialog>
</quick-add-dialog>



    

    
  


          <div
            class="rebuy-widget--global"
            data-rebuy-id="274649"
            data-rebuy-shopify-product-ids="">
          </div>
        
      



          <div
            class="rebuy-widget--global"
            data-rebuy-id="274810"
            data-rebuy-shopify-product-ids="">
          </div>
        
      











          <div
            class="rebuy-widget--global"
            data-rebuy-id="274653"
            data-rebuy-shopify-product-ids="">
          </div>
        
      









<script type="module" data-page-view-tracker="auto">
  import {
    trackViewCategoryPage,
    trackViewLandingPage,
    trackViewOtherPage,
    trackViewProductDetailPage,
    trackBloomreachViewItem
  } from '//www.bodi.com/cdn/shop/t/2/assets/analytics.util.js?v=48040476879955891151788968943';
  import { ThemeEvents } from '//www.bodi.com/cdn/shop/t/2/assets/events.js?v=144203031841125949931771353646';

  let currentProductId = null;

  function setupPdpVariantViewItemTracking(productData) {
    if (!productData) return;

    currentProductId = String(productData.id || "");

    if (productData.selected_variant) {
      trackBloomreachViewItem({
        product: productData,
        variant: productData.selected_variant,
      });
    }

    document.addEventListener(ThemeEvents.variantUpdate, (event) => {
      const detail = event?.detail;
      const variant = detail?.resource;
      const eventProductId = detail?.data?.newProduct?.id || detail?.data?.productId || null;

      if (!variant) return;

      if (eventProductId && currentProductId && String(eventProductId) !== String(currentProductId)) {
        return;
      }

      if (detail?.data?.newProduct?.id) {
        currentProductId = String(detail.data.newProduct.id);
        productData.id = detail.data.newProduct.id;
      }

      trackBloomreachViewItem({
        product: productData,
        variant,
      });
    });
  }

  /**
   * Track page view based on event type
   * Only runs if section-based tracker is not present (acts as fallback for auto snippet)
   */
  async function trackPageView() {
    const trackerId = "auto";
    const namespace = `[PageViewAnalytics:${trackerId}]`;

    // If this is auto snippet, check if section tracker exists (override behavior)
    if (trackerId === 'auto' && document.querySelector('[data-page-view-section-tracker]')) {
      console.info(`${namespace} - Section tracker detected, skipping auto-track`);
      return;
    }

    const eventType = "view landing page";

    try {
      switch (eventType) {
        case 'view category page':
          await trackViewCategoryPage();
          break;

        case 'view landing page':
          await trackViewLandingPage();
          break;

        case 'view other page':
          await trackViewOtherPage();
          break;

        case 'view product detail page': {
          const productDataElement = document.querySelector(`[data-page-view-product="${trackerId}"]`);
          
          if (productDataElement) {
            try {
              const productData = JSON.parse(productDataElement.textContent);
              await trackViewProductDetailPage(productData);
              setupPdpVariantViewItemTracking(productData);
            } catch (error) {
              console.error(`${namespace} - Failed to parse product data`, error);
            }
          } else {
            console.warn(`${namespace} - Product data not found for PDP event`);
          }
          break;
        }

        default:
          console.warn(`${namespace} - Unknown event type: ${eventType}`);
      }
    } catch (error) {
      console.error(`${namespace} - Failed to track page view`, { error });
    }
  }

  // Fire event when page loads
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', trackPageView);
  } else {
    trackPageView();
  }
</script>
    <script>
  (() => {
    // Guard against duplicate script injection across section reloads.
    if (window.__conditionalQueryEvaluatorInitialized) return;
    window.__conditionalQueryEvaluatorInitialized = true;

    const evaluateElement = (element) => {
      if (!(element instanceof HTMLElement)) return;

      const rawValue = element.dataset.queryParamString || '';
      const queryParamString = decodeURIComponent(rawValue);
      const queryMatchType = element.dataset.queryMatchType || 'contains';
      if (!queryParamString) return;

      const params = new URLSearchParams(window.location.search);
      const searchString = params.toString().toLowerCase();
      const expectedParam = queryParamString.toLowerCase();

      let shouldShow = false;
      if (queryMatchType === 'contains') {
        shouldShow = searchString.includes(expectedParam);
      } else if (queryMatchType === 'does-not-contain') {
        shouldShow = !searchString.includes(expectedParam);
      } else if (queryMatchType === 'regex') {
        try {
          shouldShow = new RegExp(queryParamString, 'i').test(params.toString());
        } catch {
          shouldShow = false;
        }
      }

      if (shouldShow) {
        const sectionId = element.dataset.sectionId;
        if (sectionId) {
          // Section triggers reveal the whole section wrapper by id.
          const targetSection = document.getElementById(`shopify-section-${sectionId}`);
          if (targetSection) {
            targetSection.style.display = 'block';
          }
        } else {
          // Non-section targets can be revealed directly.
          element.style.display = '';
        }
      }
    };

    // Run on initial load and Shopify section hot-reloads.
    const run = () => {
      const elements = document.querySelectorAll('[data-conditional-query="true"]');
      for (const element of elements) {
        evaluateElement(element);
      }
    };

    document.addEventListener('DOMContentLoaded', run);
    document.addEventListener('shopify:section:load', run);
    run();
  })();
</script>


    <script>
  window.Shopify.loadFeatures(
    [
      {
        name: 'consent-tracking-api',
        version: '0.1',
      },
    ],
    function (error) {
      if (!error) {
        try {
          window.Osano.cm.ready('shopify');
        } catch (error) {
          console.error('Osano must be loaded before initializing the Shopify API.');
        }
      }
    }
  );
</script>


        
  <style> .password-main-content {padding-top: 0px;} </style>
<div id="shopify-block-AbWVYSnVnNHNXVDQvd__8043271908280424605" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: sezerium-bulk-data --><!-- END app snippet -->

<script type="text/javascript" id="sezerium-products">
    console.log('%c Stamp - Variant Collections is active!', 'background-color: green; color: white; padding: 5px; border-radius: 3px;');
        
        
        
        const totalPage= 0;const featuredCollections = [{"order":"0","collection":{"id":"gid:\/\/shopify\/Collection\/447976702169","title":"Supplements","handle":"supplements"}},{"order":"1","collection":{"id":"gid:\/\/shopify\/Collection\/447977029849","title":"Shakeology","handle":"shakeology"}},{"order":"3","collection":{"id":"gid:\/\/shopify\/Collection\/449019707609","title":"P90x Supplement System","handle":"p90x-supplements"}}]

        document.addEventListener('DOMContentLoaded', () => {
            if (!window.sezeriumVariantProduct) return;
            const selectors = SezeriumAppSettings.selectors.product.split(',');
            const parentElements = [];

            selectors.forEach(selector => {
                const elements = document.querySelectorAll(selector.trim());
                elements.forEach(el => {
                    if (el.closest('.sezerium-section')) return;
                    if (el.parentElement && !parentElements.includes(el.parentElement)) {
                        parentElements.push(el.parentElement);
                    }
                });
            });

            if (parentElements.length === 0) return;

            featuredCollections.forEach(({ order, collection }) => {
                if (collection?.handle && parentElements[order]) {
                    parentElements[order].setAttribute('data-sez-surface', 'featured');
                    const sezCid = parseInt(String(collection.id || '').replace(/\D/g, ''), 10);
                    if (sezCid > 0) parentElements[order].setAttribute('data-sez-cid', String(sezCid));
                    const legacySettings = Object.assign({}, SezeriumAppSettings, {
                        settings: Object.assign({}, SezeriumAppSettings.settings, {
                            general: Object.assign({}, SezeriumAppSettings.settings?.general, {
                                useVariantApi: false
                            })
                        }),
                        swatchScope: {id: collection.id || '', handle: collection.handle || ''}
                    });
                    new window.sezeriumVariantProduct([], collection.handle, parentElements[order], 0, legacySettings);
                }
            });
        });

    
    
const SezeriumCollection = {
        id: '0',
        handle: 'index',
        template: 'index',
        sortBy: 'featured',
        page: totalPage,
        featured: true,
        search: false,
        renderLimit: 99,
        productsCount: 0,
        activeFilters: [],
        activeFiltersUrl: "?",
        products: []
    };</script><script type="text/javascript">
    let SezeriumButtonTemplates = {
        addToCartButton: false,
        chooseButton: false,
    };
    const SezeriumAdvanced = true;
    const SezeriumPausedPlan = false;
    const SezeriumPreview = SezeriumPausedPlan && !!(window.Shopify && (window.Shopify.designMode || window.Shopify.previewMode));let SezeriumAppSettings = {moneyFormat: '${{amount}}',settings: {"user":{"hash":"2c758933af02c0b301906f2819ae1268"},"theme":{"id":"157605626073","lock":false,"name":"commerce-shopify-theme/main","disable":false,"password":"activebunny","theme_store_id":"157605626073"},"general":{"all":true,"scroll":{"auto":false,"text":"Show More..","toTop":false,"active":false},"search":false,"apiBase":"/apps/custom-collection","featured":true,"analytics":true,"metafield":"custom.badge","imageRatio":null,"metafield2":null,"metafield3":null,"metafield4":null,"metafield5":null,"mixEnabled":false,"useVariantApi":false,"buttonSettings":{"mode":"button","active":false,"bgColor":"#FFFFFF","textColor":"#000000"},"hideOutOfStock":false,"productOptions":["1.option"],"hideUnavailable":false,"variantsPerPage":null,"hideWithoutImages":false,"useCustomTemplate":false,"useDefaultTemplate":false,"featuredCollections":[{"order":"0","collection":{"id":"gid://shopify/Collection/447976702169","title":"Supplements","handle":"supplements"}},{"order":"1","collection":{"id":"gid://shopify/Collection/447977029849","title":"Shakeology","handle":"shakeology"}},{"order":"3","collection":{"id":"gid://shopify/Collection/449019707609","title":"P90x Supplement System","handle":"p90x-supplements"}}],"featuredVariantLimit":"8"},"translation":{"badge":{"sale":"Sale","soldOut":"Sold Out"},"button":{"soldOut":"Sold Out","addToCart":"Add To Cart","scrollTop":"Scroll to top","chooseOptions":"Choose Options"}},"variantsList":{"format":"{product.title} - {variant.title}","collection":{"all":false,"list":[{"id":"gid://shopify/Collection/447977029849","title":"Shakeology","handle":"shakeology"},{"id":"gid://shopify/Collection/449019707609","title":"P90x Supplement System","handle":"p90x-supplement-system"},{"id":"gid://shopify/Collection/447976702169","title":"Supplements","handle":"supplements"},{"id":"gid://shopify/Collection/454624575705","title":"Shakes & Nutrition","handle":"nutrition-shakes-superfoods"},{"id":"gid://shopify/Collection/457252995289","title":"Shop all","handle":"all"}]},"priceFormat":"{MIN_PRICE} - {MAX_PRICE}"}},
        hasThemeTemplate: true,
        productTemplate: "",
        swatches: [],
        collectionSettings: { "cs_445415162073":{"format":"{product.title} - {variant.title}","mixVariant":false,"priceFormat":"{PRICE}","hideOutOfStock":false,"productOptions":[],"hideUnavailable":false,"hideWithoutImages":false},"cs_445415194841":{"format":"{product.title} - {variant.title}","mixVariant":false,"priceFormat":"{PRICE}","hideOutOfStock":false,"productOptions":[],"hideUnavailable":false,"hideWithoutImages":false},"cs_447976702169":{"format":"{product.title} <br> {variant.title}","sortBy":"manual","sortMap":{"47683208184025":{"handle":"3-day-refresh-cleanse"},"47683208216793":{"handle":"3-day-refresh-cleanse"},"47683208347865":{"handle":"beachbar"},"47683208380633":{"handle":"collagen-peptides"},"47683208446169":{"handle":"digestive-health-fiber"},"47683208642777":{"handle":"energize-pre-workout"},"47683208708313":{"handle":"energize-pre-workout"},"47683208773849":{"handle":"energize-pre-workout"},"47683208839385":{"handle":"energize-pre-workout"},"47683209527513":{"handle":"hormone-health-supplements"},"47683209691353":{"handle":"hydrate-electrolyte-powder"},"47683209756889":{"handle":"last-thing-sleep-aid"},"47683209822425":{"handle":"optimize-revitalize-probiotics-enzymes"},"47683210051801":{"handle":"power-greens-veggies"},"47683210379481":{"handle":"recover-post-workout-protein-powder"},"47683210412249":{"handle":"recover-post-workout-protein-powder"},"47683210477785":{"handle":"recover-post-workout-protein-powder"},"47683210641625":{"handle":"shakeology"},"47683210674393":{"handle":"shakeology"},"47683210871001":{"handle":"shakeology"},"47683216081113":{"handle":"shakeology-0g-added-sugar"},"47683216113881":{"handle":"shakeology-0g-added-sugar"},"47683216146649":{"handle":"shakeology-0g-added-sugar"},"47683216179417":{"handle":"shakeology-0g-added-sugar"},"47683216277721":{"handle":"shakeology-0g-added-sugar"},"47683216310489":{"handle":"shakeology-0g-added-sugar"},"47683216507097":{"handle":"shakeology-sampler"},"47683217391833":{"handle":"ultimate-reset-cleanse"},"48369731698905":{"handle":"p90x-hydration-electrolytes-drink-powder"},"48369731731673":{"handle":"p90x-hydration-electrolytes-drink-powder"},"48369731764441":{"handle":"p90x-hydration-electrolytes-drink-powder"},"48369731797209":{"handle":"p90x-energy-drink-powder"},"48369731829977":{"handle":"p90x-energy-drink-powder"},"48369731862745":{"handle":"p90x-energy-drink-powder"},"48369731895513":{"handle":"p90x-creatine-monohydrate-powder"},"48369731928281":{"handle":"p90x-creatine-monohydrate-powder"},"48369731961049":{"handle":"p90x-pre-workout-powder"},"48369731993817":{"handle":"p90x-pre-workout-powder"},"48369732026585":{"handle":"p90x-pre-workout-powder"},"48369732059353":{"handle":"p90x-whey-protein-powder"},"48369732092121":{"handle":"p90x-whey-protein-powder"},"48369732124889":{"handle":"p90x-whey-protein-powder"},"48854346301657":{"handle":"shakeology-tm"},"48854346367193":{"handle":"shakeology-tm"},"48854346399961":{"handle":"shakeology-tm"},"48854346465497":{"handle":"shakeology-tm"},"49025673363673":{"handle":"shakeology-0g-added-sugar-7-serve"},"49025673396441":{"handle":"shakeology-0g-added-sugar-7-serve"},"49025673429209":{"handle":"shakeology-0g-added-sugar-7-serve"},"49025673461977":{"handle":"shakeology-0g-added-sugar-7-serve"},"49046560571609":{"handle":"shakeology-0g-added-sugar"}},"sortList":["47683216081113","47683208642777","47683209527513","48369731895513","47683210379481","47683216113881","47683208380633","47683208708313","47683210805465","47683210871001","47683209691353","47683216146649","49046560571609","48369731698905","47683216244953","47683208839385","47683216310489","47683210543321","47683210477785","48369731961049","47683216507097","47683210412249","47683210576089","47683210674393","47683210051801","47683216179417","47683208184025","48369731764441","47683210641625","47683208773849","48369731928281","47683208446169","47683208216793","48369732124889","48369731797209","48369732026585","47683217391833","47683209822425","48369731993817","48369731829977","48369731862745","48369731731673","48369732059353","48369732092121","47683216277721","47683209756889","47683208347865","47683208315097","48854346399961","48854346367193","48854346301657","49025673363673","49025673396441","49025673429209","49025673461977","48854346465497"],"mixVariant":false,"filterMatch":"all","priceFormat":"{MIN_PRICE} - {MAX_PRICE}","hideOutOfStock":false,"productOptions":["flavor","key ingredient"],"hideUnavailable":false,"hideWithoutImages":false},"cs_447976931545":{"format":"{product.title} - {variant.title}","mixVariant":false,"priceFormat":"{PRICE}","hideOutOfStock":false,"productOptions":[],"hideUnavailable":false,"hideWithoutImages":false},"cs_447976964313":{"format":"{product.title} - {variant.title}","sortBy":"manual","sortList":["47683212214489","47683211952345","47683211886809","47683211428057","47683211919577","47683212181721","47683211821273","47683211329753","47683211493593","47683211755737","47683212312793","47683211002073","47683212247257","47683212083417","47683211722969","47683211165913","47683211133145","47683212050649","47683212378329"],"mixVariant":false,"priceFormat":"{PRICE}","hideOutOfStock":false,"productOptions":[],"hideUnavailable":false,"hideWithoutImages":false},"cs_447976997081":{"format":"{product.title} - {variant.title}","sortBy":"manual","sortList":["48773657395417","48040100495577","48040136147161","47683212935385","47683214868697","47683212869849","47683214967001","47683215098073","47683213230297","47683213689049","47683214508249","48040136114393","47683215032537","47683214606553","47683213426905","48040136048857","48040136081625","47683215065305","47683213557977","47683213590745","47683214213337","47683215786201","47683214246105","47683213164761","47683213131993","47683213197529","47683214311641","47683215655129","47683213000921","47683215753433","47683214737625","47683215884505","47683213656281","47683215458521","47683213328601","47683214377177"],"mixVariant":false,"priceFormat":"{PRICE}","hideOutOfStock":false,"productOptions":[],"hideUnavailable":false,"hideWithoutImages":false},"cs_447977029849":{"format":"{product.title}<br>{variant.option1}/{variant.option2}<br>{variant.option3}","sortBy":"manual","sortMap":{"47683208184025":{"handle":"3-day-refresh-cleanse"},"47683208216793":{"handle":"3-day-refresh-cleanse"},"47683210543321":{"handle":"shakeology"},"47683210576089":{"handle":"shakeology"},"47683210641625":{"handle":"shakeology"},"47683210674393":{"handle":"shakeology"},"47683210805465":{"handle":"shakeology"},"47683210871001":{"handle":"shakeology"},"47683215982809":{"handle":"shakeology-0g-added-sugar"},"47683216015577":{"handle":"shakeology-0g-added-sugar"},"47683216048345":{"handle":"shakeology-0g-added-sugar"},"47683216081113":{"handle":"shakeology-0g-added-sugar"},"47683216113881":{"handle":"shakeology-0g-added-sugar"},"47683216146649":{"handle":"shakeology-0g-added-sugar"},"47683216179417":{"handle":"shakeology-0g-added-sugar"},"47683216212185":{"handle":"shakeology-0g-added-sugar"},"47683216244953":{"handle":"shakeology-0g-added-sugar"},"47683216277721":{"handle":"shakeology-0g-added-sugar"},"47683216310489":{"handle":"shakeology-0g-added-sugar"},"47683216343257":{"handle":"shakeology-0g-added-sugar"},"47683216507097":{"handle":"shakeology-sampler"},"47683217162457":{"handle":"shakeology-shaker-cup"},"49046560571609":{"handle":"shakeology-0g-added-sugar"},"49046566207705":{"handle":"shakeology-0g-added-sugar"}},"sortList":["47683215982809","47683216081113","47683216146649","47683216113881","49046560571609","47683210871001","47683210641625","47683216244953","47683216310489","47683216507097","47683210674393","47683216179417","47683208184025","47683216015577","47683216277721","49046566207705","47683216343257","47683210576089","47683210805465","47683216212185","47683208216793","47683216048345","47683210543321","47683217162457","47683217260761","48854346301657","48854346334425","48854346367193","48854346399961","48854346432729","48854346465497","48854346498265","48854348988633","49025673363673","49025673396441","49025673429209","49025673461977"],"mixVariant":false,"filterMatch":"all","priceFormat":"{MIN_PRICE} - {MAX_PRICE}","hideOutOfStock":false,"productOptions":["flavor","packaging","key ingredient"],"hideUnavailable":false,"hideWithoutImages":false},"cs_447977062617":{"format":"{product.title} - {variant.title}","mixVariant":false,"priceFormat":"{PRICE}","hideOutOfStock":false,"productOptions":[],"hideUnavailable":false,"hideWithoutImages":false},"cs_447977095385":{"format":"{product.title} - {variant.title}","mixVariant":false,"priceFormat":"{PRICE}","hideOutOfStock":false,"productOptions":[],"hideUnavailable":false,"hideWithoutImages":false},"cs_447977128153":{"format":"{product.title} - {variant.title}","mixVariant":false,"priceFormat":"{PRICE}","hideOutOfStock":false,"productOptions":[],"hideUnavailable":false,"hideWithoutImages":false},"cs_449019707609":{"format":"{product.title} <br>{variant.option1}","sortBy":"manual","sortList":["48369731895513","48369731961049","48369731928281","48369732124889","48369731698905","48369731797209","48369732026585","48369731829977","48369731993817","48369731764441","48369731862745","48369731731673","48369732059353","48369732092121"],"mixVariant":false,"filterMatch":"all","priceFormat":"{MIN_PRICE} - {MAX_PRICE}","hideOutOfStock":false,"productOptions":["1.option"],"hideUnavailable":false,"hideWithoutImages":false},"cs_454624575705":{"format":"{product.title}<br>{variant.title}","sortBy":"manual","sortList":["47683215982809","47683216015577","47683216212185","47683216081113","47683216277721","47683216343257","47683216113881","47683208347865","47683210051801","47683210543321","47683216244953","47683216572633","47683210576089","47683216179417","47683208315097","47683216507097","47683216310489"],"mixVariant":false,"filterMatch":"all","priceFormat":"{MIN_PRICE} - {MAX_PRICE}","hideOutOfStock":false,"productOptions":["flavor"],"hideUnavailable":false,"hideWithoutImages":false},"cs_457252995289":{"format":"{product.title} <br> {variant.title}","sortBy":"manual","sortMap":{"47683208118489":{"handle":"p90x-pre-workout-powder"},"47683208184025":{"handle":"3-day-refresh-cleanse"},"47683208216793":{"handle":"3-day-refresh-cleanse"},"47683208347865":{"handle":"beachbar"},"47683208380633":{"handle":"collagen-peptides"},"47683208446169":{"handle":"digestive-health-fiber"},"47683208642777":{"handle":"energize-pre-workout"},"47683208675545":{"handle":"p90x-whey-protein-powder"},"47683208708313":{"handle":"energize-pre-workout"},"47683208741081":{"handle":"p90x-creatine-monohydrate-powder"},"47683208773849":{"handle":"energize-pre-workout"},"47683208806617":{"handle":"p90x-pre-workout-powder"},"47683208839385":{"handle":"energize-pre-workout"},"47683208872153":{"handle":"p90x-pre-workout-powder"},"47683209101529":{"handle":"p90x-whey-protein-powder"},"47683209527513":{"handle":"hormone-health-supplements"},"47683209560281":{"handle":"shakeology-0g-added-sugar"},"47683209593049":{"handle":"p90x-creatine-monohydrate-powder"},"47683209691353":{"handle":"hydrate-electrolyte-powder"},"47683209756889":{"handle":"last-thing-sleep-aid"},"47683209822425":{"handle":"optimize-revitalize-probiotics-enzymes"},"47683209855193":{"handle":"optimize-revitalize-probiotics-enzymes"},"47683209887961":{"handle":"p90x-whey-protein-powder"},"47683209953497":{"handle":"last-thing-sleep-aid"},"47683209986265":{"handle":"p90x-whey-protein-powder"},"47683210051801":{"handle":"power-greens-veggies"},"47683210379481":{"handle":"recover-post-workout-protein-powder"},"47683210412249":{"handle":"recover-post-workout-protein-powder"},"47683210477785":{"handle":"recover-post-workout-protein-powder"},"47683210543321":{"handle":"shakeology"},"47683210576089":{"handle":"p90x-energy-drink-powder"},"47683210641625":{"handle":"shakeology"},"47683210674393":{"handle":"shakeology"},"47683210871001":{"handle":"shakeology"},"47683211002073":{"handle":"p90x-whey-protein-powder"},"47683211034841":{"handle":"p90x-whey-protein-powder"},"47683211067609":{"handle":"p90x-whey-protein-powder"},"47683211329753":{"handle":"p90x-hydration-electrolytes-drink-powder"},"47683211952345":{"handle":"p90x-whey-protein-powder"},"47683211985113":{"handle":"p90x-whey-protein-powder"},"47683212050649":{"handle":"p90x-creatine-monohydrate-powder"},"47683212083417":{"handle":"p90x-hydration-electrolytes-drink-powder"},"47683212116185":{"handle":"p90x-hydration-electrolytes-drink-powder"},"47683213361369":{"handle":"shakeology"},"47683213492441":{"handle":"digestive-health-fiber"},"47683215589593":{"handle":"recover-post-workout-protein-powder"},"47683216015577":{"handle":"p90x-creatine-monohydrate-powder"},"47683216048345":{"handle":"shakeology-0g-added-sugar"},"47683216081113":{"handle":"shakeology-0g-added-sugar"},"47683216113881":{"handle":"shakeology-0g-added-sugar"},"47683216179417":{"handle":"shakeology-0g-added-sugar"},"47683216212185":{"handle":"p90x-creatine-monohydrate-powder"},"47683216244953":{"handle":"shakeology-0g-added-sugar"},"47683216277721":{"handle":"p90x-whey-protein-powder"},"47683216310489":{"handle":"shakeology-0g-added-sugar"},"47683216343257":{"handle":"p90x-whey-protein-powder"},"47683216507097":{"handle":"shakeology-sampler"},"47683217391833":{"handle":"ultimate-reset-cleanse"},"47683217817817":{"handle":"p90x-whey-protein-powder"},"47683217850585":{"handle":"p90x-pre-workout-powder"},"47683217916121":{"handle":"shakeology-0g-added-sugar"},"47683218669785":{"handle":"power-greens-veggies"},"47683218735321":{"handle":"last-thing-sleep-aid"},"47683218800857":{"handle":"power-greens-veggies"},"47683218866393":{"handle":"hydrate-electrolyte-powder"},"47683219423449":{"handle":"power-greens-veggies"},"47683219685593":{"handle":"hydrate-electrolyte-powder"},"47683219718361":{"handle":"optimize-revitalize-probiotics-enzymes"},"47683219751129":{"handle":"hydrate-electrolyte-powder"},"47683273326809":{"handle":"hydrate-electrolyte-powder"},"47683275030745":{"handle":"last-thing-sleep-aid"},"47683275096281":{"handle":"hydrate-electrolyte-powder"},"47683275129049":{"handle":"digestive-health-fiber"},"47683275227353":{"handle":"power-greens-veggies"},"47683275325657":{"handle":"collagen-peptides"},"47683275358425":{"handle":"collagen-peptides"},"47683275456729":{"handle":"hydrate-electrolyte-powder"},"47683277750489":{"handle":"power-greens-veggies"},"47683277947097":{"handle":"digestive-health-fiber"},"47683335192793":{"handle":"power-greens-veggies"},"47683336306905":{"handle":"p90x-pre-workout-powder"},"47683336503513":{"handle":"power-greens-veggies"},"47683336831193":{"handle":"power-greens-veggies"},"47683337519321":{"handle":"power-greens-veggies"},"47683338502361":{"handle":"hydrate-electrolyte-powder"},"48040135983321":{"handle":"p90x-whey-protein-powder"},"48369731698905":{"handle":"p90x-hydration-electrolytes-drink-powder"},"48369731731673":{"handle":"p90x-hydration-electrolytes-drink-powder"},"48369731764441":{"handle":"p90x-hydration-electrolytes-drink-powder"},"48369731797209":{"handle":"p90x-energy-drink-powder"},"48369731829977":{"handle":"p90x-energy-drink-powder"},"48369731862745":{"handle":"p90x-energy-drink-powder"},"48369731895513":{"handle":"p90x-creatine-monohydrate-powder"},"48369731928281":{"handle":"p90x-creatine-monohydrate-powder"},"48369731961049":{"handle":"p90x-pre-workout-powder"},"48369731993817":{"handle":"p90x-pre-workout-powder"},"48369732026585":{"handle":"p90x-pre-workout-powder"},"48369732059353":{"handle":"p90x-whey-protein-powder"},"48369732092121":{"handle":"p90x-whey-protein-powder"},"48369732124889":{"handle":"p90x-whey-protein-powder"},"48854346334425":{"handle":"shakeology-0g-added-sugar"},"49046560571609":{"handle":"shakeology-0g-added-sugar"},"49046566207705":{"handle":"p90x-whey-protein-powder"},"49056426754265":{"handle":"digestive-health-fiber"}},"sortList":["47683216081113","47683208642777","47683209527513","47683209855193","48369731895513","47683210379481","47683216113881","47683208380633","47683208708313","47683210871001","47683209691353","49046560571609","47683210543321","47683209986265","48854346334425","47683275096281","47683211329753","47683337519321","49056426754265","47683212050649","47683209953497","49046566207705","47683275325657","47683209101529","47683212083417","47683212116185","47683211067609","47683213492441","47683336831193","47683209887961","47683211034841","47683211002073","47683275227353","48369731698905","47683275129049","47683273326809","47683208118489","47683219423449","47683219751129","47683209560281","47683335192793","47683218866393","47683275456729","47683216244953","47683275030745","47683338502361","47683275358425","47683277750489","47683211985113","47683208839385","47683216310489","47683208872153","47683219718361","47683209593049","47683210477785","47683216212185","47683336503513","47683208806617","47683211952345","47683336306905","47683218800857","47683216343257","47683216015577","47683219685593","48369731961049","47683216277721","47683210576089","47683216507097","47683210412249","47683210674393","47683218735321","47683210051801","47683216179417","47683208741081","48040135983321","47683208184025","48369731764441","47683208675545","47683277947097","47683210641625","47683218669785","47683208773849","47683213361369","47683215589593","48369731928281","47683217850585","47683217817817","47683217916121","47683208446169","47683208216793","48369732124889","48369731797209","48369732026585","47683217391833","47683209822425","48369731993817","48369731829977","48369731862745","48369731731673","47683216048345","48369732059353","48369732092121","47683209756889","47683208347865"],"mixVariant":false,"filterMatch":"all","priceFormat":"{MIN_PRICE} - {MAX_PRICE}","hideOutOfStock":false,"productOptions":["flavor","key ingredient"],"hideUnavailable":false,"hideWithoutImages":false} },
        "selectors": {
            "collection": "",
            "product": "main slideshow-component[ref='resourceListCarousel'] > slideshow-container > slideshow-slides > slideshow-slide, main .resource-list--grid .resource-list__item",
            "title": "a[ref='productTitleLink'] p, .product-card__title, div[class*=product_title] p, .sezerium-section__product-title",
            "image": ".product-media img, .product-card__image img, .card-gallery img, .sezerium-section__image",
            "imgTag": "img, .product__media, .product-block__image .rimage-background, .inner .rimage-background, .grid-view-item__image, .gitem-img, .pr_lazy_img, .cs_bg_lz, .grid_img, .collection__image__top, .double__image > [data-bgset], .product-item-hover",
            "firstImage": "is-active|media-default|main-image|image-primary|product-card-featured-image|main-media|first-image|image-first-hover|product-primary-image",
            "button": "::ignore,.quick-add",
            "price": ".price, .product-card__price, product-price > div[ref='priceContainer'] > .price, .sezerium-section__price--sale, .sezerium-section__price--regular",
            "salePrice": ".compare-at-price, .product-card__compare-price, .sezerium-section__price--compare",
            "unitPrice": "",
            "saveBadge": ".sezerium-section__badge--sale,.product-badges .product-badges__badge,.card__badge span.badge,.product-card__label--sale,.product-label--sale,.price-label--sale,.badge--on-sale,.grid-product__tag--sale,.grid-product__price--savings,.product__badge--sale,.product__badge__item--saving,.label--highlight,.price-item--sale__save-tag,.color-promo-tag,.price__badge--sale,.sale-item,.grid-product__on-sale,.sale-box,.product-label.sale,.marquee-tags .badge,.product-label--on-sale,.product-thumbnail__product-sticker--sale,.product--label,.product-badge__sale,.sale-badge,.productitem__badge--sale,.product-badge--sale,.displayed-discount,.sale_banner,.t4s-badge-sale,.product-item__badge--sale,.tag--sale,.bg-scheme-accent,.product-sale-amount-badge",
            "swatchSeparate": "product-swatches .variant-option__swatch,.color-swatch,.swatches li,.swatch .item,.swatch-view li,.ProductItem__ColorSwatchItem,.card-product__swatch,.tt-options-swatch li,.option-color-list li,.product-options__value,.m-product-option--node,.gridSwatches > li",
            "swatchGroupped": "product-swatches,.product-card__info fieldset,.card-information fieldset,.x-variants-data fieldset,swatch-div .card__swatches,.card__info .card__swatches",
            "scroll": "nav.pagination,div.pagination-wrapper,.pagination-border-top,#collection-pagination,.gf_collection-paginator-wrapper,.pagination-page,.boost-pfs-filter-bottom-pagination,.toolbar-bottom,.pagination,.pagination-custom,.Pagination,.justify-content-center,.collection-pagination,.box__paginate,.paginate,.pagination--container,#pagination,.collection--pagination,div.pagination__list,nav.pagination__nav,ul.t4s-pagination__list,nav.hdt-pagination,div.main-collection--pagination,#Huratips-Pagination,.m-pagination,.ecom-pagination-navigation",
            "badges": {selector: {"wrapSelector": ".product-badges__badge", "containerSelector": ".product-badges"},soldOut: {"content": {"html": "{{text}}", "text": "Sold Out"}, "classNames": ".product-badges__badge.product-badges__badge--rectangle.color-scheme-3"},sale: {"content": {"html": "{{text}}", "text": "Sale"}, "classNames": ".product-badges__badge.product-badges__badge--rectangle.color-scheme-1"}
},
            "imageSliderArr": [
                {ifEl:'product-grid-item-image',copyEl:'product-grid-item-image',copyUpdate:e=>(e.classList.remove('is-active'),e.removeAttribute('data-grid-current-image'),e),originUpdate:e=>e},
                {ifEl:'.product-item__image-wrapper--multiple',copyEl:'img',copyUpdate:e=>(e.setAttribute('hidden','hidden'),e),originUpdate:e=>(e.removeAttribute('data-media-id'),e)},
                {ifEl:'.card__main-image',copyEl:'img',copyUpdate:e=>(e.setAttribute('hidden','hidden'),e),originUpdate:e=>(e.removeAttribute('data-media-id'),e)}
            ]
        }
    };
</script>

<script type="text/javascript">
    try {
        const anyAsset = document.querySelector('link[rel="stylesheet"][href*="/assets/"]')?.href;
const v = anyAsset ? new URL(anyAsset).searchParams.get('v') : '1';
const cssHref = anyAsset && new URL('overflow-list.css', anyAsset).href + `?v=${v}`;

if (SezeriumAppSettings.settings.translation.button.addToCart === 'Add To Cart') {
    SezeriumAppSettings.settings.translation.button.addToCart = 'Add';
}

document.addEventListener('sezerium:variant:initialize', (e) => {
    const { el, variant, product } = e.detail;
    el.id = `product-card-${variant.id}`;
    el.dataset.productId = variant.id;
    const overflowList =  el.querySelector('swatches-variant-picker-component overflow-list');

    const comp = el.querySelector('slideshow-component');
    el.addEventListener('mouseleave', () => {
        el.querySelector('slideshow-component')?.select(0, undefined, { animate: false });
    });
    if (overflowList) {
        const template = document.createElement('template');
        template.setAttribute('shadowrootmode', 'open');

        template.innerHTML = `
        <link rel="stylesheet" type="text/css" href="${cssHref}" media="all">
        <ul part="list">
        <slot></slot>
        <slot
            name="more"
            part="more"
            hidden
        >
            <li
            part="more"
            >
            <button
                class="button"
                type="button"
                tabindex="0"
            >
                m
            </button>
            </li>
        </slot>
        <li
            part="placeholder"
            hidden
        ></li>
        </ul>

        <div part="overflow">
        <ul part="overflow-list">
            <slot name="overflow"></slot>
        </ul>
        </div>
        `;
        overflowList.prepend(template);
    }

    let mainVariantSlide;
    let hoverSlide;
    const variantPicker =  el.querySelector('swatches-variant-picker-component');

    if (!variantPicker && !overflowList && comp?.disabled === true) {
        Array.from(el.querySelectorAll('slideshow-slide')).slice(2).forEach(slide => slide.remove());
        Array.from(el.querySelectorAll('slideshow-slide')).forEach(slide => slide.removeAttribute('hidden'));
        const comp = el.querySelector('slideshow-component');
        if (comp) {
            comp.style.setProperty('--slideshow-timeline', '--slide-1, --slide-2');
            comp.setAttribute('data-generic-media-size', '2');
        }
    } else {  
        mainVariantSlide = Array.from(el.querySelectorAll('slideshow-slide[variant-image]')).find(slide => {
            const img = slide.querySelector('img');
            return img && img.src.includes(variant.image);
        });

        if (mainVariantSlide) {
            const productCard = el.querySelector('product-card');
            
            productCard.dataset.initialMediaId = mainVariantSlide.getAttribute('slide-id');

            const hoverImageSrc = window.SezeriumImageHandler.getHoverImage(variant.image, product.images);
            
            // Get the next sibling element
            hoverSlide = mainVariantSlide.nextElementSibling;
            let hoverSlideImg = hoverSlide?.querySelector('img');
            
            // Check if next slide exists and has the hover image
            const hasHoverSlide = hoverSlideImg && hoverSlideImg.src.includes(hoverImageSrc);
            
            mainVariantSlide.removeAttribute('hidden');
            mainVariantSlide.setAttribute('reveal', '')
            
            if (!hasHoverSlide && hoverImageSrc) {
                // Clone the main variant slide
                hoverSlide = mainVariantSlide.cloneNode(true);
                hoverSlideImg = hoverSlide.querySelector('img');
                
                // Insert it after the main variant slide
                if (mainVariantSlide.nextSibling) {
                    mainVariantSlide.parentNode.insertBefore(hoverSlide, mainVariantSlide.nextSibling);
                } else {
                    mainVariantSlide.parentNode.appendChild(hoverSlide);
                }
                
                // Update the hover slide with new image source
                window.SezeriumImageHandler.updateImageSource(hoverSlideImg, window.SezeriumImageHandler.getImagePath(hoverSlideImg), hoverImageSrc);

                hoverSlide.removeAttribute('variant-image');
                // Update slide-id with variant.id
                hoverSlide.setAttribute('slide-id', variant.id);
                hoverSlide.removeAttribute('hidden');
                hoverSlide.setAttribute('reveal', '')
            }
        }        
    }

    if ((variantPicker || overflowList || comp?.disabled === false) && mainVariantSlide) {
        el.querySelector('.sezerium-image')?.classList.remove('sezerium-image');
        el.querySelector('.sezerium-hover-image')?.classList.remove('sezerium-hover-image');

        mainVariantSlide.querySelector('img').classList.add('sezerium-image');
        hoverSlide?.querySelector('img').classList.add('sezerium-hover-image');

        e.detail.product.tmpImages = product.images;
        e.detail.variant.tmpImage = variant.image;
        e.detail.product.images = [];
        e.detail.variant.image = '';
    }
    if (mainVariantSlide && comp) {
        const cont = mainVariantSlide.parentNode;
        if (cont) {
            if (hoverSlide && hoverSlide.parentNode === cont) cont.prepend(hoverSlide);
            cont.prepend(mainVariantSlide);
            const slides = Array.from(cont.querySelectorAll('slideshow-slide'));
            comp.style.setProperty('--slideshow-timeline', slides.map((_, i) => `--slide-${i}`).join(', '));
            slides.forEach((s, i) => s.style.setProperty('--slideshow-timeline', `--slide-${i}`));
            comp.setAttribute('initial-slide', '0');
            comp.setAttribute('data-generic-media-size', String(slides.length));
            try { comp.connectedCallback(); } catch (err) {}
        }
    }
});
document.addEventListener('sezerium:image:update', (event) => {
  const { el, variant } = event.detail;

    el.querySelectorAll('slideshow-slide[hidden]').forEach(s => { s.removeAttribute('hidden'); s.setAttribute('reveal', ''); });

    const sliderComp = el.querySelector('slideshow-component');
    if (!sliderComp) return;

    const img = el.querySelector('.sezerium-image');
    if (!img) return;

    const productLink = el.querySelector('product-card-link');
    if (productLink) {
      productLink.setAttribute('data-product-id', variant.id);
      productLink.setAttribute('data-featured-media-url', img.src);
    }

    const slider = img.closest('slideshow-slide');
    if (!slider) return;

    const slides = Array.from(sliderComp.querySelectorAll('slideshow-slide'));
    const idx = slides.indexOf(slider);
    if (idx < 0) return;

    slides.forEach(s => s.setAttribute('aria-hidden', s === slider ? 'false' : 'true'));

    sliderComp.setAttribute('initial-slide', String(idx));
    try { sliderComp.connectedCallback(); } catch (e) {}

    requestAnimationFrame(() => {
        try { sliderComp.select(idx, undefined, { animate: false }); } catch (e) {}
        try { sliderComp.select(slider.getAttribute('slide-id'), undefined, { animate: false }); } catch (e) {}
    });
});
document.addEventListener('sezerium:price:update', (event) => {
  const { el, variant, isOnSale } = event.detail;
  
  if (isOnSale && !el.querySelector(SezeriumAppSettings.selectors.salePrice)) {
    const priceEl = el.querySelector(SezeriumAppSettings.selectors.price);
    if (!priceEl) return;
    const priceContainer = priceEl.parentElement;

    const salePrice = window.SezeriumPriceHandler.formatPrice(variant.compareAtPrice);

    priceContainer.innerHTML = `<span role="group">
        ${priceEl.outerHTML}
    <span>
    <span role="group">
        <span class="compare-at-price sezerium-compare-at-price sezerium-skip-price">${salePrice}</span>
    <span>`;
  }
  el.querySelector('.price-from')?.remove?.();
});
document.addEventListener('sezerium:swatch:update', (e) => {
    const { el, color, variant } = e.detail;

    const firstOption = color.replace(/&amp;/g, '&') || variant.option1.replace(/&amp;/g, '&');
    const secondOption = variant.option2.replace(/&amp;/g, '&');
    const thirdOption = variant.option3.replace(/&amp;/g, '&');
    
    // if (window.SezeriumHelper.isMobile()) {
    //     el.classList.add('sezerium-swatch');
    //     return;
    // }

    setTimeout(() => {
        el.querySelectorAll('swatches-variant-picker-component fieldset').forEach((fieldset) => {
            fieldset.classList.add('sezerium-swatch');
            let targetInput = fieldset.querySelector(`input[value="${firstOption}"]`);

            if (!targetInput) {
                targetInput = fieldset.querySelector(`input[value="${secondOption}"]`);
            }
            if (!targetInput) {
                targetInput = fieldset.querySelector(`input[value="${thirdOption}"]`);
            }

            if (targetInput) {
                const checkedInput = fieldset.querySelector('input:checked');
                if (checkedInput) {
                    checkedInput.checked = false;
                    checkedInput.removeAttribute('checked');
                }
                
                if (variant.available) {
                    targetInput.dataset.optionAvailable = 'true';
                    targetInput.ariaDisabled = 'false';
                } else {
                    targetInput.dataset.optionAvailable = 'false';
                    targetInput.ariaDisabled = 'true';
                }
                
                targetInput.classList.add('sezerium-checked');
                targetInput.checked = true;
                targetInput.setAttribute('checked', '');
                targetInput.disabled = false;
                targetInput.dispatchEvent(new Event('change', { bubbles: true }));
            }
        });
    }, 50);

    setTimeout(() => {
        el.querySelectorAll('variant-picker fieldset').forEach((fieldset, index) => {
            fieldset.classList.add('sezerium-swatch');
            const selectedOption = index === 0 ? firstOption : secondOption;
            let targetInput = fieldset.querySelector(`input[value="${selectedOption}"]`);
            if (!targetInput) {
                targetInput = fieldset.querySelector(`input[value="${thirdOption}"]`);
            }
            if (targetInput) {
                const checkedInput = fieldset.querySelector('input:checked');
                
                if (checkedInput) {
                    checkedInput.checked = false;
                    checkedInput.removeAttribute('checked');
                    checkedInput.dispatchEvent(new Event('input', { bubbles: true }));
                    checkedInput.dispatchEvent(new Event('change', { bubbles: true }));
                }
                
                if (variant.available) {
                    targetInput.dataset.optionAvailable = 'true';
                    targetInput.ariaDisabled = 'false';
                } else {
                    targetInput.dataset.optionAvailable = 'false';
                    targetInput.ariaDisabled = 'true';
                }
                
                targetInput.classList.add('sezerium-checked');
                targetInput.checked = true;
                targetInput.setAttribute('checked', 'checked');
                targetInput.disabled = false;
                targetInput.dispatchEvent(new Event('input', { bubbles: true }));
                targetInput.dispatchEvent(new Event('change', { bubbles: true }));
            }
        });
    }, 50);
});
document.addEventListener('sezerium:js:unload', (e) => {
    const { collectionEl } = e.detail;

    if (!collectionEl) return;

    const slideshowComponent = collectionEl.closest('slideshow-component');
    
    if (slideshowComponent) {
        const itemCount = collectionEl.querySelectorAll('.sezerium-product').length;
        const newTimeline = Array.from({length: itemCount}, (_, i) => `--slide-${i + 1}`)
            .join(', ');
        slideshowComponent.style.setProperty('--slideshow-timeline', newTimeline);

        collectionEl.querySelectorAll('slideshow-slide.sezerium-product').forEach((item, index) => {
            const slide = `--slide-${index+1}`;
            item.style.setProperty('--slideshow-timeline', slide);
            item.setAttribute('aria-hidden', false);
        });
        
        slideshowComponent.connectedCallback();
        setTimeout(()=> slideshowComponent.select(0, undefined, { animate: false }), 500)
    }
});
document.addEventListener('sezerium:set:productCount', (e) => {
    const { productCount } = e.detail;

    const productCountDiv = document.querySelector('div.products-count-wrapper > span');
    if (productCountDiv) {
        productCountDiv.textContent = productCountDiv.textContent.replace(/[0-9]+/, productCount);
    }
});
document.addEventListener('sezerium:widget:update', (event) => {
  const { el, product, variant } = event.detail;
  const isSoldOut = variant.available === false || variant.availableForSale === false;
  const isProductCard = variant.keepOriginal === true
    || product.sezeriumKeepOriginal === true
    || variant.title === 'Default Title';
  const singleVariant = variant.title === 'Default Title'
    || (variant.selectedOptions || []).some((o) => o.value === 'Default Title');
  const wantChoose = isProductCard && !singleVariant;
  const t = SezeriumAppSettings.settings.translation.button;

  const qckComponent = el.querySelector('quick-add-component');
  if (qckComponent) {
    qckComponent.setAttribute('data-quick-add-button', wantChoose ? 'choose' : 'add');
  }

  const btnComponent = el.querySelector('add-to-cart-component');
  if (btnComponent) {
    const btn = btnComponent.querySelector('button');
    if (btn) btn.disabled = isSoldOut;
    const btnText = btnComponent.querySelector('.add-to-cart-text__content');
    if (btnText) {
      const label = isSoldOut ? t.soldOut : (wantChoose ? t.chooseOptions : t.addToCart);
      btnText.innerHTML = '<span><span>' + label + '</span></span>';
    }
  }
});
(function () {
  if (window.__sezBootCssFix) return;
  window.__sezBootCssFix = true;

  var injected = false;

  var inject = function () {
    if (injected || !document.querySelector('.sezerium-boot-grid')) return;
    injected = true;

    var u = new URL(window.location.href);
    u.searchParams.delete('page');
    u.searchParams.delete('sezeriumPage');

    fetch(u.pathname + u.search, { headers: { 'Accept': 'text/html' } })
      .then(function (r) { return r.text(); })
      .then(function (html) {
        var doc = new DOMParser().parseFromString(html, 'text/html');
        var have = {};
        document.querySelectorAll('link[rel="stylesheet"]').forEach(function (l) { have[l.href] = 1; });
        doc.querySelectorAll('head link[rel="stylesheet"]').forEach(function (l) {
          var href = l.getAttribute('href');
          if (!href) return;
          var abs = new URL(href, window.location.origin).href;
          if (have[abs]) return;
          have[abs] = 1;
          var n = document.createElement('link');
          n.rel = 'stylesheet';
          n.href = abs;
          document.head.appendChild(n);
        });
      })
      .catch(function () { injected = false; });
  };

  var tries = 0;
  var timer = setInterval(function () {
    inject();
    if (injected || ++tries > 40) clearInterval(timer);
  }, 250);
})();
        
        document.addEventListener('sezerium:title:update', (event) => {
  const { el, product, variant } = event.detail;
  const badgeElement = el.querySelector('.product-badge p');

  const productBadgeText = product?.metafield?.length > 0 ? product.metafield : '';
  const variantBadgeText = variant?.metafield?.length > 0 ? variant.metafield : '';

  let badgeText = '';
  if (variantBadgeText !== '') {
    badgeText = variantBadgeText;
  } else {
    badgeText = productBadgeText;
  }

  if (badgeElement) {
    badgeElement.innerHTML = badgeText;
  }

  return;
});

document.addEventListener('sezerium:price:update', (event) => {
    const { el, product, variant } = event.detail;

    if (!product) return;

    const EXCLUDED_HANDLES = ['beachbar', 'hormone-health-supplements'];
    if (EXCLUDED_HANDLES.includes(product.handle)) return;

    const isSupplementProduct = product.tags?.includes('Supplement');
    if (!isSupplementProduct) return;

    const SUBSCRIPTION_DISCOUNT = 0.25;

    const formatMoney = (cents) => (cents / 100).toLocaleString('en-US', {
        style: 'currency',
        currency: 'USD'
    });

    const applyDiscount = (cents) => Math.round(cents * (1 - SUBSCRIPTION_DISCOUNT));

    const discountedMax = applyDiscount(product.maxPrice);

    // using default catalog pricing instead of calculated discounting above

    const priceHTML = `
        <span class="price sezerium-price price--compare-strikethrough" style="text-decoration: line-through; color: #208468;">${formatMoney(variant.compareAtPrice)}</span>
        <span class="price sezerium-price price--sale">${formatMoney(variant.price)}</span>
    `;

    el.querySelectorAll('product-price [ref="priceContainer"]').forEach((container) => {
        container.style = "max-width: fit-content;";
        container.innerHTML = priceHTML;
    });
});
    } catch (e) {
        console.log('%c Stamp - Variant Collections custom js error:', 'background-color: black; color: white; padding: 5px; border-radius: 3px;');
        console.log(e);
    }
</script>





<link href="//cdn.shopify.com/extensions/01a0ab3a-95d6-7533-87f4-78c81c1c45ed/stamp-variants-collection-1169/assets/sezerium-section.min.css" rel="stylesheet" type="text/css" media="all" />
<link href="//cdn.shopify.com/extensions/01a0ab3a-95d6-7533-87f4-78c81c1c45ed/stamp-variants-collection-1169/assets/sezerium-pagination.css" rel="stylesheet" type="text/css" media="all" />
<script src="https://cdn.shopify.com/extensions/01a0ab3a-95d6-7533-87f4-78c81c1c45ed/stamp-variants-collection-1169/assets/sezerium-section-helpers.min.js" defer fetchpriority="high"></script>
<script src="https://cdn.shopify.com/extensions/01a0ab3a-95d6-7533-87f4-78c81c1c45ed/stamp-variants-collection-1169/assets/sezerium-variant.min.js" defer fetchpriority="high"></script>
<script>
(function(){try{if(/[?&]sezeriumDisable=/i.test(location.search))return;}catch(e){}
if(SezeriumCollection.search&&!/[?&]q=[^&#]/.test(location.search))return;var el;try{el=document.querySelector(SezeriumAppSettings.selectors.collection);}catch(e){}
if(!el){var ps=(SezeriumAppSettings.selectors.product||'').split(',');for(var i=0;i < ps.length&&!el;i++){try{var p=document.querySelector(ps[i].trim());if(p)el=p.parentElement;}catch(e){}}}
if(!el)return;
el.classList.add('sezerium-api-loading');
var o=document.createElement('div');o.className='sezerium-section__loading-overlay sezerium-api-overlay';o.innerHTML='<svg viewBox="0 0 66 66"><circle cx="33" cy="33" r="30" fill="none" stroke-width="6"/></svg>';el.appendChild(o);
var sync=function(){var b=0,r=el.getBoundingClientRect();for(var i=0;i < el.children.length;i++){var c=el.children[i];if(c===o)continue;var cr=c.getBoundingClientRect();if(cr.bottom > b)b=cr.bottom;}var n=Math.round(b-r.top);o.style.height=n > el.clientHeight+4?n+'px':'';};
try{sync();}catch(e){}
setTimeout(function(){try{sync();}catch(e){}},400);
setTimeout(function(){if(o.getAttribute('data-sez-hold')==='1')return;o.remove();el.classList.remove('sezerium-api-loading');},5000);
})();
</script><script>
    const sezeriumFallbackUnload = () => {
        if (window.sezeriumVariantProduct || window.__sezeriumVariantBundle) return;
        if (document.querySelector('.sezerium-section')) return;
        document.dispatchEvent(new CustomEvent('sezerium:js:unload', {
            detail: {collectionEl: null, collectionName: ''},
            bubbles: true,
            cancelable: false,
            composed: false
        }));
    };
    document.addEventListener('DOMContentLoaded', () => {
        if (!window.sezeriumVariantProduct) return sezeriumFallbackUnload();
        if (!window.sezeriumVariableInstance && SezeriumCollection.handle !== 'index') {
            window.sezeriumVariableInstance = new window.sezeriumVariantProduct(SezeriumCollection.products, SezeriumCollection.handle);
        }
    });
    window.addEventListener('pageshow', (e) => {
        if (e.persisted) sezeriumFallbackUnload();
    });
    </script>
    <style>
        
    </style><style>
    
    
    .sezerium-button, .sezerium-add-to-cart, .sezerium-choose-option {
        color:#000000!important;
        background-color:#FFFFFF!important;
    }
</style>

</div><div id="shopify-block-AQTlTWDBDUEVwNWNoZ__10641372206048101839" class="shopify-block shopify-app-block">
<script>
  window.Rebuy = window.Rebuy || {};
  window.Rebuy.customer = window.Rebuy.customer || {};
  
</script>


<script async src="https://cdn.rebuyengine.com/onsite/js/rebuy.js?shop=xragki-mv.myshopify.com"></script>


</div><div id="shopify-block-Aa3UrMW9IZE1TVFNUQ__5537102726230261467" class="shopify-block shopify-app-block">


  <!-- BEGIN app snippet: quiz-popup-styles --><style>
  #quiz-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.5);
    z-index: var(--quiz-z-index, 100);
    overflow: auto;
    touch-action: manipulation;
  }
  #quiz-container .quiz-content {
    position: relative;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    z-index: var(--quiz-content-z-index, 101);
    max-height: 100%;
    overflow: auto;
    background: white;
    touch-action: manipulation;
  }
  #quiz-container .close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    font-size: 32px;
    cursor: pointer;
    z-index: var(--close-btn-z-index, 102);
    margin-left: auto;
    color: var(--close-btn-color, #777777);
    line-height: 32px;
  }
  body.revenuehunt-popup-open .react-dropdown-select-dropdown {
    z-index: var(--quiz-dropdown-z-index, 103) !important;
  }
</style>
<!-- END app snippet -->
  <!-- BEGIN app snippet: quiz-global-vars --><script>
  if (!window.quizUrls) window.quizUrls = {};
  
    window.quizUrls['quiz_4Q2UYC'] = "https:\/\/cdn.shopify.com\/s\/files\/1\/0755\/6061\/6153\/files\/quiz-4Q2UYC.json?v=1784755444";
  

  if (!window.quiz_locale) {
    window.quiz_locale = 'en'
  }
  if (!window.quiz_country) {
    window.quiz_country = 'US'
  }
  if (!window.quiz_currency) {
    window.quiz_currency = '${{amount}}'
  }
  if (!window.quiz_market_id) {
    window.quiz_market_id = 'gid://shopify/Market/30663278809'
  }
</script>
<!-- END app snippet -->
  <!-- BEGIN app snippet: quiz-renderer-script --><script type="module" src="https://cdn.shopify.com/extensions/01a0ae74-621f-7bd2-943c-becfcffeaae8/revenuehunt-200/assets/quiz-renderer.js" defer></script><!-- END app snippet -->
  <!-- BEGIN app snippet: quiz-popup-setup --><!-- BEGIN app snippet: quiz-url-functions --><script>
  /**
   * Quiz URL Functions
   *
   * Single source of truth for quiz URL parsing and clearing.
   */
  (function() {
    if (window.revenueHuntQuizUrl && window.revenueHuntQuizUrl.__initialized) {
      return;
    }

    window.revenueHuntQuizUrl = {
      __initialized: true,

      isQuizHash: function(hash) {
        return (
          hash === '#quiz' ||
          /^#quiz-[A-Za-z0-9]+$/.test(hash) ||
          /^#response-[A-Za-z0-9]+$/.test(hash)
        );
      },

      getQuizKey: function(hash, defaultQuizKey) {
        if (!this.isQuizHash(hash)) return null;

        const hashTarget = String(hash || '').replace(/^#/, '');

        if (hashTarget === 'quiz') {
          return defaultQuizKey;
        }

        if (hashTarget.startsWith('quiz-')) {
          return 'quiz_' + hashTarget.substring(5);
        }

        if (hashTarget.startsWith('response-')) {
          return hashTarget;
        }

        return null;
      },

      getTarget: function(hash, search, defaultQuizKey) {
        const hashTarget = this.getQuizKey(hash, defaultQuizKey);
        if (hashTarget) return hashTarget;

        const responseId = new URLSearchParams(String(search || '')).get('response_id');
        if (responseId && /^[A-Za-z0-9]+$/.test(responseId)) {
          return 'response-' + responseId;
        }

        return null;
      },

      clear: function() {
        const url = new URL(window.location.href);
        let changed = false;

        if (this.isQuizHash(url.hash)) {
          url.hash = '';
          changed = true;
        }

        if (url.searchParams.has('response_id')) {
          url.searchParams.delete('response_id');
          changed = true;
        }

        if (changed) {
          window.history.replaceState(window.history.state, '', url.toString());
        }
      },
    };
  })();
</script>
<!-- END app snippet -->
<!-- BEGIN app snippet: quiz-popup-functions --><script>
  /**
   * Popup Functions
   *
   * Shared, setting-free quiz popup behavior.
   * Individual theme extension instances register their own popup config with
   * window.revenueHuntQuizPopup.register(config), then open by instance id.
   *
   * Popup extensions are intentionally singleton: only one #quiz-container
   * exists at a time. Multiple instances can register configs, but opening a
   * popup replaces the current popup unless the caller chooses another policy.
   *
   * Used by: automatic popup, link popup, chat button
   */
  (function() {
    if (window.revenueHuntQuizPopup && window.revenueHuntQuizPopup.__initialized) {
      return;
    }

    function getConfig(instanceId) {
      return window.revenueHuntQuizPopup.configs[String(instanceId)] || null;
    }

    function applyPopupStyles(quizContainer, quizContent, config) {
      const zIndex = parseInt(config.zIndex || 100, 10);
      const width = parseInt(config.width || 100, 10);
      const height = parseInt(config.height || 100, 10);

      quizContainer.style.setProperty('--quiz-z-index', zIndex);
      quizContainer.style.setProperty('--quiz-content-z-index', zIndex + 1);
      quizContainer.style.setProperty('--close-btn-z-index', zIndex + 2);
      quizContainer.style.setProperty('--close-btn-color', config.closeColor || '#777777');

      // Quiz dropdowns are portaled to document.body, outside #quiz-container.
      // Keep this one popup-open body variable so portaled dropdowns stay above the modal.
      document.body.style.setProperty('--quiz-dropdown-z-index', zIndex + 3);

      quizContent.style.width = `${width}%`;
      quizContent.style.height = `${height}%`;
    }

    function markPopupShown(quizKey) {
      // Only mark the popup as shown when the key already targets a quiz (not for response hashes)
      if (typeof quizKey === 'string' && quizKey.startsWith('quiz_')) {
        window.revenueHuntSetStorage('revenuehunt-popup-already-shown-' + quizKey, true, 1);
      }
    }

    window.revenueHuntQuizPopup = {
      __initialized: true,
      configs: {},

      register: function(config) {
        if (!config || !config.instanceId) return;

        this.configs[String(config.instanceId)] = {
          instanceId: String(config.instanceId),
          source: config.source || 'popup',
          width: config.width || 100,
          height: config.height || 100,
          zIndex: config.zIndex || 100,
          closeColor: config.closeColor || '#777777',
        };
      },

      close: function(options) {
        const settings = options || {};
        const quizContainer = document.getElementById('quiz-container');

        if (quizContainer) {
          quizContainer.remove();
        }

        document.body.classList.remove('revenuehunt-popup-open');
        document.body.style.removeProperty('--quiz-dropdown-z-index');

        if (settings.clearHash !== false && window.revenueHuntQuizUrl) {
          window.revenueHuntQuizUrl.clear();
        }
      },

      getContainer: function(instanceId) {
        const owner = String(instanceId);
        const containers = document.querySelectorAll('[data-popup-owner]');

        for (let i = 0; i < containers.length; i += 1) {
          if (containers[i].dataset.popupOwner === owner) {
            return containers[i];
          }
        }

        return null;
      },

      resize: function(instanceId) {
        const config = getConfig(instanceId);
        const quizContainer = this.getContainer(instanceId);
        const quizContent = quizContainer && quizContainer.querySelector('.quiz-content');

        if (!config || !quizContainer || !quizContent) return;

        applyPopupStyles(quizContainer, quizContent, config);
      },

      open: function(instanceId, quizKey, options) {
        const config = getConfig(instanceId);
        if (!config) return null;

        const settings = options || {};

        const existingQuizContainer = document.getElementById('quiz-container');
        if (existingQuizContainer) {
          if (settings.ifOpen === 'mark-shown') {
            markPopupShown(quizKey);
            return null;
          }

          existingQuizContainer.remove();
        }

        markPopupShown(quizKey);

        const popupRenderId = `popup-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
        const quizContainer = document.createElement('div');
        quizContainer.id = 'quiz-container';
        // `needsclick` opts out of FastClick, which legacy Shopify themes (e.g. Brooklyn) bundle in
        // theme.js. FastClick collides with the renderer's own touch handler on iOS and swallows the
        // first taps until a refresh.
        quizContainer.className = 'quiz-container needsclick';
        quizContainer.dataset.quizInstanceId = popupRenderId;
        quizContainer.dataset.popupOwner = config.instanceId;
        quizContainer.dataset.popupSource = config.source;
        if (settings.openedBy) {
          quizContainer.dataset.openedBy = settings.openedBy;
        }
        quizContainer.style.display = 'flex';
        document.body.classList.add('revenuehunt-popup-open');

        const quizContent = document.createElement('div');
        quizContent.className = 'quiz-content needsclick';
        applyPopupStyles(quizContainer, quizContent, config);

        const closeButton = document.createElement('button');
        closeButton.className = 'close-btn';
        closeButton.setAttribute('aria-label', 'Close quiz');

        const closeIcon = document.createElement('span');
        closeIcon.textContent = '×';
        closeButton.appendChild(closeIcon);

        const quizRenderer = document.createElement('quiz-renderer');
        quizRenderer.setAttribute('data-quiz-instance-id', popupRenderId);
        quizRenderer.setAttribute('target', String(quizKey));
        quizRenderer.setAttribute('type', 'modal');
        quizRenderer.setAttribute('aria-label', 'Quiz');
        quizRenderer.setAttribute(
          'over-plan-at',
          "",
        );
        quizRenderer.setAttribute(
          'execute-custom-features',
          'true',
        );
        quizRenderer.setAttribute('myshopify-domain', "xragki-mv.myshopify.com");

        quizContent.appendChild(closeButton);
        quizContent.appendChild(quizRenderer);
        quizContainer.appendChild(quizContent);
        document.body.appendChild(quizContainer);

        closeButton.addEventListener('click', function () {
          window.revenueHuntQuizPopup.close();
        });

        quizContainer.addEventListener('click', function (event) {
          if (event.target === quizContainer) {
            window.revenueHuntQuizPopup.close();
          }
        });

        return quizContainer;
      },
    };

    window.revenueHuntCloseQuizContainer = function(options) {
      window.revenueHuntQuizPopup.close(options);
    };
  })();
</script>
<!-- END app snippet -->
<!-- BEGIN app snippet: quiz-popup-config --><script>
  (function() {
    if (!window.revenueHuntQuizPopup) return;

    window.revenueHuntQuizPopup.register({
      instanceId: "link-popup-Aa3UrMW9IZE1TVFNUQ__5537102726230261467",
      source: "link-popup",
      width: "100",
      height: "100",
      zIndex: 100,
      closeColor: "#777777",
    });
  })();
</script>
<!-- END app snippet -->
<!-- END app snippet -->
  <!-- BEGIN app snippet: quiz-storage-helpers --><script>
  /**
   * Storage Helpers
   *
   * Provides localStorage utilities with automatic expiration.
   * Used to track popup display state, greeting/notification dismissals, etc.
   *
   * Functions:
   * - revenueHuntGetStorage(name): Get value, returns null if expired
   * - revenueHuntSetStorage(name, value, days): Set value with expiration
   */
  window.revenueHuntGetStorage = function(name) {
    try {
      const itemStr = localStorage.getItem(name);
      if (!itemStr) {
        return null;
      }
      const item = JSON.parse(itemStr);
      if (Date.now() > item.expiry) {
        localStorage.removeItem(name);
        return null;
      }
      return item.value;
    } catch (e) {
      console.warn('Failed to get localStorage:', e);
      return null;
    }
  };

  window.revenueHuntSetStorage = function(name, value, days) {
    try {
      const expiry = Date.now() + (days * 24 * 60 * 60 * 1000);
      const data = {
        value: value,
        expiry: expiry
      };
      localStorage.setItem(name, JSON.stringify(data));
    } catch (e) {
      console.warn('Failed to set localStorage:', e);
    }
  };
</script><!-- END app snippet -->
  <!-- BEGIN app snippet: quiz-block-priority --><script>
  /**
   * Block Priority System
   *
   * Ensures only ONE quiz extension of each type activates per page.
   * Priority: First block > First global
   *
   * Use cases:
   * - Multiple blocks of same type: Only first block runs
   * - Multiple globals of same type: Only first global runs (if no blocks)
   * - Mix of block + global: Only block runs, global is skipped
   */

  // Registry for synchronous block registration (works before document.body exists)
  window.revenueHuntBlockRegistry = window.revenueHuntBlockRegistry || {};

  /**
   * Registers a block extension
   * Uses JS variable instead of DOM to support synchronous registration before document.body exists
   * @param {string} type - Extension type (e.g., 'link-popup', 'chat-button', 'automatic-popup')
   * @returns {boolean} - True if registered successfully, false if already registered
   */
  window.revenueHuntRegisterBlock = function(type) {
    if (window.revenueHuntBlockRegistry[type]) {
      return false;
    }
    window.revenueHuntBlockRegistry[type] = true;
    return true;
  };

  /**
   * Checks if a block extension is active
   * @param {string} type - Extension type
   * @returns {boolean} - True if block extension is active
   */
  window.revenueHuntIsBlockActive = function(type) {
    return !!window.revenueHuntBlockRegistry[type];
  };

  /**
   * Registers a global extension
   * @param {string} type - Extension type
   * @returns {boolean} - True if registered successfully, false if already registered
   */
  window.revenueHuntRegisterGlobal = function(type) {
    const globalMarkerId = 'revenuehunt-' + type + '-global-active';
    if (document.getElementById(globalMarkerId)) {
      return false;
    }
    const marker = document.createElement('div');
    marker.id = globalMarkerId;
    marker.style.display = 'none';
    document.body.appendChild(marker);
    return true;
  };
</script><!-- END app snippet -->
  <!-- BEGIN app snippet: quiz-link-quiz-script --><script>
  /**
   * Link Popup Quiz Script
   *
   * Handles quiz popups triggered by quiz/response hashes or a response_id query parameter.
   * Also handles direct URL navigation (e.g., /page#quiz or /page?response_id={id}).
   *
   * Priority system:
   * - Block extensions: Register and exit if already registered
   * - Global extensions: Exit if block exists OR already registered
   */
  document.addEventListener('DOMContentLoaded', function() {
    const isBlock = false;

    if (isBlock) {
      if (!window.revenueHuntRegisterBlock('link-popup')) {
        return;
      }
    } else {
      if (window.revenueHuntIsBlockActive('link-popup')) {
        return;
      }
      if (!window.revenueHuntRegisterGlobal('link-popup')) {
        return;
      }
    }

    const defaultQuizKey = 'quiz_4Q2UYC';
    const popupInstanceId = "link-popup-Aa3UrMW9IZE1TVFNUQ__5537102726230261467";

    function getActiveRenderer() {
      const quizContainer = document.getElementById('quiz-container');
      return quizContainer && quizContainer.querySelector('quiz-renderer');
    }

    function syncQuizPopupWithUrl() {
      const target = window.revenueHuntQuizUrl.getTarget(
        window.location.hash,
        window.location.search,
        defaultQuizKey,
      );
      const quizContainer = document.getElementById('quiz-container');

      if (!target) {
        if (
          quizContainer &&
          quizContainer.dataset.openedBy === 'url' &&
          window.revenueHuntQuizPopup
        ) {
          window.revenueHuntQuizPopup.close({ clearHash: false });
        }
        return;
      }

      const activeRenderer = getActiveRenderer();
      const activeTarget = activeRenderer && activeRenderer.getAttribute('target');

      if (
        quizContainer &&
        quizContainer.dataset.openedBy === 'url' &&
        quizContainer.dataset.popupOwner === popupInstanceId &&
        activeTarget === target
      ) {
        return;
      }

      window.revenueHuntQuizPopup.open(popupInstanceId, target, { openedBy: 'url' });
    }

    syncQuizPopupWithUrl();
    window.addEventListener('hashchange', syncQuizPopupWithUrl);
    window.addEventListener('popstate', syncQuizPopupWithUrl);

    if(window.addEventListener) {
      window.addEventListener('message', function(event) {
        const data = event.data;
        const quizContainer = window.revenueHuntQuizPopup && window.revenueHuntQuizPopup.getContainer(popupInstanceId);
        const quizContent = quizContainer && quizContainer.querySelector('.quiz-content');
        const activeRenderer = quizContent && quizContent.querySelector('quiz-renderer');
        const activeInstanceId = activeRenderer && activeRenderer.getAttribute('data-quiz-instance-id');

        if (
          !data ||
          typeof data !== 'object' ||
          data.channel !== 'revenuehunt:quiz-renderer' ||
          data.source !== 'quiz-renderer' ||
          data.type !== 'isResult' ||
          !quizContent ||
          !activeInstanceId ||
          data.instanceId !== activeInstanceId
        ) {
          return;
        }

        window.revenueHuntQuizPopup.resize(popupInstanceId);
      });
    }
  });
</script>
<!-- END app snippet -->



</div><script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
</body>
</html>
