{"product_id":"sweet-and-salty","title":"The Sweet and Salty Bundle","description":"\u003cbody\u003e\n\n\n  \u003cmeta charset=\"UTF-8\"\u003e\n  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n  \u003ctitle\u003eSweet \u0026amp; Salty Bundle | Summa Salts\u003c\/title\u003e\n  \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:wght@400;700;900\u0026amp;family=Inter:wght@300;400;500;600\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n  \u003cstyle\u003e\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n    :root {\n      --cream:    #F9F5F0;\n      --dark:     #1C1410;\n      --brown:    #3B2017;\n      --mocha:    #6B3E26;\n      --cocoa:    #A0522D;\n      --gold:     #C9913A;\n      --salt:     #E8DDD0;\n      --white:    #FFFFFF;\n    }\n\n    body {\n      font-family: 'Inter', sans-serif;\n      background: var(--cream);\n      color: var(--dark);\n      -webkit-font-smoothing: antialiased;\n    }\n\n    \/* ── HERO ── *\/\n    .hero {\n      background: var(--dark);\n      color: var(--cream);\n      padding: 72px 24px 80px;\n      text-align: center;\n      position: relative;\n      overflow: hidden;\n    }\n\n    .hero::before {\n      content: '';\n      position: absolute;\n      inset: 0;\n      background: radial-gradient(ellipse 70% 60% at 50% 110%, rgba(201,145,58,0.18) 0%, transparent 70%);\n      pointer-events: none;\n    }\n\n    .eyebrow {\n      font-size: 11px;\n      font-weight: 600;\n      letter-spacing: 0.22em;\n      text-transform: uppercase;\n      color: var(--gold);\n      margin-bottom: 20px;\n    }\n\n    .hero h1 {\n      font-family: 'Playfair Display', serif;\n      font-size: clamp(42px, 8vw, 78px);\n      font-weight: 900;\n      line-height: 1.0;\n      letter-spacing: -0.02em;\n      margin-bottom: 20px;\n    }\n\n    .hero h1 em {\n      font-style: italic;\n      color: var(--gold);\n    }\n\n    .hero-sub {\n      font-size: 16px;\n      font-weight: 300;\n      color: rgba(249,245,240,0.65);\n      max-width: 480px;\n      margin: 0 auto 36px;\n      line-height: 1.65;\n    }\n\n    .price-badge {\n      display: inline-flex;\n      align-items: baseline;\n      gap: 10px;\n      background: rgba(255,255,255,0.06);\n      border: 1px solid rgba(201,145,58,0.35);\n      border-radius: 100px;\n      padding: 12px 28px;\n    }\n\n    .price-now {\n      font-family: 'Playfair Display', serif;\n      font-size: 32px;\n      font-weight: 700;\n      color: var(--gold);\n    }\n\n    .price-was {\n      font-size: 15px;\n      color: rgba(249,245,240,0.4);\n      text-decoration: line-through;\n    }\n\n    .price-save {\n      font-size: 12px;\n      font-weight: 600;\n      letter-spacing: 0.1em;\n      text-transform: uppercase;\n      color: var(--gold);\n      opacity: 0.8;\n    }\n\n    \/* ── PRODUCTS ── *\/\n    .products-section {\n      padding: 72px 24px;\n      max-width: 1080px;\n      margin: 0 auto;\n    }\n\n    .section-label {\n      font-size: 10px;\n      font-weight: 700;\n      letter-spacing: 0.25em;\n      text-transform: uppercase;\n      color: var(--cocoa);\n      margin-bottom: 40px;\n      display: flex;\n      align-items: center;\n      gap: 16px;\n    }\n\n    .section-label::after {\n      content: '';\n      flex: 1;\n      height: 1px;\n      background: var(--salt);\n    }\n\n    .products-grid {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n      gap: 24px;\n    }\n\n    .product-card {\n      background: var(--white);\n      border-radius: 4px;\n      overflow: hidden;\n      border: 1px solid var(--salt);\n      transition: transform 0.2s ease, box-shadow 0.2s ease;\n      text-decoration: none;\n      color: inherit;\n      display: block;\n    }\n\n    .product-card:hover {\n      transform: translateY(-4px);\n      box-shadow: 0 16px 40px rgba(59,32,23,0.12);\n    }\n\n    .card-body {\n      padding: 24px 24px 28px;\n    }\n\n    .card-tag {\n      font-size: 10px;\n      font-weight: 700;\n      letter-spacing: 0.2em;\n      text-transform: uppercase;\n      color: var(--cocoa);\n      margin-bottom: 8px;\n    }\n\n    .card-name {\n      font-family: 'Playfair Display', serif;\n      font-size: 26px;\n      font-weight: 700;\n      color: var(--brown);\n      margin-bottom: 10px;\n      line-height: 1.1;\n    }\n\n    .card-ingredients {\n      font-size: 12px;\n      font-weight: 500;\n      letter-spacing: 0.08em;\n      text-transform: uppercase;\n      color: rgba(59,32,23,0.45);\n      margin-bottom: 16px;\n    }\n\n    .card-desc {\n      font-size: 14px;\n      line-height: 1.7;\n      color: rgba(28,20,16,0.65);\n      margin-bottom: 20px;\n    }\n\n    .card-cta {\n      display: inline-flex;\n      align-items: center;\n      gap: 6px;\n      font-size: 12px;\n      font-weight: 600;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n      color: var(--mocha);\n      text-decoration: none;\n    }\n\n    .card-cta svg {\n      transition: transform 0.2s;\n    }\n\n    .product-card:hover .card-cta svg {\n      transform: translateX(4px);\n    }\n\n    \/* ── DIVIDER ── *\/\n    .divider {\n      border: none;\n      border-top: 1px solid var(--salt);\n      margin: 0 24px;\n    }\n\n    \/* ── RECIPE TEASER ── *\/\n    .recipe-section {\n      background: var(--brown);\n      color: var(--cream);\n      padding: 72px 24px;\n      text-align: center;\n    }\n\n    .recipe-section .eyebrow {\n      color: var(--gold);\n    }\n\n    .recipe-section h2 {\n      font-family: 'Playfair Display', serif;\n      font-size: clamp(28px, 5vw, 48px);\n      font-weight: 700;\n      margin-bottom: 16px;\n      line-height: 1.15;\n    }\n\n    .recipe-section p {\n      font-size: 16px;\n      line-height: 1.7;\n      color: rgba(249,245,240,0.65);\n      max-width: 520px;\n      margin: 0 auto 36px;\n    }\n\n    \/* ── CTA BUTTON ── *\/\n    .btn {\n      display: inline-block;\n      background: var(--gold);\n      color: var(--dark);\n      font-size: 13px;\n      font-weight: 700;\n      letter-spacing: 0.14em;\n      text-transform: uppercase;\n      text-decoration: none;\n      padding: 16px 36px;\n      border-radius: 2px;\n      transition: background 0.2s, transform 0.15s;\n    }\n\n    .btn:hover {\n      background: #D9A44A;\n      transform: translateY(-1px);\n    }\n\n    .btn-outline {\n      background: transparent;\n      color: var(--cream);\n      border: 1px solid rgba(249,245,240,0.35);\n    }\n\n    .btn-outline:hover {\n      background: rgba(249,245,240,0.08);\n    }\n\n    \/* ── ADD TO CART ── *\/\n    .atc-section {\n      padding: 72px 24px;\n      max-width: 600px;\n      margin: 0 auto;\n      text-align: center;\n    }\n\n    .atc-section h2 {\n      font-family: 'Playfair Display', serif;\n      font-size: 32px;\n      font-weight: 700;\n      color: var(--brown);\n      margin-bottom: 10px;\n    }\n\n    .atc-section p {\n      font-size: 14px;\n      color: rgba(28,20,16,0.5);\n      margin-bottom: 32px;\n    }\n\n    .what-you-get {\n      background: var(--white);\n      border: 1px solid var(--salt);\n      border-radius: 4px;\n      padding: 24px 28px;\n      margin-bottom: 32px;\n      text-align: left;\n    }\n\n    .what-you-get ul {\n      list-style: none;\n    }\n\n    .what-you-get li {\n      display: flex;\n      align-items: center;\n      gap: 12px;\n      padding: 10px 0;\n      font-size: 14px;\n      border-bottom: 1px solid var(--salt);\n      color: var(--dark);\n    }\n\n    .what-you-get li:last-child {\n      border-bottom: none;\n    }\n\n    .what-you-get li::before {\n      content: '✦';\n      color: var(--gold);\n      font-size: 10px;\n      flex-shrink: 0;\n    }\n\n    .atc-price-row {\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      margin-bottom: 20px;\n    }\n\n    .atc-label {\n      font-size: 12px;\n      font-weight: 600;\n      letter-spacing: 0.12em;\n      text-transform: uppercase;\n      color: rgba(28,20,16,0.4);\n    }\n\n    .atc-price {\n      font-family: 'Playfair Display', serif;\n      font-size: 28px;\n      font-weight: 700;\n      color: var(--brown);\n    }\n\n    .atc-savings {\n      font-size: 12px;\n      color: var(--cocoa);\n      font-weight: 600;\n    }\n\n    .btn-full {\n      display: block;\n      width: 100%;\n      text-align: center;\n      background: var(--dark);\n      color: var(--cream);\n      font-size: 13px;\n      font-weight: 700;\n      letter-spacing: 0.16em;\n      text-transform: uppercase;\n      text-decoration: none;\n      padding: 18px 36px;\n      border-radius: 2px;\n      border: none;\n      cursor: pointer;\n      transition: background 0.2s;\n    }\n\n    .btn-full:hover {\n      background: var(--brown);\n    }\n\n    \/* ── RESPONSIVE ── *\/\n    @media (max-width: 600px) {\n      .price-badge {\n        flex-direction: column;\n        align-items: center;\n        gap: 4px;\n        padding: 16px 24px;\n      }\n\n      .atc-price-row {\n        flex-direction: column;\n        gap: 4px;\n        align-items: flex-start;\n      }\n    }\n\n    @media (prefers-reduced-motion: reduce) {\n      *, *::before, *::after {\n        transition: none !important;\n        animation: none !important;\n      }\n    }\n  \u003c\/style\u003e\n\n\n\n  \u003c!-- HERO --\u003e\n  \u003csection class=\"hero\"\u003e\n    \u003cp class=\"eyebrow\"\u003eSumma Salts · Limited Bundle\u003c\/p\u003e\n    \u003ch1\u003eSweet \u0026amp; \u003cem\u003eSalty\u003c\/em\u003e\u003cbr\u003eBundle\u003c\/h1\u003e\n    \u003cp class=\"hero-sub\"\u003eThree chocolate-and-coffee salts that belong together, and on everything you bake.\u003c\/p\u003e\n    \u003cdiv class=\"price-badge\"\u003e\n      \u003cspan class=\"price-now\"\u003e$30\u003c\/span\u003e\n      \u003cspan class=\"price-was\"\u003e$36\u003c\/span\u003e\n      \u003cspan class=\"price-save\"\u003eSave $6\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- WHAT'S INSIDE --\u003e\n  \u003csection class=\"products-section\"\u003e\n    \u003cp class=\"section-label\"\u003eWhat's inside\u003c\/p\u003e\n    \u003cdiv class=\"products-grid\"\u003e\n\n      \u003c!-- Coffee Salt --\u003e\n      \u003ca class=\"product-card\" href=\"\/products\/coffee-salt\"\u003e\n        \u003cdiv class=\"card-body\"\u003e\n          \u003cp class=\"card-tag\"\u003eBestseller\u003c\/p\u003e\n          \u003ch2 class=\"card-name\"\u003eCoffee\u003c\/h2\u003e\n          \u003cp class=\"card-ingredients\"\u003eSea Salt · Espresso Beans\u003c\/p\u003e\n          \u003cp class=\"card-desc\"\u003eThe one that started it all. A pinch of this makes everything taste deeper: cookies, steak, caramel, scrambled eggs.\u003c\/p\u003e\n          \u003cspan class=\"card-cta\"\u003e\n            View product\n            \u003csvg width=\"14\" height=\"14\" viewbox=\"0 0 14 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n              \u003cpath d=\"M2 7h10M7 2l5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\n            \u003c\/svg\u003e\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/a\u003e\n\n      \u003c!-- Cocoa Salt --\u003e\n      \u003ca class=\"product-card\" href=\"\/products\/cocoa-salt\"\u003e\n        \u003cdiv class=\"card-body\"\u003e\n          \u003cp class=\"card-tag\"\u003eNew\u003c\/p\u003e\n          \u003ch2 class=\"card-name\"\u003eCocoa\u003c\/h2\u003e\n          \u003cp class=\"card-ingredients\"\u003eSea Salt · Cocoa Beans\u003c\/p\u003e\n          \u003cp class=\"card-desc\"\u003eRich cocoa meets coarse sea salt in the kind of combination your brain immediately understands after one bite. Made for bakers.\u003c\/p\u003e\n          \u003cspan class=\"card-cta\"\u003e\n            View product\n            \u003csvg width=\"14\" height=\"14\" viewbox=\"0 0 14 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n              \u003cpath d=\"M2 7h10M7 2l5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\n            \u003c\/svg\u003e\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/a\u003e\n\n      \u003c!-- Mocha Salt --\u003e\n      \u003ca class=\"product-card\" href=\"\/products\/mocha-salt\"\u003e\n        \u003cdiv class=\"card-body\"\u003e\n          \u003cp class=\"card-tag\"\u003eNew\u003c\/p\u003e\n          \u003ch2 class=\"card-name\"\u003eMocha\u003c\/h2\u003e\n          \u003cp class=\"card-ingredients\"\u003eSea Salt · Cocoa Beans · Espresso\u003c\/p\u003e\n          \u003cp class=\"card-desc\"\u003eCoffee and chocolate went halfsies on your food. The salt that finishes brownies, latte foam, and dark chocolate bark.\u003c\/p\u003e\n          \u003cspan class=\"card-cta\"\u003e\n            View product\n            \u003csvg width=\"14\" height=\"14\" viewbox=\"0 0 14 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\u003e\n              \u003cpath d=\"M2 7h10M7 2l5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\n            \u003c\/svg\u003e\n          \u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/a\u003e\n\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003chr class=\"divider\"\u003e\n\n  \u003c!-- RECIPE TEASER --\u003e\n  \u003csection class=\"recipe-section\"\u003e\n    \u003cp class=\"eyebrow\"\u003eAs seen on\u003c\/p\u003e\n    \u003ch2\u003eThe Viral Cookie\u003cbr\u003eEveryone's Talking About\u003c\/h2\u003e\n    \u003cp\u003eA creator's recipe took over the internet and Coffee Salt is the secret ingredient. Get the Coffee Salt, get the recipe from her, and taste exactly what everyone is making.\u003c\/p\u003e\n    \u003ca class=\"btn\" href=\"\/products\/coffee-salt\"\u003eGet the Coffee Salt →\u003c\/a\u003e\n  \u003c\/section\u003e\n\n  \u003c!-- ADD TO CART --\u003e\n  \u003csection class=\"atc-section\"\u003e\n    \u003ch2\u003eReady to order?\u003c\/h2\u003e\n    \u003cp\u003e3 grinders · 3 oz each · ships together\u003c\/p\u003e\n\n    \u003cdiv class=\"what-you-get\"\u003e\n      \u003cul\u003e\n        \u003cli\u003eCoffee Salt Grinder (3 oz) $12\u003c\/li\u003e\n        \u003cli\u003eCocoa Salt Grinder (3 oz) $12\u003c\/li\u003e\n        \u003cli\u003eMocha Salt Grinder (3 oz) $12\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"atc-price-row\"\u003e\n      \u003cspan class=\"atc-label\"\u003eBundle total\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cspan class=\"atc-price\"\u003e$30\u003c\/span\u003e\n        \u003cspan class=\"atc-savings\"\u003e · save $6\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cbutton class=\"btn-full\" type=\"button\" onclick=\"addBundleToCart()\"\u003e\n      Add Bundle to Cart $30\n    \u003c\/button\u003e\n  \u003c\/section\u003e\n\n  \u003cscript\u003e\n    async function addBundleToCart() {\n      const btn = document.querySelector('.btn-full');\n      btn.textContent = 'Adding…';\n      btn.disabled = true;\n\n      try {\n        \/\/ Grinder variant IDs for all three products\n        const items = [\n          { id: 44275184992448, quantity: 1 }, \/\/ Coffee Salt Grinder (3 oz)\n          { id: 48505210896576, quantity: 1 }, \/\/ Cocoa Salt Grinder (3 oz)\n          { id: 48505192775872, quantity: 1 }, \/\/ Mocha Salt Grinder (3 oz)\n        ];\n\n        const res = await fetch('\/cart\/add.js', {\n          method: 'POST',\n          headers: { 'Content-Type': 'application\/json' },\n          body: JSON.stringify({ items }),\n        });\n\n        if (!res.ok) throw new Error('Cart error');\n\n        btn.textContent = '✦ Added to Cart';\n        btn.style.background = '#3B2017';\n\n        setTimeout(() =\u003e {\n          window.location.href = '\/cart';\n        }, 900);\n\n      } catch (err) {\n        btn.textContent = 'Something went wrong, try again';\n        btn.disabled = false;\n      }\n    }\n  \u003c\/script\u003e\n\n\n\u003c\/body\u003e","brand":"Summa Salts","offers":[{"title":"Default Title","offer_id":48505235407040,"sku":null,"price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0596\/4287\/2000\/files\/ChatGPT_Image_Jun_27_2026_10_36_22_PM.png?v=1782614202","url":"https:\/\/summasalts.com\/products\/sweet-and-salty","provider":"Summa Salts","version":"1.0","type":"link"}