{"title":"Sale","description":"","products":[{"product_id":"fresh-crab-flavoured-mushrooms-1-box","title":"Shimeji Mushrooms, 1 Box","description":"\u003cdiv id=\"umall-desc\" style=\"--brand:#DB3A35;max-width:860px;margin:0 auto;padding:8px 0 24px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#0f172a;line-height:1.6;\"\u003e\n\u003cstyle\u003e#umall-desc a{ text-decoration:none !important; border-bottom:1px solid var(--brand) !important; } #umall-desc a:hover{ opacity:.85; }\u003c\/style\u003e\n\n\n\n\n\n\n\u003cstyle\u003e\n\/* DESC ENHANCER v1 *\/\n#umall-desc .um-slider{ display:grid; grid-auto-flow:column; grid-auto-columns:180px; gap:12px; overflow-x:auto; padding:2px 2px 8px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; margin-top:12px; }\n#umall-desc .um-slider::-webkit-scrollbar{ height:8px; }\n#umall-desc .um-slider::-webkit-scrollbar-thumb{ background:#e5e7eb; border-radius:999px; }\n#umall-desc .um-card{ scroll-snap-align:start; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; background:#fff; display:flex; flex-direction:column; text-decoration:none; color:inherit; }\n#umall-desc a.um-card{ border-bottom:1px solid #e5e7eb !important; text-decoration:none !important; }\n#umall-desc a[style*=\"border-radius:999\"]{ border-bottom:1px solid #e2e8f0 !important; text-decoration:none !important; }\n#umall-desc .um-imgbox{ background:#fff; display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1\/1; height:auto; position:relative; }\n#umall-desc .um-imgbox img{ max-width:100%; max-height:100%; object-fit:contain; }\n#umall-desc .um-badge{ position:absolute; top:8px; left:8px; background:rgba(219,58,53,.92); color:#fff; font-weight:700; font-size:12px; padding:2px 6px; border-radius:6px; display:none; }\n#umall-desc .um-meta{ padding:10px 10px 12px; display:flex; flex-direction:column; gap:6px; }\n#umall-desc .um-title{ font-size:14px; font-weight:600; color:#0f172a; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:38px; }\n#umall-desc .um-price{ font-size:14px; font-weight:700; color:var(--brand); display:flex; align-items:center; gap:8px; }\n#umall-desc .um-price s{ color:#94a3b8; font-weight:500; }\n#umall-desc .um-recipes{ display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:12px; margin-top:12px; }\n@media (min-width:640px){ #umall-desc .um-recipes{ grid-template-columns:repeat(2,minmax(0,1fr)); } }\n@media (min-width:1024px){ #umall-desc .um-recipes{ grid-template-columns:repeat(3,minmax(0,1fr)); } }\n#umall-desc .um-rcard{ border:1px solid #e2e8f0; border-radius:12px; background:#fff; padding:16px; }\n#umall-desc .um-rcard h4{ margin:0 0 6px; font-size:16px; font-weight:700; color:#0f172a; }\n#umall-desc .um-rcard p, #umall-desc .um-rcard div{ margin:0; font-size:14px; color:#334155; }\n#umall-desc .um-section-title{ margin:16px 0 10px; font-size:16px; font-weight:800; }\n\u003c\/style\u003e\n\n\n\n\n\n\n\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:24px;margin-top:0;\"\u003e\n  \u003ch1 style=\"margin:0 0 6px;font-size:26px;font-weight:800;color:#0f172a;\"\u003eShimeji Mushrooms, 1 Box\u003c\/h1\u003e\n  \u003cp style=\"margin:-4px 0 0;color:#475569;font-size:14px;\"\u003eAlso known as Beech mushrooms\u003c\/p\u003e\n\u003c\/section\u003e\n\n\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\n  \u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003eWhy you’ll love it\u003c\/h3\u003e\n  \u003cp style=\"margin:6px 0 0;color:#334155;\"\u003eDelicately nutty with a clean umami finish, shimeji hold their shape when cooked. Their petite clustered caps and springy stems stay tender-crisp in stir-fries, soups, noodles, and hot pot. Quick-cooking and versatile, they’re an easy flavor upgrade to weeknight meals.\u003c\/p\u003e\n\u003c\/section\u003e\n\n\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\n  \u003ch3 style=\"margin:0 0 12px;font-size:18px;font-weight:700;\"\u003eHow to enjoy\u003c\/h3\u003e\n  \u003cdiv style=\"display:grid;gap:14px;\"\u003e\n    \u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#fff;\"\u003e\n      \u003ch4 style=\"margin:0 0 6px;font-size:16px;font-weight:700;\"\u003eGarlic‑Soy Shimeji Stir‑Fry\u003c\/h4\u003e\n      \u003cp style=\"margin:0;color:#334155;\"\u003eSear shimeji in a hot pan with a touch of oil, add minced garlic and a splash of \u003ca href=\"\/products\/haitian-premium-light-soy-sauce-500ml\"\u003elight soy sauce\u003c\/a\u003e. Finish with a knob of butter or a few drops of sesame oil. Ready in 3–5 minutes.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#fff;\"\u003e\n      \u003ch4 style=\"margin:0 0 6px;font-size:16px;font-weight:700;\"\u003eTofu \u0026amp; Shimeji Clear Soup \u003cspan style=\"display:inline-flex;align-items:center;border:1px solid rgba(219,58,53,.2);color:var(--brand);background:rgba(219,58,53,.08);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;margin-left:8px\"\u003eBroth-based\u003c\/span\u003e\n\u003c\/h4\u003e\n      \u003cp style=\"margin:0;color:#334155;\"\u003eSimmer shimeji with soft tofu and scallions in a light chicken stock like \u003ca href=\"\/products\/bull-head-clear-chicken-broth-411ml-canned-chicken-stock\"\u003eclear chicken broth\u003c\/a\u003e. Season with a little soy; cook 5–7 minutes for a clean, comforting bowl.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#fff;\"\u003e\n      \u003ch4 style=\"margin:0 0 6px;font-size:16px;font-weight:700;\"\u003eYakisoba‑Style Noodle Toss\u003c\/h4\u003e\n      \u003cp style=\"margin:0;color:#334155;\"\u003eStir‑fry shimeji with cabbage or bok choy, then toss through chewy \u003ca href=\"\/products\/chung-yuen-hokkien-noodles-1kg\"\u003eHokkien noodles\u003c\/a\u003e and a savory soy‑oyster glaze. 5–8 minutes total.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#fff;\"\u003e\n      \u003ch4 style=\"margin:0 0 6px;font-size:16px;font-weight:700;\"\u003eTomato Hot Pot Add‑In\u003c\/h4\u003e\n      \u003cp style=\"margin:0;color:#334155;\"\u003eDrop clusters of shimeji into a simmering \u003ca href=\"\/products\/haidilao-tomato-hot-pot-base-200g\"\u003etomato hot pot base\u003c\/a\u003e for a juicy pop of umami; they cook in about 1–2 minutes.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\n  \u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003ePrep Tips\u003c\/h3\u003e\n  \u003cul style=\"margin:6px 0 0 18px;color:#334155;\"\u003e\n    \u003cli\u003eTrim just the very root base to release clusters; keep small clusters intact for better texture.\u003c\/li\u003e\n    \u003cli\u003eAvoid soaking. If needed, give a quick rinse and pat dry so they sear, not steam.\u003c\/li\u003e\n    \u003cli\u003eCook through (shimeji are bitter raw) until tender‑crisp and lightly browned, about 2–4 minutes in a hot pan.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/section\u003e\n\n\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\n  \u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003ePairs well\u003c\/h3\u003e\n  \u003cp style=\"margin:6px 0 0;color:#334155;\"\u003eGarlic, ginger, light soy sauce, oyster sauce, sesame oil, butter, tofu, eggs, leafy greens (bok choy, spinach), seafood (prawns, fish), noodles and steamed rice.\u003c\/p\u003e\n\u003c\/section\u003e\n\n\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;text-align:center;\"\u003e\n  \u003ch3 style=\"margin:0 0 10px;font-size:18px;font-weight:700;\"\u003eMore in this category\u003c\/h3\u003e\n  \u003ca href=\"\/collections\/order-mushrooms-beans-online-next-day-delivery-in-sydney\" style=\"color:var(--brand);font-weight:700;\"\u003eShop all mushrooms \u0026amp; beans\u003c\/a\u003e\n\u003c\/section\u003e\n\n\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003eDelivery \u0026amp; Timing\u003c\/h3\u003e\n\u003cp style=\"margin:6px 0 10px;color:#334155;font-size:14px;\"\u003eYou can \u003cstrong\u003eTrack\u003c\/strong\u003e the courier's location in \u003cstrong\u003eReal‑Time\u003c\/strong\u003e online! Get your order as soon as the \u003cstrong\u003eNext Day\u003c\/strong\u003e (for most areas in Sydney).\u003c\/p\u003e\n\u003ctable style=\"width:100%;border-collapse:collapse;border:1px solid #e5e7eb;\"\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth style=\"text-align:left;padding:10px;border-right:1px solid #e5e7eb;background:#f8fafc;\"\u003eOrder Time\u003c\/th\u003e\n\u003cth style=\"text-align:left;padding:10px;background:#f8fafc;\"\u003eArrival Time\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\u003ctr\u003e\n\u003ctd style=\"padding:12px;border-top:1px solid #e5e7eb;border-right:1px solid #e5e7eb;\"\u003eToday\u003c\/td\u003e\n\u003ctd style=\"padding:12px;border-top:1px solid #e5e7eb;\"\u003e\n\u003cstrong\u003eNext Day (2 options):\u003c\/strong\u003e\u003cul style=\"margin:6px 0 0 18px;\"\u003e\n\u003cli\u003e11:30AM – 06:30PM\u003c\/li\u003e\n\u003cli\u003e05:00PM – 11:00PM\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"color:#a9a9a9;font-size:12px;margin:10px 0 0;\"\u003e* Canceling after the cutoff may incur fees. \u003ca href=\"\/pages\/return-refund-policy\" style=\"color:#DB3A35;text-decoration:underline;\"\u003eClick here\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp style=\"margin:8px 0 0;color:#334155;font-size:14px;\"\u003eDetails: \u003ca href=\"\/pages\/delivery-information\" style=\"color:#DB3A35;text-decoration:underline;\"\u003eDelivery Information\u003c\/a\u003e.\u003c\/p\u003e\u003c\/section\u003e\n\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003eDelivery Fees\u003c\/h3\u003e\n\u003cp style=\"font-size:13px;color:#666;margin:0 0 8px\"\u003e* A flat \u003cstrong\u003e$2 service \u0026amp; packaging fee\u003c\/strong\u003e will be added at checkout — \u003ca href=\"https:\/\/www.umall.com.au\/policies\/shipping-policy\" style=\"color:#DB3A35;text-decoration:underline;\"\u003esee details\u003c\/a\u003e.\u003c\/p\u003e\n\u003ctable style=\"width:100%;border-collapse:collapse;border:1px solid #e5e7eb;\"\u003e\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-right:1px solid #e2e8f0;border-top:1px solid #e5e7eb;\"\u003e$69.00 and up\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e\u003cstrong\u003eFree\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;\"\u003e$20 – $68.99\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e$4.99 \u003cspan style=\"color:#999;font-size:12px\"\u003e(was $10)\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;\"\u003e$0.01 – $19.99\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e$7.99 \u003cspan style=\"color:#999;font-size:12px\"\u003e(was $10)\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/section\u003e\n\u003c\/div\u003e\n\n\n\n\n\n\n\n\n\n\u003cscript\u003e\n\/* DESC ENHANCER JS v1 *\/\n(function(){\n  const root = document.getElementById('umall-desc');\n  if(!root) return;\n\n  const handleFromHref = (href)=\u003e{\n    try{ const u = new URL(href, location.origin); const parts=u.pathname.split('\/').filter(Boolean); const i=parts.findIndex(p=\u003ep==='products'); if(i\u003e=0\u0026\u0026parts[i+1]) return parts[i+1]; }catch(e){}\n    return null;\n  };\n  const money = (cents)=\u003e{ if(window.Shopify \u0026\u0026 Shopify.formatMoney) return Shopify.formatMoney(cents, \"A${{amount}}\"); return typeof cents==='number' ? 'A$'+(cents\/100).toFixed(2) : ''; };\n  const buildProdCard = (handle)=\u003e{ const a=document.createElement('a'); a.className='um-card'; a.href='\/products\/'+handle; a.setAttribute('data-handle',handle); a.innerHTML='\u003cdiv class=\"um-imgbox\"\u003e\u003cimg alt=\"'+handle+'\" loading=\"lazy\"\/\u003e\u003cspan class=\"um-badge\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"um-meta\"\u003e\u003cdiv class=\"um-title\"\u003e'+handle.replace(\/-\/g,' ')+'\u003c\/div\u003e\u003cdiv class=\"um-price\"\u003e\u003c\/div\u003e\u003c\/div\u003e'; return a; };\n  const hydrate = async (a)=\u003e{ const h=a.getAttribute('data-handle'); try{ const r=await fetch('\/products\/'+h+'.js',{credentials:'same-origin'}); if(!r.ok) return; const p=await r.json(); const img=a.querySelector('img'); if(p.images\u0026\u0026p.images[0]) img.src=p.images[0]; const t=a.querySelector('.um-title'); t.textContent=p.title||t.textContent; const vs=(p.variants||[]); const avail=vs.filter(v=\u003ev.available); const arr=avail.length?avail:vs; if(arr.length){ const min=Math.min(...arr.map(v=\u003ev.price)); const maxCompare=Math.max(...arr.map(v=\u003ev.compare_at_price||0)); const price=a.querySelector('.um-price'); price.textContent=''; const cur=document.createElement('span'); cur.textContent=money(min); price.appendChild(cur); if(maxCompare \u0026\u0026 maxCompare\u003emin){ const s=document.createElement('s'); s.textContent=money(maxCompare); price.appendChild(document.createTextNode(' ')); price.appendChild(s); const badge=a.querySelector('.um-badge'); const off=Math.round((1-min\/maxCompare)*100); badge.textContent='-'+off+'%'; badge.style.display='inline-block'; } } }catch(e){} };\n\n  const ensureAfter = (refNode, node)=\u003e{ if(!refNode || !node) return; if(node.parentElement) return; refNode.parentElement.insertBefore(node, refNode.nextSibling); };\n\n  \/\/ How to enjoy → 卡片（保留原内容；隐藏原块；标题统一“Recipes with this product”）\n  try{\n    \/\/ 1) 更鲁棒地找到标题（h2\/h3\/h4）\n    const enjoyH = Array.from(root.querySelectorAll('h2,h3,h4')).find(h=\u003e\/(how to enjoy|ways to enjoy|serving ideas|recipes with this product|食用建议|食用灵感|食法)\/i.test(h.textContent));\n    if(enjoyH){\n      const container = enjoyH.parentElement;\n      \/\/ 2) 就近查找列表或段落（同容器或下一个兄弟）\n      let listEl = container.querySelector('ol, ul');\n      if(!listEl){ const sib = enjoyH.nextElementSibling; if(sib){ listEl = sib.querySelector \u0026\u0026 sib.querySelector('ol, ul'); } }\n\n      \/\/ 3) 容器若不存在则创建\n      let cardsHost = container.querySelector('#um-recipes-cards');\n      if(!cardsHost){ cardsHost=document.createElement('div'); cardsHost.id='um-recipes-cards'; cardsHost.className='um-recipes'; ensureAfter(listEl||enjoyH, cardsHost); }\n      let prodHost = container.querySelector('#um-recipes-products');\n      if(!prodHost){ prodHost=document.createElement('div'); prodHost.id='um-recipes-products'; prodHost.className='um-slider'; ensureAfter(cardsHost, prodHost); }\n\n      const links = new Set();\n      let items = [];\n      if(listEl){ items = Array.from(listEl.children).filter(n=\u003en.tagName==='LI'); }\n      \/\/ 4) 若没有列表，尝试用同容器的段落或“网格DIV\/ARTICLE”作为卡片项\n      if(items.length === 0){\n        let ps = Array.from(container.querySelectorAll(':scope \u003e p'));\n        if(ps.length \u003c 2){ const sib = enjoyH.nextElementSibling; if(sib){ ps = Array.from(sib.querySelectorAll(':scope \u003e p')); } }\n        items = ps;\n      }\n      \/\/ 5) 同容器下寻找“网格容器”（含多个子块，且子块内有 h4\/strong）\n      let gridToHide = null;\n      if(items.length === 0){\n        const ch = Array.from(container.children || []);\n        for(const el of ch){\n          if(el === enjoyH) continue;\n          if(el.children \u0026\u0026 el.children.length \u003e= 2){\n            const first = el.children[0];\n            if((first.querySelector \u0026\u0026 first.querySelector('h3, h4, h5, strong, b, div[style*=\"font-weight:700\"]'))){\n              items = Array.from(el.children);\n              gridToHide = el;\n              break;\n            }\n          }\n        }\n      }\n      \/\/ 6) 仍然没有，则看紧跟标题的下一个块（如显示为卡片的 div\/article 列表）\n      if(items.length === 0){\n        const sib = enjoyH.nextElementSibling;\n        if(sib){\n          const children = Array.from(sib.children || []);\n          if(children.length \u003e= 2){ items = children; gridToHide = sib; }\n        }\n      }\n\n      if(items.length){\n        items.forEach((node, idx)=\u003e{\n          const card=document.createElement('article'); card.className='um-rcard';\n          const titleNode = node.querySelector \u0026\u0026 node.querySelector('h3, h4, h5, div[style*=\"font-weight:700\"], strong, b, a');\n          const h4=document.createElement('h4'); h4.textContent = titleNode ? (titleNode.textContent.trim()||('Recipe '+(idx+1))) : ('Recipe '+(idx+1));\n          const clone = node.cloneNode(true);\n          const rm = clone.querySelector \u0026\u0026 clone.querySelector('h3, h4, h5, div[style*=\"font-weight:700\"], strong, b'); if(rm) rm.remove();\n          const body=document.createElement('div'); while(clone.firstChild){ body.appendChild(clone.firstChild); }\n          card.appendChild(h4); card.appendChild(body); cardsHost.appendChild(card);\n          (node.querySelectorAll ? node.querySelectorAll('a[href]') : []).forEach(a=\u003e{ const h=handleFromHref(a.getAttribute('href')); if(h) links.add(h); });\n        });\n        \/\/ 统一标题并隐藏原内容块\n        enjoyH.textContent = 'Recipes with this product';\n        if(listEl){ listEl.style.display='none'; }\n        else if(gridToHide){ gridToHide.style.display='none'; }\n        else {\n          \/\/ 隐藏直接段落（避免把其它段落隐藏过多，仅隐藏紧邻的）\n          const ps = Array.from(container.querySelectorAll(':scope \u003e p'));\n          ps.forEach(p=\u003e{ p.style.display='none'; });\n        }\n      }\n      if(prodHost \u0026\u0026 links.size){ Array.from(links).forEach(h=\u003e{ const a=buildProdCard(h); prodHost.appendChild(a); hydrate(a); }); }\n    }\n  }catch(e){}\n\n  \/\/ Pairs well → 滑动卡片（并将标题统一为 “Pairs well with these products”）\n  try{\n    const pairsH = Array.from(root.querySelectorAll('h2,h3,h4')).find(h=\u003e\/(pairs\\s*well|pairswell|配搭建议|搭配推荐|搭配)\/i.test(h.textContent));\n    if(pairsH){\n      const section=pairsH.parentElement; const ul=section.querySelector('ul');\n      \/\/ 统一标题文案\n      pairsH.textContent = 'Pairs well with these products';\n      let host=section.querySelector('#um-pairs-slider');\n      if(!host){ host=document.createElement('div'); host.id='um-pairs-slider'; host.className='um-slider'; ensureAfter(ul||pairsH, host); }\n      const unique=new Set();\n      \/\/ 允许 p 段落或任意容器中的产品链接\n      section.querySelectorAll('a[href]').forEach(a=\u003e{ const h=handleFromHref(a.getAttribute('href')); if(h \u0026\u0026 !unique.has(h)) unique.add(h); });\n      unique.forEach(h=\u003e{ const card=buildProdCard(h); host.appendChild(card); hydrate(card); });\n    }\n  }catch(e){}\n\n  \/\/ More in this category → 条件滑动，成功后隐藏原标题与列表，把 Explore CTA 放到滑动条上方\n  try{\n    const moreH = Array.from(root.querySelectorAll('h2,h3,h4')).find(h=\u003e\/(more in this category|同类推荐|更多此分类)\/i.test(h.textContent));\n    if(moreH){ const section=moreH.parentElement; const ul=section.querySelector('ul'); let host=section.querySelector('#um-more-slider'); if(!host){ host=document.createElement('div'); host.id='um-more-slider'; host.className='um-slider'; ensureAfter(ul||moreH, host); } if(ul){ const links=ul.querySelectorAll('a[href]'); if(links.length\u003e=2){ const unique=new Set(); links.forEach(a=\u003e{ const h=handleFromHref(a.getAttribute('href')); if(h \u0026\u0026 !unique.has(h)){ unique.add(h); const card=buildProdCard(h); host.appendChild(card); hydrate(card); } }); if(host.children.length){ ul.style.display='none'; moreH.style.display='none'; const ctaWrap = Array.from(section.querySelectorAll('div')).find(d=\u003ed.querySelector('a[href^=\"\/collections\/\"]')); if(ctaWrap){ section.insertBefore(ctaWrap, host); } } } } }\n  }catch(e){}\n})();\n\u003c\/script\u003e\n\n\n\n\n\n\n\n\n","brand":"Umall Fresh","offers":[{"title":"Default Title","offer_id":48151496196383,"sku":"9202402011423","price":1.89,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/edc4b398df5da7e784781b55e2692724.jpg?v=1724144189"},{"product_id":"fresh-hydroponically-grown-shanghai-bok-choy-1-bundle","title":"Hydroponically Grown Shanghai Bok Choy - 1 Bundle","description":"\u003cdiv id=\"umall-desc\" style=\"--brand:#DB3A35;max-width:860px;margin:0 auto;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#0f172a;line-height:1.55;\"\u003e\n\u003cstyle\u003e#umall-desc a{ text-decoration:none !important; border-bottom:1px solid var(--brand) !important; } #umall-desc a:hover{ opacity:.85; }\u003c\/style\u003e\n\n\n\n\n\n\n\n\n\u003cstyle\u003e\n\/* DESC ENHANCER v1 *\/\n#umall-desc .um-slider{ display:grid; grid-auto-flow:column; grid-auto-columns:180px; gap:12px; overflow-x:auto; padding:2px 2px 8px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; margin-top:12px; }\n#umall-desc .um-slider::-webkit-scrollbar{ height:8px; }\n#umall-desc .um-slider::-webkit-scrollbar-thumb{ background:#e5e7eb; border-radius:999px; }\n#umall-desc .um-card{ scroll-snap-align:start; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; background:#fff; display:flex; flex-direction:column; text-decoration:none; color:inherit; }\n#umall-desc a.um-card{ border-bottom:1px solid #e5e7eb !important; text-decoration:none !important; }\n#umall-desc a[style*=\"border-radius:999\"]{ border-bottom:1px solid #e2e8f0 !important; text-decoration:none !important; }\n#umall-desc .um-imgbox{ background:#fff; display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1\/1; height:auto; position:relative; }\n#umall-desc .um-imgbox img{ max-width:100%; max-height:100%; object-fit:contain; }\n#umall-desc .um-badge{ position:absolute; top:8px; left:8px; background:rgba(219,58,53,.92); color:#fff; font-weight:700; font-size:12px; padding:2px 6px; border-radius:6px; display:none; }\n#umall-desc .um-meta{ padding:10px 10px 12px; display:flex; flex-direction:column; gap:6px; }\n#umall-desc .um-title{ font-size:14px; font-weight:600; color:#0f172a; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:38px; }\n#umall-desc .um-price{ font-size:14px; font-weight:700; color:var(--brand); display:flex; align-items:center; gap:8px; }\n#umall-desc .um-price s{ color:#94a3b8; font-weight:500; }\n#umall-desc .um-recipes{ display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:12px; margin-top:12px; }\n@media (min-width:640px){ #umall-desc .um-recipes{ grid-template-columns:repeat(2,minmax(0,1fr)); } }\n@media (min-width:1024px){ #umall-desc .um-recipes{ grid-template-columns:repeat(3,minmax(0,1fr)); } }\n#umall-desc .um-rcard{ border:1px solid #e2e8f0; border-radius:12px; background:#fff; padding:16px; }\n#umall-desc .um-rcard h4{ margin:0 0 6px; font-size:16px; font-weight:700; color:#0f172a; }\n#umall-desc .um-rcard p, #umall-desc .um-rcard div{ margin:0; font-size:14px; color:#334155; }\n#umall-desc .um-section-title{ margin:16px 0 10px; font-size:16px; font-weight:800; }\n\u003c\/style\u003e\n\n\n\n\n\n\n\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:22px;\"\u003e\n    \u003ch1 style=\"margin:0 0 6px;font-size:26px;font-weight:800;color:#0f172a;\"\u003eHydroponically Grown Shanghai Bok Choy - 1 Bundle\u003c\/h1\u003e\n    \u003cp style=\"margin:8px 0 0;color:#475569;font-size:14px;\"\u003eCrisp green stems, tender leaves, and clean, soil-free growing — perfect for quick weeknight cooking.\u003c\/p\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\n    \u003ch3 style=\"margin:0 0 10px;font-size:18px;font-weight:700;\"\u003eWhy you’ll love it\u003c\/h3\u003e\n    \u003cul style=\"margin:8px 0 0 18px;color:#334155;font-size:14px;\"\u003e\n      \u003cli\u003eHydroponic-grown for extra cleanliness and consistent crunch.\u003c\/li\u003e\n      \u003cli\u003eSweet, mild flavor that shines in quick stir-fries, soups, and noodles.\u003c\/li\u003e\n      \u003cli\u003eCooks in minutes — stems stay juicy while leaves turn silky.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\n    \u003ch3 style=\"margin:0 0 12px;font-size:18px;font-weight:700;\"\u003eHow to enjoy\u003c\/h3\u003e\n    \u003cdiv style=\"display:grid;gap:14px;\"\u003e\n      \u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;\"\u003e\n        \u003cdiv style=\"font-weight:700;\"\u003eGarlic–Ginger Stir‑Fry with Oyster Sauce\u003c\/div\u003e\n        \u003cp style=\"margin:6px 0 0;color:#475569;font-size:14px;\"\u003eWok-sear stems, then leaves; splash with \u003ca style=\"color:#DB3A35;\" href=\"\/products\/haitian-premium-oyster-sauce-700g\"\u003eoyster sauce\u003c\/a\u003e and a spoon of water to glaze. Ready in about 2–4 minutes.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;\"\u003e\n        \u003cdiv style=\"font-weight:700;\"\u003eClear Noodle Soup with Enoki \u003cspan style=\"display:inline-flex;align-items:center;border:1px solid rgba(219,58,53,.2);color:var(--brand);background:rgba(219,58,53,.08);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;margin-left:8px\"\u003eBroth‑based\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cp style=\"margin:6px 0 0;color:#475569;font-size:14px;\"\u003eSimmer a light broth (try \u003ca style=\"color:#DB3A35;\" href=\"\/products\/bull-head-clear-chicken-broth-411ml-canned-chicken-stock\"\u003eclear chicken stock\u003c\/a\u003e), add \u003ca style=\"color:#DB3A35;\" href=\"\/products\/chunsi-jiangxi-rice-noodles-300g\"\u003erice vermicelli\u003c\/a\u003e, enoki \u003ca style=\"color:#DB3A35;\" href=\"\/products\/chois-enoki-mushrooms-300g\"\u003emushrooms\u003c\/a\u003e, then the bok choy for 1–2 minutes till vibrant.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;\"\u003e\n        \u003cdiv style=\"font-weight:700;\"\u003eSilky Tofu Braise with Soy\u003c\/div\u003e\n        \u003cp style=\"margin:6px 0 0;color:#475569;font-size:14px;\"\u003eGently simmer chunks of firm \u003ca style=\"color:#DB3A35;\" href=\"\/products\/fresh-ever-green-aged-tofu-approximately-900g\"\u003etofu\u003c\/a\u003e with soy, garlic, and a splash of water. Nestle in bok choy for the final 2–3 minutes.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;\"\u003e\n        \u003cdiv style=\"font-weight:700;\"\u003eSesame‑Ginger Salad\u003c\/div\u003e\n        \u003cp style=\"margin:6px 0 0;color:#475569;font-size:14px;\"\u003eThinly slice raw stems\/leaves; toss with \u003ca style=\"color:#DB3A35;\" href=\"\/products\/hengshun-9-degree-rice-vinegar-500ml\"\u003erice vinegar\u003c\/a\u003e, a few drops of \u003ca style=\"color:#DB3A35;\" href=\"\/products\/lee-kum-kee-pure-sesame-oil-207ml\"\u003esesame oil\u003c\/a\u003e, soy, and grated ginger for a crunchy slaw.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\n    \u003ch3 style=\"margin:0 0 10px;font-size:18px;font-weight:700;\"\u003ePrep Tips\u003c\/h3\u003e\n    \u003cul style=\"margin:8px 0 0 18px;color:#334155;font-size:14px;\"\u003e\n      \u003cli\u003eRinse briefly; hydroponic growing means minimal grit.\u003c\/li\u003e\n      \u003cli\u003eSplit stems from leaves so you can start stems first for extra crunch.\u003c\/li\u003e\n      \u003cli\u003eA quick blanch (20–40 seconds) sets color before stir‑frying or chilling for salads.\u003c\/li\u003e\n      \u003cli\u003eDon’t overcook — remove from heat as soon as leaves wilt and stems turn glossy.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\n    \u003ch3 style=\"margin:0 0 10px;font-size:18px;font-weight:700;\"\u003ePairs well\u003c\/h3\u003e\n    \u003cul style=\"margin:8px 0 0 18px;color:#334155;font-size:14px;\"\u003e\n      \u003cli\u003e\n\u003ca style=\"color:#DB3A35;\" href=\"\/products\/haitian-premium-light-soy-sauce-500ml\"\u003eLight soy sauce\u003c\/a\u003e or a touch of \u003ca style=\"color:#DB3A35;\" href=\"\/products\/haitian-premium-oyster-sauce-700g\"\u003eoyster sauce\u003c\/a\u003e\n\u003c\/li\u003e\n      \u003cli\u003eUmami boosters like \u003ca style=\"color:#DB3A35;\" href=\"\/products\/chois-shiitake-mushrooms-100g\"\u003eshiitake mushrooms\u003c\/a\u003e\n\u003c\/li\u003e\n      \u003cli\u003eProtein balance with \u003ca style=\"color:#DB3A35;\" href=\"\/products\/fresh-ever-green-chinese-style-tofu-approximately-500g\"\u003eclassic tofu\u003c\/a\u003e or \u003ca style=\"color:#DB3A35;\" href=\"\/products\/australian-raw-king-prawns-peeled-tail-on-flash-frozen-700g\"\u003eking prawns\u003c\/a\u003e\n\u003c\/li\u003e\n      \u003cli\u003eFinishing drizzle of \u003ca style=\"color:#DB3A35;\" href=\"\/products\/lee-kum-kee-pure-sesame-oil-207ml\"\u003esesame oil\u003c\/a\u003e\n\u003c\/li\u003e\n      \u003cli\u003eNoodle companions like \u003ca style=\"color:#DB3A35;\" href=\"\/products\/fresh-evergreen-yangchun-noodles-500g\"\u003eYangchun wheat noodles\u003c\/a\u003e\n\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;\"\u003e\n    \u003cdiv\u003e\n      \u003ch3 style=\"margin:0 0 6px;font-size:18px;font-weight:700;\"\u003eMore in this category\u003c\/h3\u003e\n      \u003cp style=\"margin:6px 0 0;color:#475569;font-size:14px;\"\u003eExplore more fresh leafy greens for your next stir‑fry, soup, or salad.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003ca href=\"\/collections\/leafy-vegetables\" style=\"color:#DB3A35;padding:10px 14px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;font-weight:700;white-space:nowrap;\"\u003eBrowse all leafy vegetables\u003c\/a\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003eDelivery \u0026amp; Timing\u003c\/h3\u003e\n\u003cp style=\"margin:6px 0 10px;color:#334155;font-size:14px;\"\u003eYou can \u003cstrong\u003eTrack\u003c\/strong\u003e the courier's location in \u003cstrong\u003eReal‑Time\u003c\/strong\u003e online! Get your order as soon as the \u003cstrong\u003eNext Day\u003c\/strong\u003e (for most areas in Sydney).\u003c\/p\u003e\n\u003ctable style=\"width:100%;border-collapse:collapse;border:1px solid #e5e7eb;\"\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth style=\"text-align:left;padding:10px;border-right:1px solid #e5e7eb;background:#f8fafc;\"\u003eOrder Time\u003c\/th\u003e\n\u003cth style=\"text-align:left;padding:10px;background:#f8fafc;\"\u003eArrival Time\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\u003ctr\u003e\n\u003ctd style=\"padding:12px;border-top:1px solid #e5e7eb;border-right:1px solid #e5e7eb;\"\u003eToday\u003c\/td\u003e\n\u003ctd style=\"padding:12px;border-top:1px solid #e5e7eb;\"\u003e\n\u003cstrong\u003eNext Day (2 options):\u003c\/strong\u003e\u003cul style=\"margin:6px 0 0 18px;\"\u003e\n\u003cli\u003e11:30AM – 06:30PM\u003c\/li\u003e\n\u003cli\u003e05:00PM – 11:00PM\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"color:#a9a9a9;font-size:12px;margin:10px 0 0;\"\u003e* Canceling after the cutoff may incur fees. \u003ca href=\"\/pages\/return-refund-policy\" style=\"color:#DB3A35;text-decoration:underline;\"\u003eClick here\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp style=\"margin:8px 0 0;color:#334155;font-size:14px;\"\u003eDetails: \u003ca href=\"\/pages\/delivery-information\" style=\"color:#DB3A35;text-decoration:underline;\"\u003eDelivery Information\u003c\/a\u003e.\u003c\/p\u003e\u003c\/section\u003e\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003eDelivery Fees\u003c\/h3\u003e\n\u003cp style=\"font-size:13px;color:#666;margin:0 0 8px\"\u003e* A flat \u003cstrong\u003e$2 service \u0026amp; packaging fee\u003c\/strong\u003e will be added at checkout — \u003ca href=\"https:\/\/www.umall.com.au\/policies\/shipping-policy\" style=\"color:#DB3A35;text-decoration:underline;\"\u003esee details\u003c\/a\u003e.\u003c\/p\u003e\n\u003ctable style=\"width:100%;border-collapse:collapse;border:1px solid #e5e7eb;\"\u003e\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;\"\u003e$69.00 and up\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e\u003cstrong\u003eFree\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;\"\u003e$20 – $68.99\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e$4.99 \u003cspan style=\"color:#999;font-size:12px\"\u003e(was $10)\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;\"\u003e$0.01 – $19.99\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e$7.99 \u003cspan style=\"color:#999;font-size:12px\"\u003e(was $10)\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/section\u003e\n\u003c\/div\u003e\n\n\n\n\n\n\n\n\n\n\n\n\u003cscript\u003e\n\/* DESC ENHANCER JS v1 *\/\n(function(){\n  const root = document.getElementById('umall-desc');\n  if(!root) return;\n\n  const handleFromHref = (href)=\u003e{\n    try{ const u = new URL(href, location.origin); const parts=u.pathname.split('\/').filter(Boolean); const i=parts.findIndex(p=\u003ep==='products'); if(i\u003e=0\u0026\u0026parts[i+1]) return parts[i+1]; }catch(e){}\n    return null;\n  };\n  const money = (cents)=\u003e{ if(window.Shopify \u0026\u0026 Shopify.formatMoney) return Shopify.formatMoney(cents, \"A${{amount}}\"); return typeof cents==='number' ? 'A$'+(cents\/100).toFixed(2) : ''; };\n  const buildProdCard = (handle)=\u003e{ const a=document.createElement('a'); a.className='um-card'; a.href='\/products\/'+handle; a.setAttribute('data-handle',handle); a.innerHTML='\u003cdiv class=\"um-imgbox\"\u003e\u003cimg alt=\"'+handle+'\" loading=\"lazy\"\/\u003e\u003cspan class=\"um-badge\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"um-meta\"\u003e\u003cdiv class=\"um-title\"\u003e'+handle.replace(\/-\/g,' ')+'\u003c\/div\u003e\u003cdiv class=\"um-price\"\u003e\u003c\/div\u003e\u003c\/div\u003e'; return a; };\n  const hydrate = async (a)=\u003e{ const h=a.getAttribute('data-handle'); try{ const r=await fetch('\/products\/'+h+'.js',{credentials:'same-origin'}); if(!r.ok) return; const p=await r.json(); const img=a.querySelector('img'); if(p.images\u0026\u0026p.images[0]) img.src=p.images[0]; const t=a.querySelector('.um-title'); t.textContent=p.title||t.textContent; const vs=(p.variants||[]); const avail=vs.filter(v=\u003ev.available); const arr=avail.length?avail:vs; if(arr.length){ const min=Math.min(...arr.map(v=\u003ev.price)); const maxCompare=Math.max(...arr.map(v=\u003ev.compare_at_price||0)); const price=a.querySelector('.um-price'); price.textContent=''; const cur=document.createElement('span'); cur.textContent=money(min); price.appendChild(cur); if(maxCompare \u0026\u0026 maxCompare\u003emin){ const s=document.createElement('s'); s.textContent=money(maxCompare); price.appendChild(document.createTextNode(' ')); price.appendChild(s); const badge=a.querySelector('.um-badge'); const off=Math.round((1-min\/maxCompare)*100); badge.textContent='-'+off+'%'; badge.style.display='inline-block'; } } }catch(e){} };\n\n  const ensureAfter = (refNode, node)=\u003e{ if(!refNode || !node) return; if(node.parentElement) return; refNode.parentElement.insertBefore(node, refNode.nextSibling); };\n\n  \/\/ How to enjoy → 卡片（保留原内容；隐藏原块；标题统一“Recipes with this product”）\n  try{\n    \/\/ 1) 更鲁棒地找到标题（h2\/h3\/h4）\n    const enjoyH = Array.from(root.querySelectorAll('h2,h3,h4')).find(h=\u003e\/(how to enjoy|ways to enjoy|serving ideas|recipes with this product|食用建议|食用灵感|食法)\/i.test(h.textContent));\n    if(enjoyH){\n      const container = enjoyH.parentElement;\n      \/\/ 2) 就近查找列表或段落（同容器或下一个兄弟）\n      let listEl = container.querySelector('ol, ul');\n      if(!listEl){ const sib = enjoyH.nextElementSibling; if(sib){ listEl = sib.querySelector \u0026\u0026 sib.querySelector('ol, ul'); } }\n\n      \/\/ 3) 容器若不存在则创建\n      let cardsHost = container.querySelector('#um-recipes-cards');\n      if(!cardsHost){ cardsHost=document.createElement('div'); cardsHost.id='um-recipes-cards'; cardsHost.className='um-recipes'; ensureAfter(listEl||enjoyH, cardsHost); }\n      let prodHost = container.querySelector('#um-recipes-products');\n      if(!prodHost){ prodHost=document.createElement('div'); prodHost.id='um-recipes-products'; prodHost.className='um-slider'; ensureAfter(cardsHost, prodHost); }\n\n      const links = new Set();\n      let items = [];\n      if(listEl){ items = Array.from(listEl.children).filter(n=\u003en.tagName==='LI'); }\n      \/\/ 4) 若没有列表，尝试用同容器的段落或“网格DIV\/ARTICLE”作为卡片项\n      if(items.length === 0){\n        let ps = Array.from(container.querySelectorAll(':scope \u003e p'));\n        if(ps.length \u003c 2){ const sib = enjoyH.nextElementSibling; if(sib){ ps = Array.from(sib.querySelectorAll(':scope \u003e p')); } }\n        items = ps;\n      }\n      \/\/ 5) 同容器下寻找“网格容器”（含多个子块，且子块内有 h4\/strong）\n      let gridToHide = null;\n      if(items.length === 0){\n        const ch = Array.from(container.children || []);\n        for(const el of ch){\n          if(el === enjoyH) continue;\n          if(el.children \u0026\u0026 el.children.length \u003e= 2){\n            const first = el.children[0];\n            if((first.querySelector \u0026\u0026 first.querySelector('h3, h4, h5, strong, b, div[style*=\"font-weight:700\"]'))){\n              items = Array.from(el.children);\n              gridToHide = el;\n              break;\n            }\n          }\n        }\n      }\n      \/\/ 6) 仍然没有，则看紧跟标题的下一个块（如显示为卡片的 div\/article 列表）\n      if(items.length === 0){\n        const sib = enjoyH.nextElementSibling;\n        if(sib){\n          const children = Array.from(sib.children || []);\n          if(children.length \u003e= 2){ items = children; gridToHide = sib; }\n        }\n      }\n\n      if(items.length){\n        items.forEach((node, idx)=\u003e{\n          const card=document.createElement('article'); card.className='um-rcard';\n          const titleNode = node.querySelector \u0026\u0026 node.querySelector('h3, h4, h5, div[style*=\"font-weight:700\"], strong, b, a');\n          const h4=document.createElement('h4'); h4.textContent = titleNode ? (titleNode.textContent.trim()||('Recipe '+(idx+1))) : ('Recipe '+(idx+1));\n          const clone = node.cloneNode(true);\n          const rm = clone.querySelector \u0026\u0026 clone.querySelector('h3, h4, h5, div[style*=\"font-weight:700\"], strong, b'); if(rm) rm.remove();\n          const body=document.createElement('div'); while(clone.firstChild){ body.appendChild(clone.firstChild); }\n          card.appendChild(h4); card.appendChild(body); cardsHost.appendChild(card);\n          (node.querySelectorAll ? node.querySelectorAll('a[href]') : []).forEach(a=\u003e{ const h=handleFromHref(a.getAttribute('href')); if(h) links.add(h); });\n        });\n        \/\/ 统一标题并隐藏原内容块\n        enjoyH.textContent = 'Recipes with this product';\n        if(listEl){ listEl.style.display='none'; }\n        else if(gridToHide){ gridToHide.style.display='none'; }\n        else {\n          \/\/ 隐藏直接段落（避免把其它段落隐藏过多，仅隐藏紧邻的）\n          const ps = Array.from(container.querySelectorAll(':scope \u003e p'));\n          ps.forEach(p=\u003e{ p.style.display='none'; });\n        }\n      }\n      if(prodHost \u0026\u0026 links.size){ Array.from(links).forEach(h=\u003e{ const a=buildProdCard(h); prodHost.appendChild(a); hydrate(a); }); }\n    }\n  }catch(e){}\n\n  \/\/ Pairs well → 滑动卡片（并将标题统一为 “Pairs well with these products”）\n  try{\n    const pairsH = Array.from(root.querySelectorAll('h2,h3,h4')).find(h=\u003e\/(pairs\\s*well|pairswell|配搭建议|搭配推荐|搭配)\/i.test(h.textContent));\n    if(pairsH){\n      const section=pairsH.parentElement; const ul=section.querySelector('ul');\n      \/\/ 统一标题文案\n      pairsH.textContent = 'Pairs well with these products';\n      let host=section.querySelector('#um-pairs-slider');\n      if(!host){ host=document.createElement('div'); host.id='um-pairs-slider'; host.className='um-slider'; ensureAfter(ul||pairsH, host); }\n      const unique=new Set();\n      \/\/ 允许 p 段落或任意容器中的产品链接\n      section.querySelectorAll('a[href]').forEach(a=\u003e{ const h=handleFromHref(a.getAttribute('href')); if(h \u0026\u0026 !unique.has(h)) unique.add(h); });\n      unique.forEach(h=\u003e{ const card=buildProdCard(h); host.appendChild(card); hydrate(card); });\n    }\n  }catch(e){}\n\n  \/\/ More in this category → 条件滑动，成功后隐藏原标题与列表，把 Explore CTA 放到滑动条上方\n  try{\n    const moreH = Array.from(root.querySelectorAll('h2,h3,h4')).find(h=\u003e\/(more in this category|同类推荐|更多此分类)\/i.test(h.textContent));\n    if(moreH){ const section=moreH.parentElement; const ul=section.querySelector('ul'); let host=section.querySelector('#um-more-slider'); if(!host){ host=document.createElement('div'); host.id='um-more-slider'; host.className='um-slider'; ensureAfter(ul||moreH, host); } if(ul){ const links=ul.querySelectorAll('a[href]'); if(links.length\u003e=2){ const unique=new Set(); links.forEach(a=\u003e{ const h=handleFromHref(a.getAttribute('href')); if(h \u0026\u0026 !unique.has(h)){ unique.add(h); const card=buildProdCard(h); host.appendChild(card); hydrate(card); } }); if(host.children.length){ ul.style.display='none'; moreH.style.display='none'; const ctaWrap = Array.from(section.querySelectorAll('div')).find(d=\u003ed.querySelector('a[href^=\"\/collections\/\"]')); if(ctaWrap){ section.insertBefore(ctaWrap, host); } } } } }\n  }catch(e){}\n})();\n\u003c\/script\u003e\n\n\n\n\n\n\n\n\n\n\n","brand":"Umall Fresh","offers":[{"title":"Default Title","offer_id":48151499342111,"sku":"9335351095476","price":1.49,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_f6dd913a-7613-407c-88aa-346a9c450e5c.jpg?v=1721716011"},{"product_id":"fresh-chicken-feather-greens-approximately-200g-per-bunch","title":"Chicken Feather Greens, 1 Bunch, 200g","description":"\u003cdiv id=\"umall-desc\" style=\"--brand:#DB3A35;max-width:860px;margin:0 auto;padding:6px 0 20px;color:#334155;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;\"\u003e\n\u003cstyle\u003e#umall-desc a{ text-decoration:none !important; border-bottom:1px solid var(--brand) !important; } #umall-desc a:hover{ opacity:.85; }\u003c\/style\u003e\n\n\n\n\n\n\n\u003cstyle\u003e\n\/* DESC ENHANCER v1 *\/\n#umall-desc .um-slider{ display:grid; grid-auto-flow:column; grid-auto-columns:180px; gap:12px; overflow-x:auto; padding:2px 2px 8px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; margin-top:12px; }\n#umall-desc .um-slider::-webkit-scrollbar{ height:8px; }\n#umall-desc .um-slider::-webkit-scrollbar-thumb{ background:#e5e7eb; border-radius:999px; }\n#umall-desc .um-card{ scroll-snap-align:start; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; background:#fff; display:flex; flex-direction:column; text-decoration:none; color:inherit; }\n#umall-desc a.um-card{ border-bottom:1px solid #e5e7eb !important; text-decoration:none !important; }\n#umall-desc a[style*=\"border-radius:999\"]{ border-bottom:1px solid #e2e8f0 !important; text-decoration:none !important; }\n#umall-desc .um-imgbox{ background:#fff; display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1\/1; height:auto; position:relative; }\n#umall-desc .um-imgbox img{ max-width:100%; max-height:100%; object-fit:contain; }\n#umall-desc .um-badge{ position:absolute; top:8px; left:8px; background:rgba(219,58,53,.92); color:#fff; font-weight:700; font-size:12px; padding:2px 6px; border-radius:6px; display:none; }\n#umall-desc .um-meta{ padding:10px 10px 12px; display:flex; flex-direction:column; gap:6px; }\n#umall-desc .um-title{ font-size:14px; font-weight:600; color:#0f172a; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:38px; }\n#umall-desc .um-price{ font-size:14px; font-weight:700; color:var(--brand); display:flex; align-items:center; gap:8px; }\n#umall-desc .um-price s{ color:#94a3b8; font-weight:500; }\n#umall-desc .um-recipes{ display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:12px; margin-top:12px; }\n@media (min-width:640px){ #umall-desc .um-recipes{ grid-template-columns:repeat(2,minmax(0,1fr)); } }\n@media (min-width:1024px){ #umall-desc .um-recipes{ grid-template-columns:repeat(3,minmax(0,1fr)); } }\n#umall-desc .um-rcard{ border:1px solid #e2e8f0; border-radius:12px; background:#fff; padding:16px; }\n#umall-desc .um-rcard h4{ margin:0 0 6px; font-size:16px; font-weight:700; color:#0f172a; }\n#umall-desc .um-rcard p, #umall-desc .um-rcard div{ margin:0; font-size:14px; color:#334155; }\n#umall-desc .um-section-title{ margin:16px 0 10px; font-size:16px; font-weight:800; }\n\u003c\/style\u003e\n\n\n\n\n\n\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:22px;margin-top:8px;\"\u003e\u003ch1 style=\"margin:0 0 6px;font-size:24px;letter-spacing:.2px;\"\u003eChicken Feather Greens, 1 Bunch, 200g\u003c\/h1\u003e\n\u003cp style=\"margin:6px 0 0;color:#475569;font-size:14px;\"\u003eTender, frilly baby Asian greens with crisp stems and a mild, sweet‑green flavor—perfect for speedy weeknight cooking.\u003c\/p\u003e\u003c\/section\u003e\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\u003ch3 style=\"margin:0 0 10px;font-size:18px;font-weight:700;\"\u003eWhy you’ll love it\u003c\/h3\u003e\n\u003cul style=\"margin:8px 0 0 18px;padding:0;\"\u003e\n\u003cli\u003eDelicate, quick‑cooking leaves and crunchy stems—ready in minutes.\u003c\/li\u003e\n\u003cli\u003eMild, versatile taste that shines in stir‑fries, soups, and simple salads.\u003c\/li\u003e\n\u003cli\u003eGreat companion to garlic, soy, sesame, mushrooms, and tofu.\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/section\u003e\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\u003ch3 style=\"margin:0 0 10px;font-size:18px;font-weight:700;\"\u003eHow to enjoy\u003c\/h3\u003e\n\u003cdiv style=\"display:grid;grid-template-columns:1fr;gap:14px;\"\u003e \u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#fff;\"\u003e\n\u003ch4 style=\"margin:0 0 6px;font-size:16px;\"\u003eGarlic–oyster stir‑fry\u003c\/h4\u003e\n\u003cp style=\"margin:6px 0 0;\"\u003eWok over high heat with a splash of oil, sizzle minced garlic, then add greens; toss with a spoon of oyster sauce and a dash of water. Cook 1–2 minutes until glossy and just tender. Try with \u003ca href=\"\/products\/peeled-garlic-cloves-250g\"\u003ePeeled Garlic Cloves - 250g\u003c\/a\u003e, \u003ca href=\"\/products\/haitian-premium-oyster-sauce-700g\"\u003eHaitian Premium Oyster Sauce 700g\u003c\/a\u003e, and \u003ca href=\"\/products\/88-canola-oil-1l\"\u003e88 Canola Oil - 1L\u003c\/a\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#fff;\"\u003e\n\u003ch4 style=\"margin:0 0 6px;font-size:16px;\"\u003eBlanched sesame‑soy salad \u003cspan style=\"display:inline-flex;align-items:center;border:1px solid rgba(219,58,53,.2);color:var(--brand);background:rgba(219,58,53,.08);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;margin-left:8px\"\u003eLow‑calorie\u003c\/span\u003e\n\u003c\/h4\u003e\n\u003cp style=\"margin:6px 0 0;\"\u003eBlanch greens 20–40 seconds, chill, then dress lightly with soy, rice vinegar, and a few drops of sesame oil. Garnish with toasted sesame. Use \u003ca href=\"\/products\/hengshun-white-rice-vinegar-500ml\"\u003eHengshun White Rice Vinegar 500ml\u003c\/a\u003e, \u003ca href=\"\/products\/lee-kum-kee-pure-sesame-oil-207ml\"\u003eLee Kum Kee Pure Sesame Oil 207ml\u003c\/a\u003e, and \u003ca href=\"\/products\/haitian-premium-light-soy-sauce-500ml\"\u003eHaitian Premium Light Soy Sauce 500ml\u003c\/a\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#fff;\"\u003e\n\u003ch4 style=\"margin:0 0 6px;font-size:16px;\"\u003eBrothy tofu \u0026amp; enoki soup\u003c\/h4\u003e\n\u003cp style=\"margin:6px 0 0;\"\u003eSimmer a light stock, add tofu cubes and enoki, then slip in chopped greens just before serving (they cook in 30–60 seconds). Cozy and clean. Pair with \u003ca href=\"\/products\/fresh-ever-green-smooth-tofu-approximately-300g\"\u003eEver Green Silken Tofu, 300g\u003c\/a\u003e, \u003ca href=\"\/products\/chois-enoki-mushrooms-300g\"\u003eEnoki Enoki Mushrooms - 300g\u003c\/a\u003e, and \u003ca href=\"\/products\/bull-head-clear-chicken-broth-411ml-canned-chicken-stock\"\u003eBull Head Clear Chicken Broth 411ml\u003c\/a\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#fff;\"\u003e\n\u003ch4 style=\"margin:0 0 6px;font-size:16px;\"\u003e10‑minute noodle bowl topper\u003c\/h4\u003e\n\u003cp style=\"margin:6px 0 0;\"\u003eBoil wheat or rice noodles; in the last minute, add chopped greens. Drain and finish with light soy and a touch of chili oil. Try \u003ca href=\"\/products\/fresh-evergreen-yangchun-noodles-500g\"\u003eEvergreen Yangchun Noodles 500g\u003c\/a\u003e, \u003ca href=\"\/products\/haday-golden-label-light-soy-sauce-1-28l\"\u003eHaday Golden Label Light Soy Sauce 1.28L\u003c\/a\u003e, and \u003ca href=\"\/products\/chuan-nan-spicy-chili-oil-326g\"\u003eChuan Nan Spicy Chili Oil 326g\u003c\/a\u003e.\u003c\/p\u003e\n\u003c\/div\u003e \u003c\/div\u003e\u003c\/section\u003e\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\u003ch3 style=\"margin:0 0 10px;font-size:18px;font-weight:700;\"\u003ePrep Tips\u003c\/h3\u003e\n\u003cul style=\"margin:8px 0 0 18px;padding:0;\"\u003e\n\u003cli\u003eRinse well and shake dry; sand hides between frilly leaves.\u003c\/li\u003e\n\u003cli\u003eTrim the root base, keep stems intact for crunch; halve thicker stems for even cooking.\u003c\/li\u003e\n\u003cli\u003eCook hot and fast—stir‑fry 1–2 minutes or blanch 20–40 seconds to keep vibrant and crisp.\u003c\/li\u003e\n\u003cli\u003eSeason at the end to avoid over‑wilting.\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/section\u003e\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\u003ch3 style=\"margin:0 0 10px;font-size:18px;font-weight:700;\"\u003ePairs well\u003c\/h3\u003e\n\u003cul style=\"margin:8px 0 0 18px;padding:0;column-count:2;column-gap:18px;max-width:760px;\"\u003e\n\u003cli\u003e\u003ca href=\"\/products\/fresh-bean-sprouts-approximately-400g\"\u003eBean Sprouts 400g\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"\/products\/fresh-bundle-of-chives-pack-of-2\"\u003eBunch of Coriander\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"\/products\/chois-shimeji-mushrooms-150g\"\u003eChois Shimeji Mushrooms - 150g\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"\/products\/ever-green-fried-tofu-puffs-200g\"\u003eEver Green Fried Tofu Puffs - 200g\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"\/products\/haitian-premium-light-soy-sauce-500ml\"\u003eHaitian Premium Light Soy Sauce 500ml\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"\/products\/fresh-bundle-of-chives-pack-of-2\"\u003eBundle of Chives - Pack of 2\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/section\u003e\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;display:flex;align-items:center;justify-content:space-between;\"\u003e\u003ch3 style=\"margin:0;font-size:18px;font-weight:700;\"\u003eMore in this category\u003c\/h3\u003e\n\u003ca href=\"\/collections\/leafy-vegetables\" style=\"margin-left:16px;color:var(--brand);font-weight:700;\"\u003eSee all leafy vegetables →\u003c\/a\u003e\u003c\/section\u003e\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003eDelivery \u0026amp; Timing\u003c\/h3\u003e\n\u003cp style=\"margin:6px 0 10px;color:#334155;font-size:14px;\"\u003eYou can \u003cstrong\u003eTrack\u003c\/strong\u003e the courier's location in \u003cstrong\u003eReal‑Time\u003c\/strong\u003e online! Get your order as soon as the \u003cstrong\u003eNext Day\u003c\/strong\u003e (for most areas in Sydney).\u003c\/p\u003e\n\u003ctable style=\"width:100%;border-collapse:collapse;border:1px solid #e5e7eb;\"\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth style=\"text-align:left;padding:10px;border-right:1px solid #e5e7eb;background:#f8fafc;\"\u003eOrder Time\u003c\/th\u003e\n\u003cth style=\"text-align:left;padding:10px;background:#f8fafc;\"\u003eArrival Time\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\u003ctr\u003e\n\u003ctd style=\"padding:12px;border-top:1px solid #e5e7eb;border-right:1px solid #e5e7eb;\"\u003eToday\u003c\/td\u003e\n\u003ctd style=\"padding:12px;border-top:1px solid #e5e7eb;\"\u003e\n\u003cstrong\u003eNext Day (2 options):\u003c\/strong\u003e\u003cul style=\"margin:6px 0 0 18px;\"\u003e\n\u003cli\u003e11:30AM – 06:30PM\u003c\/li\u003e\n\u003cli\u003e05:00PM – 11:00PM\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"color:#a9a9a9;font-size:12px;margin:10px 0 0;\"\u003e* Canceling after the cutoff may incur fees. \u003ca href=\"\/pages\/return-refund-policy\" style=\"color:#DB3A35;text-decoration:underline;\"\u003eClick here\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp style=\"margin:8px 0 0;color:#334155;font-size:14px;\"\u003eDetails: \u003ca href=\"\/pages\/delivery-information\" style=\"color:#DB3A35;text-decoration:underline;\"\u003eDelivery Information\u003c\/a\u003e.\u003c\/p\u003e\u003c\/section\u003e\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003eDelivery Fees\u003c\/h3\u003e\n\u003cp style=\"font-size:13px;color:#666;margin:0 0 8px\"\u003e* A flat \u003cstrong\u003e$2 service \u0026amp; packaging fee\u003c\/strong\u003e will be added at checkout — \u003ca href=\"https:\/\/www.umall.com.au\/policies\/shipping-policy\" style=\"color:#DB3A35;text-decoration:underline;\"\u003esee details\u003c\/a\u003e.\u003c\/p\u003e\n\u003ctable style=\"width:100%;border-collapse:collapse;border:1px solid #e5e7eb;\"\u003e\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;\"\u003e$69.00 and up\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e\u003cstrong\u003eFree\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;\"\u003e$20 – $68.99\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e$4.99 \u003cspan style=\"color:#999;font-size:12px\"\u003e(was $10)\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;\"\u003e$0.01 – $19.99\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e$7.99 \u003cspan style=\"color:#999;font-size:12px\"\u003e(was $10)\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/section\u003e\n\u003c\/div\u003e\n\n\n\n\n\n\n\n\n\n\u003cscript\u003e\n\/* DESC ENHANCER JS v1 *\/\n(function(){\n  const root = document.getElementById('umall-desc');\n  if(!root) return;\n\n  const handleFromHref = (href)=\u003e{\n    try{ const u = new URL(href, location.origin); const parts=u.pathname.split('\/').filter(Boolean); const i=parts.findIndex(p=\u003ep==='products'); if(i\u003e=0\u0026\u0026parts[i+1]) return parts[i+1]; }catch(e){}\n    return null;\n  };\n  const money = (cents)=\u003e{ if(window.Shopify \u0026\u0026 Shopify.formatMoney) return Shopify.formatMoney(cents, \"A${{amount}}\"); return typeof cents==='number' ? 'A$'+(cents\/100).toFixed(2) : ''; };\n  const buildProdCard = (handle)=\u003e{ const a=document.createElement('a'); a.className='um-card'; a.href='\/products\/'+handle; a.setAttribute('data-handle',handle); a.innerHTML='\u003cdiv class=\"um-imgbox\"\u003e\u003cimg alt=\"'+handle+'\" loading=\"lazy\"\/\u003e\u003cspan class=\"um-badge\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"um-meta\"\u003e\u003cdiv class=\"um-title\"\u003e'+handle.replace(\/-\/g,' ')+'\u003c\/div\u003e\u003cdiv class=\"um-price\"\u003e\u003c\/div\u003e\u003c\/div\u003e'; return a; };\n  const hydrate = async (a)=\u003e{ const h=a.getAttribute('data-handle'); try{ const r=await fetch('\/products\/'+h+'.js',{credentials:'same-origin'}); if(!r.ok) return; const p=await r.json(); const img=a.querySelector('img'); if(p.images\u0026\u0026p.images[0]) img.src=p.images[0]; const t=a.querySelector('.um-title'); t.textContent=p.title||t.textContent; const vs=(p.variants||[]); const avail=vs.filter(v=\u003ev.available); const arr=avail.length?avail:vs; if(arr.length){ const min=Math.min(...arr.map(v=\u003ev.price)); const maxCompare=Math.max(...arr.map(v=\u003ev.compare_at_price||0)); const price=a.querySelector('.um-price'); price.textContent=''; const cur=document.createElement('span'); cur.textContent=money(min); price.appendChild(cur); if(maxCompare \u0026\u0026 maxCompare\u003emin){ const s=document.createElement('s'); s.textContent=money(maxCompare); price.appendChild(document.createTextNode(' ')); price.appendChild(s); const badge=a.querySelector('.um-badge'); const off=Math.round((1-min\/maxCompare)*100); badge.textContent='-'+off+'%'; badge.style.display='inline-block'; } } }catch(e){} };\n\n  const ensureAfter = (refNode, node)=\u003e{ if(!refNode || !node) return; if(node.parentElement) return; refNode.parentElement.insertBefore(node, refNode.nextSibling); };\n\n  \/\/ How to enjoy → 卡片（保留原内容；隐藏原块；标题统一“Recipes with this product”）\n  try{\n    \/\/ 1) 更鲁棒地找到标题（h2\/h3\/h4）\n    const enjoyH = Array.from(root.querySelectorAll('h2,h3,h4')).find(h=\u003e\/(how to enjoy|ways to enjoy|serving ideas|recipes with this product|食用建议|食用灵感|食法)\/i.test(h.textContent));\n    if(enjoyH){\n      const container = enjoyH.parentElement;\n      \/\/ 2) 就近查找列表或段落（同容器或下一个兄弟）\n      let listEl = container.querySelector('ol, ul');\n      if(!listEl){ const sib = enjoyH.nextElementSibling; if(sib){ listEl = sib.querySelector \u0026\u0026 sib.querySelector('ol, ul'); } }\n\n      \/\/ 3) 容器若不存在则创建\n      let cardsHost = container.querySelector('#um-recipes-cards');\n      if(!cardsHost){ cardsHost=document.createElement('div'); cardsHost.id='um-recipes-cards'; cardsHost.className='um-recipes'; ensureAfter(listEl||enjoyH, cardsHost); }\n      let prodHost = container.querySelector('#um-recipes-products');\n      if(!prodHost){ prodHost=document.createElement('div'); prodHost.id='um-recipes-products'; prodHost.className='um-slider'; ensureAfter(cardsHost, prodHost); }\n\n      const links = new Set();\n      let items = [];\n      if(listEl){ items = Array.from(listEl.children).filter(n=\u003en.tagName==='LI'); }\n      \/\/ 4) 若没有列表，尝试用同容器的段落或“网格DIV\/ARTICLE”作为卡片项\n      if(items.length === 0){\n        let ps = Array.from(container.querySelectorAll(':scope \u003e p'));\n        if(ps.length \u003c 2){ const sib = enjoyH.nextElementSibling; if(sib){ ps = Array.from(sib.querySelectorAll(':scope \u003e p')); } }\n        items = ps;\n      }\n      \/\/ 5) 同容器下寻找“网格容器”（含多个子块，且子块内有 h4\/strong）\n      let gridToHide = null;\n      if(items.length === 0){\n        const ch = Array.from(container.children || []);\n        for(const el of ch){\n          if(el === enjoyH) continue;\n          if(el.children \u0026\u0026 el.children.length \u003e= 2){\n            const first = el.children[0];\n            if((first.querySelector \u0026\u0026 first.querySelector('h3, h4, h5, strong, b, div[style*=\"font-weight:700\"]'))){\n              items = Array.from(el.children);\n              gridToHide = el;\n              break;\n            }\n          }\n        }\n      }\n      \/\/ 6) 仍然没有，则看紧跟标题的下一个块（如显示为卡片的 div\/article 列表）\n      if(items.length === 0){\n        const sib = enjoyH.nextElementSibling;\n        if(sib){\n          const children = Array.from(sib.children || []);\n          if(children.length \u003e= 2){ items = children; gridToHide = sib; }\n        }\n      }\n\n      if(items.length){\n        items.forEach((node, idx)=\u003e{\n          const card=document.createElement('article'); card.className='um-rcard';\n          const titleNode = node.querySelector \u0026\u0026 node.querySelector('h3, h4, h5, div[style*=\"font-weight:700\"], strong, b, a');\n          const h4=document.createElement('h4'); h4.textContent = titleNode ? (titleNode.textContent.trim()||('Recipe '+(idx+1))) : ('Recipe '+(idx+1));\n          const clone = node.cloneNode(true);\n          const rm = clone.querySelector \u0026\u0026 clone.querySelector('h3, h4, h5, div[style*=\"font-weight:700\"], strong, b'); if(rm) rm.remove();\n          const body=document.createElement('div'); while(clone.firstChild){ body.appendChild(clone.firstChild); }\n          card.appendChild(h4); card.appendChild(body); cardsHost.appendChild(card);\n          (node.querySelectorAll ? node.querySelectorAll('a[href]') : []).forEach(a=\u003e{ const h=handleFromHref(a.getAttribute('href')); if(h) links.add(h); });\n        });\n        \/\/ 统一标题并隐藏原内容块\n        enjoyH.textContent = 'Recipes with this product';\n        if(listEl){ listEl.style.display='none'; }\n        else if(gridToHide){ gridToHide.style.display='none'; }\n        else {\n          \/\/ 隐藏直接段落（避免把其它段落隐藏过多，仅隐藏紧邻的）\n          const ps = Array.from(container.querySelectorAll(':scope \u003e p'));\n          ps.forEach(p=\u003e{ p.style.display='none'; });\n        }\n      }\n      if(prodHost \u0026\u0026 links.size){ Array.from(links).forEach(h=\u003e{ const a=buildProdCard(h); prodHost.appendChild(a); hydrate(a); }); }\n    }\n  }catch(e){}\n\n  \/\/ Pairs well → 滑动卡片（并将标题统一为 “Pairs well with these products”）\n  try{\n    const pairsH = Array.from(root.querySelectorAll('h2,h3,h4')).find(h=\u003e\/(pairs\\s*well|pairswell|配搭建议|搭配推荐|搭配)\/i.test(h.textContent));\n    if(pairsH){\n      const section=pairsH.parentElement; const ul=section.querySelector('ul');\n      \/\/ 统一标题文案\n      pairsH.textContent = 'Pairs well with these products';\n      let host=section.querySelector('#um-pairs-slider');\n      if(!host){ host=document.createElement('div'); host.id='um-pairs-slider'; host.className='um-slider'; ensureAfter(ul||pairsH, host); }\n      const unique=new Set();\n      \/\/ 允许 p 段落或任意容器中的产品链接\n      section.querySelectorAll('a[href]').forEach(a=\u003e{ const h=handleFromHref(a.getAttribute('href')); if(h \u0026\u0026 !unique.has(h)) unique.add(h); });\n      unique.forEach(h=\u003e{ const card=buildProdCard(h); host.appendChild(card); hydrate(card); });\n    }\n  }catch(e){}\n\n  \/\/ More in this category → 条件滑动，成功后隐藏原标题与列表，把 Explore CTA 放到滑动条上方\n  try{\n    const moreH = Array.from(root.querySelectorAll('h2,h3,h4')).find(h=\u003e\/(more in this category|同类推荐|更多此分类)\/i.test(h.textContent));\n    if(moreH){ const section=moreH.parentElement; const ul=section.querySelector('ul'); let host=section.querySelector('#um-more-slider'); if(!host){ host=document.createElement('div'); host.id='um-more-slider'; host.className='um-slider'; ensureAfter(ul||moreH, host); } if(ul){ const links=ul.querySelectorAll('a[href]'); if(links.length\u003e=2){ const unique=new Set(); links.forEach(a=\u003e{ const h=handleFromHref(a.getAttribute('href')); if(h \u0026\u0026 !unique.has(h)){ unique.add(h); const card=buildProdCard(h); host.appendChild(card); hydrate(card); } }); if(host.children.length){ ul.style.display='none'; moreH.style.display='none'; const ctaWrap = Array.from(section.querySelectorAll('div')).find(d=\u003ed.querySelector('a[href^=\"\/collections\/\"]')); if(ctaWrap){ section.insertBefore(ctaWrap, host); } } } } }\n  }catch(e){}\n})();\n\u003c\/script\u003e\n\n\n\n\n\n\n\n\n","brand":"Umall Fresh","offers":[{"title":"Default Title","offer_id":48151501013279,"sku":"9202402011400","price":1.69,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/0333884a2c1505fdb46d3a52eda724942yxKagXQEltoHSM2i3rmV0Z29HBQkCdP_81f5dc6f-a076-4808-b76d-12ba469ff3bc.jpg?v=1721715484"},{"product_id":"angel-yeast-rice-wine-starter-8g","title":"Angel Yeast Rice Wine Starter 8g","description":"\u003cp\u003eAngel Yeast Rice Wine Starter is a high-quality yeast used for making homemade rice wine. It's easy to use, ensuring a successful fermentation process for a delicious and authentic taste.\u003c\/p\u003e","brand":"Angel","offers":[{"title":"Default Title","offer_id":48151715610911,"sku":"A6917790973060","price":0.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_febb971a-aca6-4be9-8832-9245c4aae011.jpg?v=1745982940"},{"product_id":"mccormick-crispy-spicy-fried-chicken-seasoning-45g","title":"McCormick Crispy Spicy Fried Chicken Seasoning 45g","description":"McCormick Crispy Spicy Fried Chicken Mix 45g - A convenient and flavorful mix that helps you achieve perfectly crispy and spicy fried chicken every time. \u003cbr\u003e Ideal for adding a delicious kick to your homemade fried chicken dishes.","brand":"McCormick","offers":[{"title":"Default Title","offer_id":48153237487903,"sku":"6901844500470","price":1.69,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/cae38bdbf5f018064dfe59a35fe17900uYwpwLvM9awxktOmHijl1f19Fmj0W5ti.jpg?v=1712393527"},{"product_id":"mccormick-garlic-flavoured-fried-chicken-mix-45g","title":"McCormick Garlic Flavoured Fried Chicken Mix 45g","description":"McCormick Garlic Flavoured Fried Chicken Mix 45g - A convenient and flavorful mix that enhances the taste of fried chicken with a delicious garlic flavor. Perfect for adding a savory twist to your favorite chicken dishes.\u003cbr\u003eCreated by McCormick, a trusted brand known for high-quality seasonings and food products.","brand":"McCormick","offers":[{"title":"Default Title","offer_id":48153252397343,"sku":"6901844522113","price":1.69,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_bb1a0b88-9731-4145-8999-c1c950fd329e.jpg?v=1712393571"},{"product_id":"mccormick-breaded-pork-chop-mix-45g","title":"McCormick Breaded Pork Chop Mix 45g","description":"McCormick Breaded Pork Chop Mix 45g - Convenient mix for creating delicious and crispy breaded pork chops at home. Simply coat the pork chops in the mix and fry for a tasty meal.\u003cbr\u003ePerfect for quick and easy meal preparation, this mix adds a flavorful and crunchy coating to your pork chops.","brand":"McCormick","offers":[{"title":"Default Title","offer_id":48153253642527,"sku":"6901844524117","price":1.69,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_61a5acae-de27-4b65-8230-6f4726f12a3c.jpg?v=1712393578"},{"product_id":"wang-shouyi-thirteen-spices-seasoning-45g","title":"Wang Shouyi Thirteen Spices Seasoning 45g","description":"A 45g pack of Wang Shouyi Thirteen Spices Seasoning, perfect for adding a flavorful kick to your dishes. This seasoning blend includes a unique combination of thirteen spices for a delicious and aromatic taste.\u003cbr\u003eEnhance the flavor of your favorite recipes with this convenient and versatile seasoning mix.","brand":"Wang Shouyi","offers":[{"title":"Default Title","offer_id":48153336021279,"sku":"6906303888885","price":1.69,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_494b1125-7ecf-4400-b3af-b5b0accecce3.jpg?v=1712393780"},{"product_id":"mccormick-black-pepper-powder-10g","title":"McCormick Ground Black Pepper - 10g","description":"McCormick Black Pepper Powder 10g - High-quality black pepper powder with a bold flavor and aroma, perfect for seasoning a variety of dishes.\u003cbr\u003eConvenient 10g size for easy storage and use in cooking.","brand":"McCormick","offers":[{"title":"Default Title","offer_id":48153459425567,"sku":"A6901844707114","price":1.49,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_0edc433f-af21-42cc-9859-a3340a5d7662.jpg?v=1712394560"},{"product_id":"canton-salt-iodised-low-sodium-salt-250g","title":"Yueyan Iodized Low Sodium Salt - 250g","description":"Canton Salt Iodised Low Sodium Salt 250g - A low sodium salt option that is iodised for added health benefits, perfect for those looking to reduce their sodium intake without compromising on taste.\u003cbr\u003e","brand":"Guangdong Salt","offers":[{"title":"Default Title","offer_id":48153508774175,"sku":"A6926656823319","price":1.39,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_e0314dd5-a5ed-4819-955a-4fc165f26b4f.jpg?v=1712395149"},{"product_id":"wujiang-whole-pickled-mustard-greens-300g","title":"Wujiang Whole Pickled Mustard Greens 300g","description":"Tangy and crunchy whole pickled mustard greens from Wujiang, perfect for adding a flavorful kick to your dishes. \u003cbr\u003e Comes in a convenient 300g package for easy storage and use.","brand":"Wujiang","offers":[{"title":"Default Title","offer_id":48153591513375,"sku":"6901754000886","price":1.89,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_4e753686-9660-42da-85ba-b337788da096.jpg?v=1712396227"},{"product_id":"wujiang-crispy-pickled-mustard-150g","title":"Wujiang Crispy Pickled Mustard 150g","description":"Wujiang Crispy Pickled Mustard is a 150g jar of tangy and crunchy pickled mustard greens, perfect for adding a flavorful kick to your dishes. Made with high-quality ingredients, this pickled mustard is a versatile condiment that can enhance the taste of various recipes.\u003cbr\u003e","brand":"Wujiang","offers":[{"title":"Default Title","offer_id":48153591644447,"sku":"6901754040936","price":1.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/35ea22869d3d043b271c9c6a2ce27673OzI8kUsXiIjom9eD7KWCTNhLhnP4ZLxs.jpg?v=1735370687"},{"product_id":"wujiang-preserved-mustard-greens-with-sauce-flavor-80g","title":"Wujiang Preserved Mustard Greens with Sauce Flavor 80g","description":"Preserved mustard greens with a savory sauce flavor, perfect for adding a delicious umami kick to your dishes. Made with high-quality ingredients and conveniently packaged in an 80g size.\u003cbr\u003eGreat for enhancing the taste of stir-fries, soups, and other Asian dishes.","brand":"Wujiang","offers":[{"title":"Default Title","offer_id":48153592299807,"sku":"6901754050119","price":1.09,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_99164728-6742-42d1-9bcb-8bb8dea5f233.jpg?v=1712396238"},{"product_id":"wujiang-preserved-vegetables-mildly-spicy-80g","title":"Wujiang Preserved Vegetables, Mildly Spicy, 80g","description":"Wujiang Preserved Vegetables are mildly spicy and come in a convenient 80g package. These preserved vegetables add a flavorful kick to your dishes.\u003cbr\u003ePerfect for adding a unique taste to stir-fries, soups, and noodle dishes.","brand":"Wujiang","offers":[{"title":"Default Title","offer_id":48153592627487,"sku":"6901754050195","price":1.09,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_cbdc863c-548b-43fb-9cbe-df0333166381.jpg?v=1712396246"},{"product_id":"wujiang-preserved-vegetables-in-spicy-red-oil-80g","title":"Wujiang Preserved Vegetables in Spicy Red Oil, 80g","description":"Preserved vegetables in spicy red oil from Wujiang, weighing 80g. Adds a flavorful kick to dishes with a perfect balance of heat and tanginess.\u003cbr\u003eGreat for enhancing the taste of stir-fries, noodles, and soups.","brand":"Wujiang","offers":[{"title":"Default Title","offer_id":48153593315615,"sku":"6901754050201","price":1.09,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/img_01_5535c0b7-7138-42d5-81ee-ba46a2a75997.jpg?v=1770886992"},{"product_id":"wujiang-preserved-mustard-greens-refreshing-flavor-80g","title":"Wujiang Preserved Mustard Greens, Refreshing Flavor, 80g","description":"Wujiang Preserved Mustard Greens offer a refreshing flavor in a convenient 80g package. Enjoy the authentic taste of preserved mustard greens in your favorite dishes.\u003cbr\u003e","brand":"Wujiang","offers":[{"title":"Default Title","offer_id":48153593577759,"sku":"6901754141008","price":1.09,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_95d8e8a6-209b-4898-b5d7-62ede4761386.jpg?v=1712396263"},{"product_id":"wujiang-pickled-mustard-with-hot-and-sour-flavor-80g","title":"Wujiang Pickled Mustard Stem - Spicy \u0026 Sour Flavor, 80g","description":"Tangy and spicy pickled mustard with a hot and sour flavor, perfect for adding a kick to your dishes. Made with high-quality ingredients and conveniently packaged in an 80g container.\u003cbr\u003eGreat for adding a burst of flavor to stir-fries, soups, and noodle dishes.","brand":"Wujiang","offers":[{"title":"Default Title","offer_id":48153601933599,"sku":"A6801754050157","price":0.99,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_1be5a8ce-df45-4d59-b20a-417ab0dca165.jpg?v=1712396365"},{"product_id":"wujiang-lightly-flavoured-pickled-mustard-greens-80g","title":"Wujiang Lightly Flavoured Pickled Mustard Greens, 80g","description":"Wujiang Lightly Flavoured Pickled Mustard Greens are a tangy and crunchy snack made with high-quality mustard greens, perfect for adding a zesty kick to your meals. Enjoy the traditional Chinese flavors in a convenient 80g pack.\u003cbr\u003e","brand":"Wujiang","offers":[{"title":"Default Title","offer_id":48153605472543,"sku":"A6901754050171","price":0.99,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_c2ff713b-f344-43a2-a599-1d5fbd963a75.jpg?v=1712396414"},{"product_id":"wujiang-crispy-radish-150g","title":"Wujiang Crispy Radish 150g","description":"Wujiang Crispy Radish 150g - A delicious and crunchy snack made from thinly sliced radish that is seasoned and dried to perfection. Perfect for on-the-go snacking or as a flavorful addition to salads and dishes.\u003cbr\u003eEnjoy the unique taste and texture of crispy radish in a convenient and portable package.","brand":"Wujiang","offers":[{"title":"Default Title","offer_id":48153606062367,"sku":"A6901754060101","price":1.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_3a9e8f0a-2e07-4686-9cc5-2b3cbe0b1c7e.jpg?v=1712396421"},{"product_id":"wujiang-spicy-pickled-radish-60g-discontinued","title":"Wujiang Spicy Pickled Radish 60g","description":"Wujiang Spicy Pickled Radish 60g is a tangy and flavorful snack made from crunchy radish slices pickled in a spicy brine, perfect for adding a kick to your meals or enjoying on its own.\u003cbr\u003e\u003cbr\u003e","brand":"Wujiang","offers":[{"title":"Default Title","offer_id":48153606947103,"sku":"A6901754131016","price":0.89,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_b9cfd897-a777-4f0c-a6b9-d31582164ec0.jpg?v=1712396452"},{"product_id":"chuan-nan-original-flavour-crispy-pickled-vegetables-80g","title":"Chuan Nan Original Flavour Crispy Pickled Vegetables 80g","description":"Chuan Nan Original Flavour Crispy Pickled Vegetables 80g - Enjoy the tangy and crunchy taste of pickled vegetables with this original flavor variety. Perfect as a snack or as a side dish to complement your meals.\u003cbr\u003eExperience the authentic Chuan Nan taste in every bite, made with high-quality ingredients and a traditional recipe for a satisfying and flavorful snack.","brand":"Chuannan","offers":[{"title":"Default Title","offer_id":48153628606751,"sku":"A6915993300508","price":1.09,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_ed4b17d7-5234-4c13-af08-24f260eb2d45.jpg?v=1712396745"},{"product_id":"chuan-nan-refreshing-vegetable-hearts-80g","title":"Chuannan Refreshing Vegetable Hearts - 80g","description":"Chuan Nan Refreshing Vegetable Hearts 80g - A pack of 80g of refreshing vegetable hearts, perfect for adding a burst of flavor to your dishes. \u003cbr\u003e Made with high-quality ingredients, these vegetable hearts are a convenient and tasty addition to any meal.","brand":"Chuannan","offers":[{"title":"Default Title","offer_id":48153630802207,"sku":"A6915993300539","price":1.19,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_4ec3aebd-74e1-43cd-9520-cc847f6817cd.jpg?v=1712396774"},{"product_id":"chuan-nan-spicy-seaweed-strips-81g","title":"Chuan Nan Spicy Kelp Strips - 81g","description":"Chuan Nan Spicy Seaweed Strips 81g - Delicious and spicy seaweed strips that are perfect for snacking or adding to dishes for an extra kick of flavor.\u003cbr\u003eConveniently packaged in a resealable bag to maintain freshness.","brand":"Chuannan","offers":[{"title":"Default Title","offer_id":48153646235935,"sku":"A6915993304292","price":1.39,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_0a99a300-83cb-4eda-8707-4618e7f5b38f.jpg?v=1712396932"},{"product_id":"chuan-nan-red-oil-cowpeas-side-dish-frozen-81g","title":"Chuan Nan Red Oil Cowpeas Side Dish, Frozen, 81g","description":"\u003cp\u003eChuan Nan Red Oil Cowpeas Side Dish is a frozen side dish that weighs 81g. It is made with cowpeas and seasoned with red oil for a flavorful and convenient meal option.\u003c\/p\u003e","brand":"Chuannan","offers":[{"title":"Default Title","offer_id":48153647022367,"sku":"A6915993304308","price":1.39,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_a5cedfec-c971-4565-a890-ad3e40044a4d.jpg?v=1712396945"},{"product_id":"chuan-nan-spicy-szechuan-dried-radish-side-dish-81g","title":"Chuan Nan Spicy Szechuan Dried Radish Side Dish 81g","description":"A spicy and flavorful side dish made with dried radish, perfect for adding a kick to your meals. Enjoy the authentic Szechuan taste in a convenient 81g pack.\u003cbr\u003eGreat for adding a bold and tangy flavor to your favorite dishes, this Chuan Nan Spicy Szechuan Dried Radish Side Dish is a must-have for spice lovers.","brand":"Chuannan","offers":[{"title":"Default Title","offer_id":48153648136479,"sku":"A6915993304339","price":1.29,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_d222aef7-b19b-4f79-bbe6-308d4a28ca52.jpg?v=1712396958"},{"product_id":"hua-hai-shun-da-hot-pot-sichuan-noodles-240g","title":"Huaseed Hot Pot Sichuan Vermicelli - 240g","description":"Authentic Sichuan noodles from Huahai Shunda, perfect for hot pot dishes. 240g pack for convenient preparation.\u003cbr\u003eTraditional flavors and easy to cook, ideal for a spicy and flavorful meal.","brand":"Huahai Shunda","offers":[{"title":"Default Title","offer_id":48153794773279,"sku":"A6942333704450","price":1.89,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_c08c392e-c996-4563-a14f-394cd99bf6ae.jpg?v=1736929119"},{"product_id":"tuxiaoyang-plain-noodles-300g","title":"Toyoung Somen Noodles - 300g","description":"TuXiaoYang Plain Noodles 300g - Authentic Chinese noodles made with high-quality ingredients, perfect for creating delicious and satisfying meals at home.\u003cbr\u003eEnjoy the versatility of these plain noodles in soups, stir-fries, or cold noodle salads for a tasty and convenient meal option.","brand":"Tuxiaoyang","offers":[{"title":"Default Title","offer_id":48153813909791,"sku":"A6974215770116","price":1.69,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_118fdcb3-4d5f-4bf9-98e3-d288b8422fe3.jpg?v=1712398882"},{"product_id":"tuxiaoyang-udon-noodles-300g-frozen","title":"Toyoung Udon Noodles - 300g","description":"Tuxiaoyang Udon Noodles are a convenient and delicious frozen option for a quick and satisfying meal. Made with high-quality ingredients, these noodles are perfect for stir-fries, soups, and other Asian-inspired dishes.\u003cbr\u003eEnjoy the authentic taste and chewy texture of these Udon noodles in just minutes.","brand":"Tuxiaoyang","offers":[{"title":"Default Title","offer_id":48153814008095,"sku":"A6974215770123","price":1.69,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_59117298-3da2-4c9c-aefe-b3d84b051f34.jpg?v=1712398889"},{"product_id":"flip-doll-extremely-spicy-beef-tendon-flavor-snack-136g","title":"Fantianwa Nostalgic Spicy Strips 136g - Chinese Spicy Gluten Snack (Random Assorted Flavours)","description":"\u003cp\u003eRelive the classic corner-shop taste with Fantianwa Nostalgic Spicy Strips—chewy wheat-gluten sticks soaked in bold, chilli-laden seasoning. Each 136 g pack is sent at random from four nostalgic flavours, delivering that unmistakable Hunan-style kick you remember.\u003c\/p\u003e\u003ch2\u003eProduct Highlights:\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eAuthentic Hunan Heat:\u003c\/strong\u003e Classic latiao flavour with a fragrant chilli and spice profile.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eChewy, Satisfying Texture:\u003c\/strong\u003e Wheat-gluten strips that pair perfectly with drinks or on-the-go snacking.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRandom Assortment:\u003c\/strong\u003e One of four flavours per pack—Extra Spicy “Beef Tendon”, Braised Beef Brisket, Fries-Style Sticks, or “Tianjiu Wing”.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eNo Saccharin, No Added Preservatives:\u003c\/strong\u003e As indicated on the packaging.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eHandy Share Pack:\u003c\/strong\u003e 136 g—great for sharing or a nostalgic treat anytime.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Fantianwa","offers":[{"title":"Default Title","offer_id":48154109772063,"sku":"A6939650400059","price":1.89,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/umall-image-translation-flip-doll-extremely-spicy-beef-tendon-flavor-snack-136g-pos01-1783571857_862d4d07-5d4b-4afb-98ab-16e46de59cf8.jpg?v=1783571873"},{"product_id":"wei-long-spicy-mala-flavor-konjac-snack-50g","title":"Wei Long Spicy Mala Flavor Konjac Snack 50g","description":"Wei Long Spicy Mala Flavor Konjac Snack is a 50g pack of deliciously spicy and flavorful konjac-based snack. \u003cbr\u003e It offers a unique mala flavor that's perfect for those who love a fiery kick in their snacks.","brand":"WEILONG","offers":[{"title":"Default Title","offer_id":48154126516511,"sku":"A6971258740120","price":1.69,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_f940fc51-520f-4a21-84b2-52ba7fa2f08f.jpg?v=1712403510"},{"product_id":"wei-long-spicy-and-sour-konjac-snack-50g","title":"Wei Long Spicy and Sour Konjac Snack 50g","description":"Wei Long Spicy and Sour Konjac Snack is a 50g pack of flavorful, low-calorie snack made from konjac root. \u003cbr\u003e It offers a unique combination of spicy and sour taste, perfect for those who enjoy bold flavors.","brand":"WEILONG","offers":[{"title":"Default Title","offer_id":48154137755935,"sku":"A6971258744425","price":1.79,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/6a1a688ce4315705e2a742b0081896e0rVA15CjojLYX7C9zAzKGltqBLkqaco5g.jpg?v=1712403635"},{"product_id":"xzl-fruit-burst-snow-pear-and-loquat-drink-258ml","title":"Strong Food Fruit Burst Snow Pear and Loquat Drink 258ml","description":"\u003cp\u003eStrong Food Fruit Burst Snow Pear and Loquat Drink is a refreshing beverage packed with the natural sweetness of snow pear and loquat. This 258ml drink is perfect for quenching your thirst and providing a burst of fruity flavor.\u003c\/p\u003e","brand":"Strong Food","offers":[{"title":"Default Title","offer_id":48154663256351,"sku":"6926475206324","price":1.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_19cf6bbf-075f-446f-b9dd-2aa69d0fcaa1.jpg?v=1712405293"},{"product_id":"chacha-crispy-bbq-flavoured-potato-chips-51g","title":"ChaCha Kazhichui Potato Cracker Barbecue Flavor - 51g","description":"\u003cp\u003eChaCha Crispy BBQ Flavoured Potato Chips are a delicious snack with a smoky barbecue taste. These chips are crispy, light, and come in a convenient 51g pack for on-the-go snacking.\u003c\/p\u003e","brand":"ChaCha","offers":[{"title":"Default Title","offer_id":48156002910495,"sku":"A6924187830936","price":1.39,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_b14f9713-b0f4-4932-9f94-c9936d232e15.jpg?v=1712409924"},{"product_id":"want-want-qq-pineapple-flavoured-candy-70g","title":"Want Want QQ Pineapple Flavoured Candy 70g","description":"A 70g pack of Want Want QQ Pineapple Flavoured Candy, offering a sweet and tangy pineapple taste. \u003cbr\u003e These candies are individually wrapped, making them perfect for on-the-go snacking or sharing.","brand":"Want Want","offers":[{"title":"Default Title","offer_id":48156264661279,"sku":"A6920548862080","price":1.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/bae0a422ecfde637eafb5bb35d5b4e9ewXSGdS9xkAL0kG2qpIi71yZ8XZEGBTza.jpg?v=1712410698"},{"product_id":"want-want-qq-orange-flavoured-candy-70g","title":"Want Want QQ Orange Flavoured Candy 70g","description":"\u003cp\u003eWant Want QQ Orange Flavoured Candy is a 70g pack of delicious, tangy orange candies. They offer a refreshing citrus taste and a satisfying chewy texture.\u003c\/p\u003e","brand":"Want Want","offers":[{"title":"Default Title","offer_id":48156415525151,"sku":"A6920548862066","price":1.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/dc2befbce35505357905fb9a46262a0aZrevFfuN3dNiIZukUg3cPD98UtSZyTs6.jpg?v=1712411206"},{"product_id":"want-want-qq-peach-flavoured-candy-70g","title":"Want Want QQ Peach Flavoured Candy 70g","description":"\u003cp\u003eWant Want QQ Peach Flavoured Candy is a 70g pack of soft, chewy candies with a delightful peach flavor. It's a perfect sweet treat for those who love fruity flavors.\u003c\/p\u003e","brand":"Want Want","offers":[{"title":"Default Title","offer_id":48156425060639,"sku":"A6920548862097","price":1.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/64492033257b2399c150e8430857a99fIJYVEPYF49DCgfWUHzIyGqSn027XVn5g.jpg?v=1712411224"},{"product_id":"want-want-qq-lychee-flavoured-candy-70g","title":"Want Want QQ Lychee Flavoured Candy 70g","description":"Want Want QQ Lychee Flavoured Candy is a 70g pack of sweet, fruity candies with a distinct lychee flavor.\u003cbr\u003eThese candies offer a unique taste experience, perfect for those who enjoy trying new and exotic flavors.","brand":"Want Want","offers":[{"title":"Default Title","offer_id":48156428304671,"sku":"A6920548862998","price":1.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_3ce48098-840b-4d74-845a-0a110e90e995.jpg?v=1745982897"},{"product_id":"want-want-qq-strawberry-flavoured-candy-70g","title":"Want Want QQ Strawberry Flavoured Candy 70g","description":"Want-Want QQ Strawberry Flavoured Candy is a 70g pack of delicious, fruity sweets with a rich strawberry taste. \u003cbr\u003e These candies offer a long-lasting flavor and a satisfying chewy texture, perfect for a sweet treat anytime.","brand":"Want Want","offers":[{"title":"Default Title","offer_id":48156428861727,"sku":"A6920548867139","price":1.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/293cf7b76bf769d1b82eeff94c49e9aaXHkXqZyLZDrvUEP5fISmawk1UPNw5lWP.jpg?v=1712411241"},{"product_id":"want-want-qq-blueberry-flavoured-candy-70g","title":"Want Want QQ Blueberry Flavoured Candy 70g","description":"Want Want QQ Blueberry Flavoured Candy is a 70g pack of delicious, fruity sweets. \u003cbr\u003e These candies offer a burst of blueberry flavor in every bite, perfect for satisfying your sweet tooth.","brand":"Want Want","offers":[{"title":"Default Title","offer_id":48156429058335,"sku":"A6920548867146","price":1.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/8bcc27a4566c30f3c95347032ef301962rSehfnhN4DBGvI0P7VhN74FHpZciWck.jpg?v=1712411245"},{"product_id":"want-want-qq-candy-green-apple-flavor-70g","title":"Want Want QQ Candy, Green Apple Flavor, 70g","description":"\u003cp\u003eWant Want QQ Candy is a delicious green apple flavored candy, packed in a 70g bag. It offers a sweet and tangy taste that's perfect for satisfying your sweet tooth.\u003c\/p\u003e","brand":"Want Want","offers":[{"title":"Default Title","offer_id":48156429680927,"sku":"A6920548867320","price":1.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/b8ee272aaedee53e288da64919205574bit1Gf89sLm2SeDA2iLlzBT4wHHAxCl2.jpg?v=1712411249"},{"product_id":"want-want-qq-cola-flavoured-candy-70g","title":"Want Want QQ Cola Flavoured Candy 70g","description":"Want Want QQ Cola Flavoured Candy is a 70g pack of delicious, fizzy cola-flavored candies. \u003cbr\u003e These candies offer a unique, refreshing taste, perfect for satisfying your sweet tooth.","brand":"Want Want","offers":[{"title":"Default Title","offer_id":48156440822047,"sku":"A6920952712254","price":1.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/6120ca1dd3660bddb82939eec0ae031eveBOfEAtmCd8trhOncqHBgRXXcfPTaAd.jpg?v=1712411276"},{"product_id":"ganten-mineral-water-570ml","title":"Ganten Mineral Water 570ml","description":"\u003cp\u003eA 570ml bottle of Ganten Mineral Water, sourced from natural springs and packed with essential minerals for hydration and health.\u003c\/p\u003e","brand":"Ganten","offers":[{"title":"Default Title","offer_id":48157625418015,"sku":"6922255451427","price":1.69,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_d24eef17-ee36-47b7-ac9e-e7924d8f2bc6.jpg?v=1736929056"},{"product_id":"master-kang-fresh-shrimp-and-fish-noodle-soup-101g-tub-main-barcode","title":"Master Kong Fresh Shrimp and Fish Noodle Soup, 101g","description":"\u003cp\u003eA convenient and delicious instant noodle soup made with fresh shrimp and fish, perfect for a quick and satisfying meal.\u003c\/p\u003e","brand":"Master Kong","offers":[{"title":"Default Title","offer_id":48158038032671,"sku":"A6920152414040","price":1.89,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/f3d347ce0f54629e56684278e782e7f35RBMrRDLW75e1sKdhw97p1PuGjExJuOl.jpg?v=1712421831"},{"product_id":"master-kang-mushroom-chicken-noodle-soup-instant-noodles-in-a-tub-105g","title":"Master Kong Mushroom Chicken Noodle Soup - 105g","description":"\u003cp\u003eConvenient and flavorful instant noodle soup with mushroom and chicken flavors, ready to eat in minutes.\u003c\/p\u003e","brand":"Master Kong","offers":[{"title":"Default Title","offer_id":48158039965983,"sku":"A6920208942718","price":1.89,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_63e99311-f95e-4af9-b1df-86a40cbc9bd2.jpg?v=1712421865"},{"product_id":"fasola-white-sink-filter-net-pack-of-35","title":"FaSoLa White Sink Filter Net, Pack of 35","description":"\u003cp\u003eA pack of 35 disposable white sink filter nets designed to trap debris and prevent clogs in kitchen and bathroom sinks.\u003c\/p\u003e","brand":"FaSoLa","offers":[{"title":"Default Title","offer_id":48158840029471,"sku":"A6931481211491","price":1.89,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_4db02b39-b56e-483a-8e2b-ae197277aa2f.jpg?v=1712430272"},{"product_id":"chois-white-shimeji-mushrooms-170g","title":"Choi's White Shimeji Mushrooms - 150g","description":"\u003cdiv id=\"umall-desc\" style=\"--brand:#DB3A35;max-width:860px;margin:0 auto;padding:8px 0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#0f172a;line-height:1.55\"\u003e\n\u003cstyle\u003e#umall-desc a{ text-decoration:none !important; border-bottom:1px solid var(--brand) !important; } #umall-desc a:hover{ opacity:.85; }\u003c\/style\u003e\n\n\n\n\n\n\n\u003cstyle\u003e\n\/* DESC ENHANCER v1 *\/\n#umall-desc .um-slider{ display:grid; grid-auto-flow:column; grid-auto-columns:180px; gap:12px; overflow-x:auto; padding:2px 2px 8px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; margin-top:12px; }\n#umall-desc .um-slider::-webkit-scrollbar{ height:8px; }\n#umall-desc .um-slider::-webkit-scrollbar-thumb{ background:#e5e7eb; border-radius:999px; }\n#umall-desc .um-card{ scroll-snap-align:start; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden; background:#fff; display:flex; flex-direction:column; text-decoration:none; color:inherit; }\n#umall-desc a.um-card{ border-bottom:1px solid #e5e7eb !important; text-decoration:none !important; }\n#umall-desc a[style*=\"border-radius:999\"]{ border-bottom:1px solid #e2e8f0 !important; text-decoration:none !important; }\n#umall-desc .um-imgbox{ background:#fff; display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1\/1; height:auto; position:relative; }\n#umall-desc .um-imgbox img{ max-width:100%; max-height:100%; object-fit:contain; }\n#umall-desc .um-badge{ position:absolute; top:8px; left:8px; background:rgba(219,58,53,.92); color:#fff; font-weight:700; font-size:12px; padding:2px 6px; border-radius:6px; display:none; }\n#umall-desc .um-meta{ padding:10px 10px 12px; display:flex; flex-direction:column; gap:6px; }\n#umall-desc .um-title{ font-size:14px; font-weight:600; color:#0f172a; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:38px; }\n#umall-desc .um-price{ font-size:14px; font-weight:700; color:var(--brand); display:flex; align-items:center; gap:8px; }\n#umall-desc .um-price s{ color:#94a3b8; font-weight:500; }\n#umall-desc .um-recipes{ display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:12px; margin-top:12px; }\n@media (min-width:640px){ #umall-desc .um-recipes{ grid-template-columns:repeat(2,minmax(0,1fr)); } }\n@media (min-width:1024px){ #umall-desc .um-recipes{ grid-template-columns:repeat(3,minmax(0,1fr)); } }\n#umall-desc .um-rcard{ border:1px solid #e2e8f0; border-radius:12px; background:#fff; padding:16px; }\n#umall-desc .um-rcard h4{ margin:0 0 6px; font-size:16px; font-weight:700; color:#0f172a; }\n#umall-desc .um-rcard p, #umall-desc .um-rcard div{ margin:0; font-size:14px; color:#334155; }\n#umall-desc .um-section-title{ margin:16px 0 10px; font-size:16px; font-weight:800; }\n\u003c\/style\u003e\n\n\n\n\n\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:24px;margin-top:8px\"\u003e\n    \u003ch1 style=\"margin:0;font-size:26px;font-weight:800;color:#0f172a\"\u003eChoi's White Shimeji Mushrooms - 150g\u003c\/h1\u003e\n    \u003cdiv style=\"margin-top:6px;color:#64748b;font-size:14px\"\u003eAlso known as White beech mushrooms\u003c\/div\u003e\n    \u003cp style=\"margin:12px 0 0;color:#334155;font-size:15px\"\u003eDelicately clustered with firm, tender caps and a naturally sweet, nutty aroma—perfect for quick sautés, ramen bowls, and comforting soups.\u003c\/p\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px\"\u003e\n    \u003ch3 style=\"margin:0 0 10px;font-size:18px;font-weight:700;\"\u003eWhy you’ll love it\u003c\/h3\u003e\n    \u003cul style=\"margin:8px 0 0 18px;color:#334155;font-size:14px\"\u003e\n      \u003cli\u003eSweet, mild flavor that turns intensely savory when lightly browned.\u003c\/li\u003e\n      \u003cli\u003eLovely crisp-tender bite that holds up in stir-fries, noodles, and hot pot.\u003c\/li\u003e\n      \u003cli\u003eQuick-cooking: goes from pan to plate in about 2–4 minutes.\u003c\/li\u003e\n      \u003cli\u003eNo chopping needed—simply trim the base and separate into small clusters.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px\"\u003e\n    \u003ch3 style=\"margin:0 0 14px;font-size:18px;font-weight:700;\"\u003eHow to enjoy\u003c\/h3\u003e\n    \u003cdiv style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px\"\u003e\n      \u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#fff\"\u003e\n        \u003ch4 style=\"margin:0 0 6px;font-size:16px;font-weight:700;\"\u003eGarlic oyster stir-fry\u003c\/h4\u003e\n        \u003cp style=\"margin:6px 0 10px;color:#334155;font-size:14px\"\u003eSear shimeji in a hot pan, then toss with \u003ca style=\"color:var(--brand)\" href=\"\/products\/peeled-garlic-cloves-250g\"\u003egarlic\u003c\/a\u003e, a splash of \u003ca style=\"color:var(--brand)\" href=\"\/products\/haitian-premium-oyster-sauce-700g\"\u003eoyster sauce\u003c\/a\u003e, and crisp greens like \u003ca style=\"color:var(--brand)\" href=\"\/products\/organic-shanghai-bok-choy-1-bunch\"\u003eShanghai bok choy\u003c\/a\u003e. Ready in 3–5 minutes.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#fff\"\u003e\n        \u003ch4 style=\"margin:0 0 6px;font-size:16px;font-weight:700;\"\u003eBroth-based tofu \u0026amp; shimeji soup \u003cspan style=\"display:inline-flex;align-items:center;border:1px solid rgba(219,58,53,.2);color:var(--brand);background:rgba(219,58,53,.08);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;margin-left:8px\"\u003eBroth-based\u003c\/span\u003e\n\u003c\/h4\u003e\n        \u003cp style=\"margin:6px 0 10px;color:#334155;font-size:14px\"\u003eSimmer clusters with silky \u003ca style=\"color:var(--brand)\" href=\"\/products\/fresh-ever-green-smooth-tofu-approximately-300g\"\u003etofu\u003c\/a\u003e in a light \u003ca style=\"color:var(--brand)\" href=\"\/products\/haidilao-mushroom-flavor-hot-pot-seasoning-150g\"\u003emushroom broth base\u003c\/a\u003e; finish with \u003ca style=\"color:var(--brand)\" href=\"\/products\/fresh-snow-pea-sprouts-160g\"\u003esnow pea sprouts\u003c\/a\u003e for a clean, comforting bowl.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#fff\"\u003e\n        \u003ch4 style=\"margin:0 0 6px;font-size:16px;font-weight:700;\"\u003eBuckwheat noodles with soy \u0026amp; sesame\u003c\/h4\u003e\n        \u003cp style=\"margin:6px 0 10px;color:#334155;font-size:14px\"\u003ePan-brown shimeji, then toss with cooked \u003ca style=\"color:var(--brand)\" href=\"\/products\/j-basket-japanese-buckwheat-noodles-720g\"\u003ebuckwheat noodles\u003c\/a\u003e, a drizzle of \u003ca style=\"color:var(--brand)\" href=\"\/products\/kikkoman-all-purpose-soy-sauce-1-6l\"\u003esoy sauce\u003c\/a\u003e, and a few drops of \u003ca style=\"color:var(--brand)\" href=\"\/products\/lee-kum-kee-pure-sesame-oil-207ml\"\u003esesame oil\u003c\/a\u003e.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv style=\"border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#fff\"\u003e\n        \u003ch4 style=\"margin:0 0 6px;font-size:16px;font-weight:700;\"\u003eHot pot favorite\u003c\/h4\u003e\n        \u003cp style=\"margin:6px 0 10px;color:#334155;font-size:14px\"\u003eToss shimeji into bubbling hot pot alongside \u003ca style=\"color:var(--brand)\" href=\"\/products\/beifang-sliced-beef-rolls-225g\"\u003ebeef rolls\u003c\/a\u003e and \u003ca style=\"color:var(--brand)\" href=\"\/products\/chois-enoki-mushrooms-300g\"\u003eenoki\u003c\/a\u003e, using a rich \u003ca style=\"color:var(--brand)\" href=\"\/products\/haidilao-spicy-hot-pot-soup-base-500g\"\u003espicy soup base\u003c\/a\u003e.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px\"\u003e\n    \u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003ePrep Tips\u003c\/h3\u003e\n    \u003cul style=\"margin:8px 0 0 18px;color:#334155;font-size:14px\"\u003e\n      \u003cli\u003eTrim just the root base; separate into small clusters. Rinse quickly and pat dry.\u003c\/li\u003e\n      \u003cli\u003eBrown first in a hot pan for deeper umami, then season near the end.\u003c\/li\u003e\n      \u003cli\u003eCook briefly (about 2–4 minutes sautéing or 3–5 minutes simmering) to keep a crisp bite.\u003c\/li\u003e\n      \u003cli\u003eAvoid overcrowding the pan so the mushrooms sear instead of steaming.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px\"\u003e\n    \u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003ePairs well\u003c\/h3\u003e\n    \u003cul style=\"margin:8px 0 0 18px;color:#334155;font-size:14px\"\u003e\n      \u003cli\u003e\n\u003ca style=\"color:var(--brand)\" href=\"\/products\/haitian-premium-light-soy-sauce-500ml\"\u003eLight soy sauce\u003c\/a\u003e or a touch of \u003ca style=\"color:var(--brand)\" href=\"\/products\/haitian-premium-oyster-sauce-700g\"\u003eoyster sauce\u003c\/a\u003e\n\u003c\/li\u003e\n      \u003cli\u003e\n\u003ca style=\"color:var(--brand)\" href=\"\/products\/peeled-garlic-cloves-250g\"\u003eGarlic\u003c\/a\u003e \u0026amp; \u003ca style=\"color:var(--brand)\" href=\"\/products\/fresh-green-leaf-farm-tender-ginger-approximately-500g\"\u003eginger\u003c\/a\u003e\n\u003c\/li\u003e\n      \u003cli\u003e\u003ca style=\"color:var(--brand)\" href=\"\/products\/fresh-ever-green-chinese-style-tofu-approximately-500g\"\u003eFirm tofu\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003eSteamed rice like \u003ca style=\"color:var(--brand)\" href=\"\/products\/hokkaido-sansanmaru-japanese-rice-5kg\"\u003eHokkaido Japanese rice\u003c\/a\u003e\n\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px\"\u003e\n    \u003ch3 style=\"margin:0;font-size:18px;font-weight:700;\"\u003eMore in this category\u003c\/h3\u003e\n    \u003ca href=\"\/collections\/order-mushrooms-beans-online-next-day-delivery-in-sydney\" style=\"color:#DB3A35;font-weight:700;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px;background:#fff;\"\u003eShop all Mushrooms \u0026amp; Beans →\u003c\/a\u003e\n  \u003c\/section\u003e\n\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003eDelivery \u0026amp; Timing\u003c\/h3\u003e\n\u003cp style=\"margin:6px 0 10px;color:#334155;font-size:14px;\"\u003eYou can \u003cstrong\u003eTrack\u003c\/strong\u003e the courier's location in \u003cstrong\u003eReal‑Time\u003c\/strong\u003e online! Get your order as soon as the \u003cstrong\u003eNext Day\u003c\/strong\u003e (for most areas in Sydney).\u003c\/p\u003e\n\u003ctable style=\"width:100%;border-collapse:collapse;border:1px solid #e5e7eb;\"\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth style=\"text-align:left;padding:10px;border-right:1px solid #e5e7eb;background:#f8fafc;\"\u003eOrder Time\u003c\/th\u003e\n\u003cth style=\"text-align:left;padding:10px;background:#f8fafc;\"\u003eArrival Time\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\u003ctr\u003e\n\u003ctd style=\"padding:12px;border-top:1px solid #e5e7eb;border-right:1px solid #e5e7eb;\"\u003eToday\u003c\/td\u003e\n\u003ctd style=\"padding:12px;border-top:1px solid #e5e7eb;\"\u003e\n\u003cstrong\u003eNext Day (2 options):\u003c\/strong\u003e\u003cul style=\"margin:6px 0 0 18px;\"\u003e\n\u003cli\u003e11:30AM – 06:30PM\u003c\/li\u003e\n\u003cli\u003e05:00PM – 11:00PM\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp style=\"color:#a9a9a9;font-size:12px;margin:10px 0 0;\"\u003e* Canceling after the cutoff may incur fees. \u003ca href=\"\/pages\/return-refund-policy\" style=\"color:#DB3A35;text-decoration:underline;\"\u003eClick here\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp style=\"margin:8px 0 0;color:#334155;font-size:14px;\"\u003eDetails: \u003ca href=\"\/pages\/delivery-information\" style=\"color:#DB3A35;text-decoration:underline;\"\u003eDelivery Information\u003c\/a\u003e.\u003c\/p\u003e\u003c\/section\u003e\n  \u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;\"\u003e\u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003eDelivery Fees\u003c\/h3\u003e\n\u003cp style=\"font-size:13px;color:#666;margin:0 0 8px\"\u003e* A flat \u003cstrong\u003e$2 service \u0026amp; packaging fee\u003c\/strong\u003e will be added at checkout — \u003ca href=\"https:\/\/www.umall.com.au\/policies\/shipping-policy\" style=\"color:#DB3A35;text-decoration:underline;\"\u003esee details\u003c\/a\u003e.\u003c\/p\u003e\n\u003ctable style=\"width:100%;border-collapse:collapse;border:1px solid #e5e7eb;\"\u003e\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;\"\u003e$69.00 and up\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e\u003cstrong\u003eFree\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;\"\u003e$20 – $68.99\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e$4.99 \u003cspan style=\"color:#999;font-size:12px\"\u003e(was $10)\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding:10px;border-right:1px solid #e5e7eb;border-top:1px solid #e5e7eb;\"\u003e$0.01 – $19.99\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e$7.99 \u003cspan style=\"color:#999;font-size:12px\"\u003e(was $10)\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/section\u003e\n\u003c\/div\u003e\n\n\n\n\n\n\n\n\n\n\u003cscript\u003e\n\/* DESC ENHANCER JS v1 *\/\n(function(){\n  const root = document.getElementById('umall-desc');\n  if(!root) return;\n\n  const handleFromHref = (href)=\u003e{\n    try{ const u = new URL(href, location.origin); const parts=u.pathname.split('\/').filter(Boolean); const i=parts.findIndex(p=\u003ep==='products'); if(i\u003e=0\u0026\u0026parts[i+1]) return parts[i+1]; }catch(e){}\n    return null;\n  };\n  const money = (cents)=\u003e{ if(window.Shopify \u0026\u0026 Shopify.formatMoney) return Shopify.formatMoney(cents, \"A${{amount}}\"); return typeof cents==='number' ? 'A$'+(cents\/100).toFixed(2) : ''; };\n  const buildProdCard = (handle)=\u003e{ const a=document.createElement('a'); a.className='um-card'; a.href='\/products\/'+handle; a.setAttribute('data-handle',handle); a.innerHTML='\u003cdiv class=\"um-imgbox\"\u003e\u003cimg alt=\"'+handle+'\" loading=\"lazy\"\/\u003e\u003cspan class=\"um-badge\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"um-meta\"\u003e\u003cdiv class=\"um-title\"\u003e'+handle.replace(\/-\/g,' ')+'\u003c\/div\u003e\u003cdiv class=\"um-price\"\u003e\u003c\/div\u003e\u003c\/div\u003e'; return a; };\n  const hydrate = async (a)=\u003e{ const h=a.getAttribute('data-handle'); try{ const r=await fetch('\/products\/'+h+'.js',{credentials:'same-origin'}); if(!r.ok) return; const p=await r.json(); const img=a.querySelector('img'); if(p.images\u0026\u0026p.images[0]) img.src=p.images[0]; const t=a.querySelector('.um-title'); t.textContent=p.title||t.textContent; const vs=(p.variants||[]); const avail=vs.filter(v=\u003ev.available); const arr=avail.length?avail:vs; if(arr.length){ const min=Math.min(...arr.map(v=\u003ev.price)); const maxCompare=Math.max(...arr.map(v=\u003ev.compare_at_price||0)); const price=a.querySelector('.um-price'); price.textContent=''; const cur=document.createElement('span'); cur.textContent=money(min); price.appendChild(cur); if(maxCompare \u0026\u0026 maxCompare\u003emin){ const s=document.createElement('s'); s.textContent=money(maxCompare); price.appendChild(document.createTextNode(' ')); price.appendChild(s); const badge=a.querySelector('.um-badge'); const off=Math.round((1-min\/maxCompare)*100); badge.textContent='-'+off+'%'; badge.style.display='inline-block'; } } }catch(e){} };\n\n  const ensureAfter = (refNode, node)=\u003e{ if(!refNode || !node) return; if(node.parentElement) return; refNode.parentElement.insertBefore(node, refNode.nextSibling); };\n\n  \/\/ How to enjoy → 卡片（保留原内容；隐藏原块；标题统一“Recipes with this product”）\n  try{\n    \/\/ 1) 更鲁棒地找到标题（h2\/h3\/h4）\n    const enjoyH = Array.from(root.querySelectorAll('h2,h3,h4')).find(h=\u003e\/(how to enjoy|ways to enjoy|serving ideas|recipes with this product|食用建议|食用灵感|食法)\/i.test(h.textContent));\n    if(enjoyH){\n      const container = enjoyH.parentElement;\n      \/\/ 2) 就近查找列表或段落（同容器或下一个兄弟）\n      let listEl = container.querySelector('ol, ul');\n      if(!listEl){ const sib = enjoyH.nextElementSibling; if(sib){ listEl = sib.querySelector \u0026\u0026 sib.querySelector('ol, ul'); } }\n\n      \/\/ 3) 容器若不存在则创建\n      let cardsHost = container.querySelector('#um-recipes-cards');\n      if(!cardsHost){ cardsHost=document.createElement('div'); cardsHost.id='um-recipes-cards'; cardsHost.className='um-recipes'; ensureAfter(listEl||enjoyH, cardsHost); }\n      let prodHost = container.querySelector('#um-recipes-products');\n      if(!prodHost){ prodHost=document.createElement('div'); prodHost.id='um-recipes-products'; prodHost.className='um-slider'; ensureAfter(cardsHost, prodHost); }\n\n      const links = new Set();\n      let items = [];\n      if(listEl){ items = Array.from(listEl.children).filter(n=\u003en.tagName==='LI'); }\n      \/\/ 4) 若没有列表，尝试用同容器的段落或“网格DIV\/ARTICLE”作为卡片项\n      if(items.length === 0){\n        let ps = Array.from(container.querySelectorAll(':scope \u003e p'));\n        if(ps.length \u003c 2){ const sib = enjoyH.nextElementSibling; if(sib){ ps = Array.from(sib.querySelectorAll(':scope \u003e p')); } }\n        items = ps;\n      }\n      \/\/ 5) 同容器下寻找“网格容器”（含多个子块，且子块内有 h4\/strong）\n      let gridToHide = null;\n      if(items.length === 0){\n        const ch = Array.from(container.children || []);\n        for(const el of ch){\n          if(el === enjoyH) continue;\n          if(el.children \u0026\u0026 el.children.length \u003e= 2){\n            const first = el.children[0];\n            if((first.querySelector \u0026\u0026 first.querySelector('h3, h4, h5, strong, b, div[style*=\"font-weight:700\"]'))){\n              items = Array.from(el.children);\n              gridToHide = el;\n              break;\n            }\n          }\n        }\n      }\n      \/\/ 6) 仍然没有，则看紧跟标题的下一个块（如显示为卡片的 div\/article 列表）\n      if(items.length === 0){\n        const sib = enjoyH.nextElementSibling;\n        if(sib){\n          const children = Array.from(sib.children || []);\n          if(children.length \u003e= 2){ items = children; gridToHide = sib; }\n        }\n      }\n\n      if(items.length){\n        items.forEach((node, idx)=\u003e{\n          const card=document.createElement('article'); card.className='um-rcard';\n          const titleNode = node.querySelector \u0026\u0026 node.querySelector('h3, h4, h5, div[style*=\"font-weight:700\"], strong, b, a');\n          const h4=document.createElement('h4'); h4.textContent = titleNode ? (titleNode.textContent.trim()||('Recipe '+(idx+1))) : ('Recipe '+(idx+1));\n          const clone = node.cloneNode(true);\n          const rm = clone.querySelector \u0026\u0026 clone.querySelector('h3, h4, h5, div[style*=\"font-weight:700\"], strong, b'); if(rm) rm.remove();\n          const body=document.createElement('div'); while(clone.firstChild){ body.appendChild(clone.firstChild); }\n          card.appendChild(h4); card.appendChild(body); cardsHost.appendChild(card);\n          (node.querySelectorAll ? node.querySelectorAll('a[href]') : []).forEach(a=\u003e{ const h=handleFromHref(a.getAttribute('href')); if(h) links.add(h); });\n        });\n        \/\/ 统一标题并隐藏原内容块\n        enjoyH.textContent = 'Recipes with this product';\n        if(listEl){ listEl.style.display='none'; }\n        else if(gridToHide){ gridToHide.style.display='none'; }\n        else {\n          \/\/ 隐藏直接段落（避免把其它段落隐藏过多，仅隐藏紧邻的）\n          const ps = Array.from(container.querySelectorAll(':scope \u003e p'));\n          ps.forEach(p=\u003e{ p.style.display='none'; });\n        }\n      }\n      if(prodHost \u0026\u0026 links.size){ Array.from(links).forEach(h=\u003e{ const a=buildProdCard(h); prodHost.appendChild(a); hydrate(a); }); }\n    }\n  }catch(e){}\n\n  \/\/ Pairs well → 滑动卡片（并将标题统一为 “Pairs well with these products”）\n  try{\n    const pairsH = Array.from(root.querySelectorAll('h2,h3,h4')).find(h=\u003e\/(pairs\\s*well|pairswell|配搭建议|搭配推荐|搭配)\/i.test(h.textContent));\n    if(pairsH){\n      const section=pairsH.parentElement; const ul=section.querySelector('ul');\n      \/\/ 统一标题文案\n      pairsH.textContent = 'Pairs well with these products';\n      let host=section.querySelector('#um-pairs-slider');\n      if(!host){ host=document.createElement('div'); host.id='um-pairs-slider'; host.className='um-slider'; ensureAfter(ul||pairsH, host); }\n      const unique=new Set();\n      \/\/ 允许 p 段落或任意容器中的产品链接\n      section.querySelectorAll('a[href]').forEach(a=\u003e{ const h=handleFromHref(a.getAttribute('href')); if(h \u0026\u0026 !unique.has(h)) unique.add(h); });\n      unique.forEach(h=\u003e{ const card=buildProdCard(h); host.appendChild(card); hydrate(card); });\n    }\n  }catch(e){}\n\n  \/\/ More in this category → 条件滑动，成功后隐藏原标题与列表，把 Explore CTA 放到滑动条上方\n  try{\n    const moreH = Array.from(root.querySelectorAll('h2,h3,h4')).find(h=\u003e\/(more in this category|同类推荐|更多此分类)\/i.test(h.textContent));\n    if(moreH){ const section=moreH.parentElement; const ul=section.querySelector('ul'); let host=section.querySelector('#um-more-slider'); if(!host){ host=document.createElement('div'); host.id='um-more-slider'; host.className='um-slider'; ensureAfter(ul||moreH, host); } if(ul){ const links=ul.querySelectorAll('a[href]'); if(links.length\u003e=2){ const unique=new Set(); links.forEach(a=\u003e{ const h=handleFromHref(a.getAttribute('href')); if(h \u0026\u0026 !unique.has(h)){ unique.add(h); const card=buildProdCard(h); host.appendChild(card); hydrate(card); } }); if(host.children.length){ ul.style.display='none'; moreH.style.display='none'; const ctaWrap = Array.from(section.querySelectorAll('div')).find(d=\u003ed.querySelector('a[href^=\"\/collections\/\"]')); if(ctaWrap){ section.insertBefore(ctaWrap, host); } } } } }\n  }catch(e){}\n})();\n\u003c\/script\u003e\n\n\n\n\n\n\n\n\n","brand":"Choi's","offers":[{"title":"Default Title","offer_id":48632366432543,"sku":"A0735745754160","price":1.79,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/9a58cc20d21e2083f926933c1701b72a.jpg?v=1735370540"},{"product_id":"nongshim-shin-cup-noodle-soup-68g","title":"Nongshim Shin Cup Noodle Soup - 68g","description":"Experience the bold and spicy flavor of Nongshim Shin Cup Noodle Soup in a convenient 68g size.\u003cbr\u003eKnown for its rich and savory broth, this instant noodle cup is perfect for a quick and satisfying meal.\u003cbr\u003eMade with high-quality ingredients, including chewy noodles and a blend of spices, it delivers a delicious and authentic taste.\u003cbr\u003eSimply add hot water, wait a few minutes, and enjoy a steaming bowl of Shin Cup Noodle Soup.\u003cbr\u003eIdeal for on-the-go meals, office lunches, or a quick snack, Nongshim Shin Cup Noodle Soup is a must-have for any noodle lover.","brand":"Nongshim","offers":[{"title":"Default Title","offer_id":48649122677023,"sku":"A031146030996","price":1.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_11200158-9242-4a58-82ef-d1b7695f704d.jpg?v=1736928969"},{"product_id":"master-kong-scallion-braised-ribs-noodle-with-shallot-flavor-106g","title":"Master Kong Scallion Braised Ribs Noodle with Shallot Flavor - 108g","description":"\u003cp\u003eEnjoy the rich and savory taste of Master Kong Scallion Braised Ribs Noodle with Shallot Flavor, conveniently packaged in a 108g cup.\u003cbr\u003eThis instant noodle features a delicious combination of braised ribs and scallion, enhanced with the aromatic flavor of shallots.\u003cbr\u003ePerfect for a quick and satisfying meal, these noodles are easy to prepare and full of flavor.\u003cbr\u003eIdeal for enjoying at home, at work, or on the go, Master Kong's Scallion Braised Ribs Noodle offers a delightful taste experience in every bite.\u003c\/p\u003e","brand":"Master Kong","offers":[{"title":"Default Title","offer_id":48649253191967,"sku":"A6937962103750","price":1.89,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_e479fa48-b59c-466f-b8b2-5d1814c703f8.jpg?v=1716300339"},{"product_id":"little-raccoon-crunchy-noodles-italian-red-stew-flavor-40g","title":"Little Raccoon Crispy Noodle Snack – Italian Tomato Stew Flavor 40g","description":"\u003cp\u003eEnjoy the nostalgic crunch of Little Raccoon’s ready‑to‑eat crispy noodle snack, seasoned with an Italian-style tomato stew flavor that’s savory with a gentle touch of sweetness. This handy 40 g pack is perfect for on‑the‑go snacking or a quick flavor fix anytime.\u003c\/p\u003e\u003ch2\u003eProduct Highlights:\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eCrispy Texture:\u003c\/strong\u003e Crunchy wheat noodles you can enjoy straight from the pack—no cooking needed.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eItalian Tomato Stew Flavor:\u003c\/strong\u003e Rich, tangy tomato notes with a lightly sweet finish.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSnack-Size Pack:\u003c\/strong\u003e Convenient 40 g portion for school, work, or travel.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBeloved Classic:\u003c\/strong\u003e A popular Chinese noodle snack known for fun, bold seasoning.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAnytime Treat:\u003c\/strong\u003e Great on its own or crushed and sprinkled over salads and soups for extra crunch.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Little Raccoon","offers":[{"title":"Default Title","offer_id":48649280651551,"sku":"A6925303713003","price":0.99,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/1_57388ecb-5d36-4402-9572-bd6b5c85d10c.jpg?v=1716300853"},{"product_id":"master-kong-braised-beef-noodles-bowl-pack-110g","title":"Master Kong Braised Beef Noodles - Bowl Pack 110g","description":"Enjoy the rich and savory flavor of Master Kong Braised Beef Noodles in a convenient 110g bowl pack.\u003cbr\u003eThese noodles are infused with a delicious braised beef broth, offering a hearty and satisfying meal.\u003cbr\u003ePerfect for a quick lunch or dinner, just add hot water and your meal is ready in minutes.\u003cbr\u003eExperience the authentic taste of braised beef with every bite, enhanced by a blend of spices and seasonings.\u003cbr\u003eIdeal for busy individuals looking for a tasty and convenient meal option.","brand":"Master Kong","offers":[{"title":"Default Title","offer_id":48649282781471,"sku":"A6900873022953","price":1.69,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/d7f9039a363cb28b8658d0496073c8c4chXl2xsJGs2TDB9LtAGEc2WiICnCqher_947ae175-3e99-46b2-9adc-7a5009f97f78.jpg?v=1736928968"}],"url":"https:\/\/www.umall.com.au\/collections\/sale\/milk-soy-milk.oembed","provider":"Umall - Australia's Largest Online Asian Supermarket","version":"1.0","type":"link"}