{"title":"Lettuce \u0026 Salad Greens","description":"\u003cp\u003eBuild a fresh salad with crisp iceberg or baby cos, or use mixed mesclun leaves as a ready-to-serve base. A-choy and Chinese lettuce also suit simple cooked dishes. Explore \u003ca href=\"\/vi\/collections\/leafy-vegetables\"\u003eLeafy Vegetables\u003c\/a\u003e for leafy vegetables beyond salad greens.\u003c\/p\u003e","products":[{"product_id":"fresh-round-lettuce-1-head","title":"Xà Lách Bắp (Iceberg Lettuce) 1 củ – rau giòn cho salad \u0026 ăn kèm","description":"\u003cp\u003eXà lách bắp (iceberg lettuce) tươi giòn, lá xanh non, là lựa chọn hoàn hảo cho món salad, burger hay cuốn.\u003c\/p\u003e\u003ch2\u003eĐặc sắc sản phẩm:\u003c\/h2\u003e\u003cul\u003e\u003cli\u003e\u003cstrong\u003eTươi giòn tự nhiên:\u003c\/strong\u003e Chọn lọc kỹ càng từ vườn, giữ nguyên độ sần sật.\u003c\/li\u003e\u003cli\u003e\u003cstrong\u003eGiàu dưỡng chất:\u003c\/strong\u003e Cung cấp vitamin A, C và chất xơ hỗ trợ tiêu hóa.\u003c\/li\u003e\u003cli\u003e\u003cstrong\u003eDễ chế biến:\u003c\/strong\u003e Xé lá nhanh, phù hợp salad, sandwich hoặc cuốn gỏi.\u003c\/li\u003e\u003cli\u003e\u003cstrong\u003eKích thước 1 củ:\u003c\/strong\u003e Vừa đủ cho 2–3 người sử dụng.\u003c\/li\u003e\u003cli\u003e\u003cstrong\u003eĐa dụng:\u003c\/strong\u003e Phù hợp salad, burger, cuốn hoặc ăn kèm món Âu Á.\u003c\/li\u003e\u003c\/ul\u003e","brand":"Umall Fresh","offers":[{"title":"Default Title","offer_id":48151503601951,"sku":"A0735745752036","price":2.69,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/7baf56781aeb9123ff032526ca41bb69VB900iX97ENydUaRcz5Sfn363XBklf9a.jpg?v=1712384873"},{"product_id":"baby-cos-lettuce-2-pack","title":"Xà Lách Cos Baby 2 cây – rau salad giòn ngọt, thơm mát","description":"\u003cp\u003eXà lách Cos baby tươi xanh, lá nhỏ giòn ngọt, mang đến hương vị nhẹ nhàng cho các món salad, wrap hay sandwich.\u003c\/p\u003e\u003ch2\u003eĐặc sắc sản phẩm:\u003c\/h2\u003e\u003cul\u003e\u003cli\u003e\u003cstrong\u003eThu hoạch tươi:\u003c\/strong\u003e Giao trong ngày, giữ độ mọng nước và giòn sần.\u003c\/li\u003e\u003cli\u003e\u003cstrong\u003eHương vị dịu nhẹ:\u003c\/strong\u003e Lá non mềm, không đắng, phù hợp nhiều món ăn.\u003c\/li\u003e\u003cli\u003e\u003cstrong\u003eGiàu vitamin \u0026amp; chất xơ:\u003c\/strong\u003e Hỗ trợ tiêu hóa, tăng cường miễn dịch.\u003c\/li\u003e\u003cli\u003e\u003cstrong\u003eTiện lợi 2 cây:\u003c\/strong\u003e Đủ khẩu phần cho 2–3 người, dễ bảo quản tủ mát.\u003c\/li\u003e\u003cli\u003e\u003cstrong\u003eĐa dụng:\u003c\/strong\u003e Salad, wrap, trang trí bánh mì hay món ăn khai vị đều lý tưởng.\u003c\/li\u003e\u003c\/ul\u003e","brand":"Umall Fresh","offers":[{"title":"Default Title","offer_id":48632387862815,"sku":"9202403081452","price":3.99,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/694f4d1db9ebe25c6f3115cc625a37dc.jpg?v=1724144428"},{"product_id":"fresh-chinese-lettuce-1-bundle","title":"Xà Lách Trung Quốc 1 bó – rau tươi giòn cho salad \u0026 cuốn","description":"\u003cp\u003eXà lách Trung Quốc tươi giòn, lá mỏng, hương vị nhẹ, giàu vitamin, lý tưởng cho salad, cuốn và chế biến nhanh.\u003c\/p\u003e\u003ch2\u003eĐặc sắc sản phẩm:\u003c\/h2\u003e\u003cul\u003e\u003cli\u003e\u003cstrong\u003eTươi giòn:\u003c\/strong\u003e Thu hoạch trong ngày, lá xanh mướt, giữ độ sần sật tự nhiên.\u003c\/li\u003e\u003cli\u003e\u003cstrong\u003eGiàu vitamin \u0026 chất xơ:\u003c\/strong\u003e Hỗ trợ tiêu hóa, tăng cường đề kháng.\u003c\/li\u003e\u003cli\u003e\u003cstrong\u003eĐa dụng trong bếp:\u003c\/strong\u003e Salad, cuốn, bánh mì kẹp hoặc xào nhanh.\u003c\/li\u003e\u003cli\u003e\u003cstrong\u003eMỗi bó ~250–300 g:\u003c\/strong\u003e Phù hợp cho 2–3 khẩu phần.\u003c\/li\u003e\u003cli\u003e\u003cstrong\u003eĐóng bó gọn gàng:\u003c\/strong\u003e Tiện bảo quản, hạn chế hư hỏng khi vận chuyển.\u003c\/li\u003e\u003c\/ul\u003e","brand":"Umall Fresh","offers":[{"title":"Default Title","offer_id":48896018579743,"sku":"A0735745752708","price":1.89,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/17c9ebec3a5147368b0bb59272d78a87tfpe82MbajpRXPAx4DkwYn11cIbn9ZPy.jpg?v=1719996938"},{"product_id":"fresh-mixed-salad-greens-mesclun-blend-300g-baby-spinach-arugula-lettuce-mix","title":"Rau trộn tươi (Hỗn hợp mesclun) – Hỗn hợp cải bó xôi non, rau rocket \u0026 xà lách 300g","description":"\u003cdiv id=\"umall-desc\" style=\"max-width:860px;margin:0 auto;padding:6px 0 24px;--brand:#DB3A35\"\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:20px;margin-top:8px;\"\u003e\u003ch1 style=\"margin:0;font-size:22px;line-height:1.25;font-weight:800;color:#0f172a;\"\u003eRau trộn tươi (Hỗn hợp mesclun) 300g – Hỗn hợp cải bó xôi non, rau rocket \u0026amp; xà lách\u003c\/h1\u003e\n\u003cp style=\"margin:10px 0 0;color:#475569;font-size:14px;\"\u003eCải bó xôi non mềm, rau rocket cay nhẹ và xà lách giòn — hỗn hợp cân bằng, chỉ cần rửa là có thể dễ dàng làm salad, món cuốn và món ăn trong tô.\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;\"\u003eLý do bạn sẽ thích\u003c\/h3\u003e\n\u003cul style=\"margin:8px 0 0 18px;color:#334155;font-size:14px;line-height:1.6;\"\u003e\n\u003cli\u003eHương vị cân bằng: cải bó xôi ngọt dịu, rau rocket cay nhẹ và xà lách thanh mát.\u003c\/li\u003e\n\u003cli\u003eLàm nền cho nhiều món salad, tô ngũ cốc, salad mì và bánh mì sandwich.\u003c\/li\u003e\n\u003cli\u003eSơ chế nhanh — chỉ cần rửa, để ráo và trộn nhẹ với nước xốt.\u003c\/li\u003e\n\u003cli\u003eHợp với xốt dầu giấm chua thanh, nước xốt vị cam chanh, các loại hạt, đậu hũ, hải sản hoặc trứng.\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 12px;font-size:18px;font-weight:700;\"\u003eCách thưởng thức\u003c\/h3\u003e\n\u003cdiv style=\"display:grid;grid-template-columns:1fr;gap:12px;\"\u003e \u003cdiv style=\"border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:14px;\"\u003e\n\u003cdiv style=\"font-weight:700;color:#0f172a;margin-bottom:6px;\"\u003eSalad rau vườn với mè–giấm gạo\u003c\/div\u003e\n\u003cp style=\"margin:6px 0 0;color:#334155;font-size:14px;\"\u003eTrộn rau với \u003ca href=\"\/vi\/products\/hengshun-white-rice-vinegar-500ml\"\u003eHengshun Giấm gạo trắng\u003c\/a\u003e, một ít \u003ca href=\"\/vi\/products\/lee-kum-kee-pure-sesame-oil-207ml\"\u003edầu mè\u003c\/a\u003e, một nhúm muối và \u003ca href=\"\/vi\/products\/fresh-radishes-1-bunch\"\u003ecủ cải đỏ thái lát\u003c\/a\u003e. Đơn giản, thanh mát và giòn.\u003c\/p\u003e\n\u003c\/div\u003e \u003cdiv style=\"border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:14px;\"\u003e\n\u003cdiv style=\"font-weight:700;color:#0f172a;margin-bottom:6px;\"\u003eTô salad mì shirataki \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\"\u003eÍt calo\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin:6px 0 0;color:#334155;font-size:14px;\"\u003eRửa rồi trộn \u003ca href=\"\/vi\/products\/hankun-crispy-konjac-yam-threads-200g\"\u003esợi konjac (shirataki)\u003c\/a\u003e với rau mesclun và một ít \u003ca href=\"\/vi\/products\/hengshun-9-degree-rice-vinegar-500ml\"\u003egiấm gạo 9°\u003c\/a\u003e. Thêm rau thơm và hạt rang để tạo độ giòn.\u003c\/p\u003e\n\u003c\/div\u003e \u003cdiv style=\"border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:14px;\"\u003e\n\u003cdiv style=\"font-weight:700;color:#0f172a;margin-bottom:6px;\"\u003eTôm tỏi \u0026amp; rau dùng ấm\u003c\/div\u003e\n\u003cp style=\"margin:6px 0 0;color:#334155;font-size:14px;\"\u003eÁp chảo \u003ca href=\"\/vi\/products\/australian-raw-king-prawns-peeled-tail-on-flash-frozen-700g\"\u003etôm king\u003c\/a\u003e với \u003ca href=\"\/vi\/products\/fresh-dried-garlic-heads-approximately-500g\"\u003etỏi thái lát\u003c\/a\u003e trong một ít \u003ca href=\"\/vi\/products\/amoy-black-sesame-oil-150ml-aromatic-roasted-sesame-essence\"\u003edầu mè đen\u003c\/a\u003e trong 2–4 phút; đảo cùng rau cho rau hơi héo. Cuối cùng vắt một ít chanh hoặc thêm một chút nước tương nhạt.\u003c\/p\u003e\n\u003c\/div\u003e \u003cdiv style=\"border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:14px;\"\u003e\n\u003cdiv style=\"font-weight:700;color:#0f172a;margin-bottom:6px;\"\u003eTrứng \u0026amp; hẹ gấp cho bữa sáng\u003c\/div\u003e\n\u003cp style=\"margin:6px 0 0;color:#334155;font-size:14px;\"\u003eĐảo \u003ca href=\"\/vi\/products\/pace-farm-free-range-eggs-12-extra-large-700g\"\u003etrứng gà thả vườn\u003c\/a\u003e cho chín mềm cùng \u003ca href=\"\/vi\/products\/fresh-bundle-of-chives-pack-of-2\"\u003ehẹ cắt nhỏ\u003c\/a\u003e. Trộn một nắm rau vào ngay trước khi dùng để thêm vị tươi mát và cay nhẹ.\u003c\/p\u003e\n\u003c\/div\u003e\n\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 8px;font-size:18px;font-weight:700;\"\u003eMẹo sơ chế\u003c\/h3\u003e\n\u003cul style=\"margin:8px 0 0 18px;color:#334155;font-size:14px;line-height:1.6;\"\u003e\n\u003cli\u003eRửa nhanh bằng nước lạnh và làm thật ráo (dụng cụ quay ráo rau salad là tốt nhất) để nước xốt bám vào rau.\u003c\/li\u003e\n\u003cli\u003eTrộn nhẹ với nước xốt — bắt đầu với dầu, sau đó thêm vị chua (giấm), nêm vừa ăn.\u003c\/li\u003e\n\u003cli\u003eThêm các món ăn kèm còn ấm (tôm, nấm) ngay trước khi dùng để rau hơi héo mà không bị nhũn.\u003c\/li\u003e\n\u003cli\u003eThêm muối từng bước cho hợp lý: một nhúm trong nước xốt rồi rắc thêm một ít ngay trước khi ăn.\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 8px;font-size:18px;font-weight:700;\"\u003eGợi ý kết hợp\u003c\/h3\u003e\n\u003cdiv style=\"display:flex;flex-wrap:wrap;gap:10px;\"\u003e \u003ca href=\"\/vi\/products\/hengshun-white-rice-vinegar-500ml\" style=\"color:#334155;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:6px 10px;font-size:13px;\"\u003eHengshun Giấm gạo trắng\u003c\/a\u003e \u003ca href=\"\/vi\/products\/lee-kum-kee-pure-sesame-oil-207ml\" style=\"color:#334155;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:6px 10px;font-size:13px;\"\u003eDầu mè\u003c\/a\u003e \u003ca href=\"\/vi\/products\/fresh-ever-green-chinese-style-tofu-approximately-500g\" style=\"color:#334155;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:6px 10px;font-size:13px;\"\u003eĐậu hũ truyền thống (500g)\u003c\/a\u003e \u003ca href=\"\/vi\/products\/australian-raw-king-prawns-peeled-tail-on-flash-frozen-700g\" style=\"color:#334155;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:6px 10px;font-size:13px;\"\u003eTôm king\u003c\/a\u003e \u003ca href=\"\/vi\/products\/chois-shimeji-mushrooms-150g\" style=\"color:#334155;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:6px 10px;font-size:13px;\"\u003eNấm shimeji\u003c\/a\u003e \u003ca href=\"\/vi\/products\/chunsi-jiangxi-rice-noodles-300g\" style=\"color:#334155;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:6px 10px;font-size:13px;\"\u003eBún gạo (300g)\u003c\/a\u003e \u003c\/div\u003e\u003c\/section\u003e\u003csection style=\"border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:20px;margin-top:16px;text-align:center;\"\u003e\u003ch3 style=\"margin:0 0 8px;font-size:18px;font-weight:700;\"\u003eThêm sản phẩm cùng loại\u003c\/h3\u003e\n\u003ca href=\"\/vi\/collections\/leafy-vegetables\" style=\"display:inline-block;margin-top:6px;color:#DB3A35;border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:10px 14px;font-weight:700;\"\u003eXem tất cả rau lá →\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;\"\u003eGiao hàng \u0026amp; thời gian\u003c\/h3\u003e\n\u003cp style=\"margin:6px 0 10px;color:#334155;font-size:14px;\"\u003eBạn có thể \u003cstrong\u003eTheo dõi\u003c\/strong\u003e vị trí của người giao hàng theo \u003cstrong\u003eThời gian thực\u003c\/strong\u003e trực tuyến! Nhận đơn hàng sớm nhất vào \u003cstrong\u003eNgày hôm sau\u003c\/strong\u003e (áp dụng cho hầu hết các khu vực tại 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;\"\u003eThời gian đặt hàng\u003c\/th\u003e\n\u003cth style=\"text-align:left;padding:10px;background:#f8fafc;\"\u003eThời gian nhận hàng\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;\"\u003eHôm nay\u003c\/td\u003e\n\u003ctd style=\"padding:12px;border-top:1px solid #e5e7eb;\"\u003e\n\u003cstrong\u003eNgày hôm sau (2 lựa chọn):\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* Hủy sau thời hạn chốt có thể phát sinh phí. \u003ca href=\"\/vi\/pages\/return-refund-policy\" style=\"color:#DB3A35;text-decoration:underline;\"\u003eBấm vào đây\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp style=\"margin:8px 0 0;color:#334155;font-size:14px;\"\u003eChi tiết: \u003ca href=\"\/vi\/pages\/delivery-information\" style=\"color:#DB3A35;text-decoration:underline;\"\u003eThông tin giao hàng\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;\"\u003ePhí giao hàng\u003c\/h3\u003e\n\u003cp style=\"font-size:13px;color:#666;margin:0 0 8px\"\u003e* Một khoản \u003cstrong\u003ephí dịch vụ \u0026amp; đóng gói cố định $2\u003c\/strong\u003e sẽ được cộng khi thanh toán — \u003ca href=\"https:\/\/www.umall.com.au\/policies\/shipping-policy\" style=\"color:#DB3A35;text-decoration:underline;\"\u003exem chi tiết\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;\"\u003eTừ $69.00 trở lên\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e\u003cstrong\u003eMiễn phí\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(trước đây $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(trước đây $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=\"\/vi\/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":51057921163551,"sku":"A9202507141045","price":4.59,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/90c31f880398f1085add780effa2f293bBQbZKQ04CGZR0sMZR97UbU0mS1uAMbW.jpg?v=1752822489"},{"product_id":"fresh-mixed-salad-greens-mesclun-mix-300g","title":"Rau trộn tươi (Hỗn hợp mesclun) – 300g","description":"\u003cdiv id=\"umall-desc\" style=\"--brand:#DB3A35;max-width:860px;margin:0 auto;padding:8px 0 20px;color:#334155;font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55;\"\u003e \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:24px;margin-top:8px;\"\u003e \u003ch1 style=\"margin:0 0 6px;font-size:26px;font-weight:800;color:#0f172a;\"\u003eRau trộn tươi (Hỗn hợp mesclun) – 300g\u003c\/h1\u003e \u003cdiv style=\"display:inline-block;margin-top:6px;font-size:12px;color:#475569;border:1px solid #e2e8f0;border-radius:999px;padding:4px 10px;background:#f8fafc;\"\u003eLá rau non mềm cho món salad hằng ngày\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;\"\u003eLý do bạn sẽ thích\u003c\/h3\u003e \u003cul style=\"margin:0;padding-left:18px;\"\u003e \u003cli\u003eHỗn hợp cân bằng gồm rau non mềm, giòn với vị đắng dịu và cay nhẹ.\u003c\/li\u003e \u003cli\u003eLàm nền cho nhiều món salad, món ăn trong tô, bánh mì sandwich và món phụ nhanh gọn cho buổi tối trong tuần.\u003c\/li\u003e \u003cli\u003eKết cấu nhẹ, thanh mát, hợp với cam chanh, giấm, mè và các loại dầu kiểu dầu ô liu.\u003c\/li\u003e \u003cli\u003eChỉ cần rửa, để ráo rồi trộn—không cần cắt.\u003c\/li\u003e \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;\"\u003eCách thưởng thức\u003c\/h3\u003e \u003col style=\"margin:0;padding-left:18px;\"\u003e \u003cli style=\"margin-bottom:10px;\"\u003e \u003cdiv style=\"font-weight:700;color:#0f172a;display:flex;align-items:center;flex-wrap:wrap;\"\u003eSalad ăn kèm với xốt dầu giấm mè và nước tương \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\"\u003eNhẹ nhàng \u0026amp; tươi mát\u003c\/span\u003e\n\u003c\/div\u003e Đánh nhanh nước xốt với \u003ca href=\"\/vi\/products\/hengshun-white-rice-vinegar-500ml\" style=\"color:var(--brand);\"\u003eHengshun Giấm gạo trắng\u003c\/a\u003e, một ít \u003ca href=\"\/vi\/products\/lee-kum-kee-pure-sesame-oil-207ml\" style=\"color:var(--brand);\"\u003eDầu mè\u003c\/a\u003e, và một chút \u003ca href=\"\/vi\/products\/haitian-premium-light-soy-sauce-500ml\" style=\"color:var(--brand);\"\u003eNước tương nhạt\u003c\/a\u003e. Trộn nhẹ rồi dùng ngay. \u003c\/li\u003e \u003cli style=\"margin-bottom:10px;\"\u003e \u003cdiv style=\"font-weight:700;color:#0f172a;\"\u003eGỏi cuốn tôm \u0026amp; rau mesclun\u003c\/div\u003e Xếp rau cùng tôm xào nhanh (2–3 phút), chẳng hạn như \u003ca href=\"\/vi\/products\/australian-raw-king-prawns-peeled-tail-on-flash-frozen-700g\" style=\"color:var(--brand);\"\u003eTôm king Úc sống\u003c\/a\u003e, rau thơm và dưa leo. Cuốn lại rồi chấm với nước tương nhạt pha chanh xanh. \u003c\/li\u003e \u003cli style=\"margin-bottom:10px;\"\u003e \u003cdiv style=\"font-weight:700;color:#0f172a;\"\u003eRau ăn kèm mì ramen ăn liền\u003c\/div\u003e Nấu món mì nước bạn yêu thích (thử \u003ca href=\"\/vi\/products\/marutai-hakata-soy-sauce-tonkotsu-ramen-2-servings-185g\" style=\"color:var(--brand);\"\u003eMarutai Hakata Mì ramen tonkotsu vị nước tương\u003c\/a\u003e) rồi trộn một nắm rau vào ngay trước khi dùng để rau hơi héo. \u003c\/li\u003e \u003cli style=\"margin-bottom:0;\"\u003e \u003cdiv style=\"font-weight:700;color:#0f172a;\"\u003eMón cuốn salad trứng cho bữa sáng muộn\u003c\/div\u003e Làm trứng khuấy hoặc luộc trứng lòng đào (6–8 phút để có lòng đào), thêm rau mesclun, một ít mù tạt và tiêu đập dập. Dùng trứng chất lượng như \u003ca href=\"\/vi\/products\/pace-farm-free-range-eggs-12-extra-large-700g\" style=\"color:var(--brand);\"\u003ePace Farm Trứng gà thả vườn\u003c\/a\u003e. Cuốn trong bánh tortilla ấm hoặc dùng trên bánh mì nướng. \u003c\/li\u003e \u003c\/ol\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;\"\u003eMẹo sơ chế\u003c\/h3\u003e \u003cul style=\"margin:0;padding-left:18px;\"\u003e \u003cli\u003eRửa nhẹ bằng nước lạnh, sau đó quay hoặc thấm thật khô để nước xốt bám tốt nhất.\u003c\/li\u003e \u003cli\u003eTrộn với nước xốt ngay trước khi dùng để giữ lá rau giòn.\u003c\/li\u003e \u003cli\u003eCân bằng hương vị: một nhúm muối, một chút vị chua (cam chanh hoặc giấm) và một ít dầu.\u003c\/li\u003e \u003cli\u003eVới món dùng ấm, tắt bếp rồi mới thêm rau, để hơi nóng còn lại làm rau hơi héo.\u003c\/li\u003e \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;\"\u003eGợi ý kết hợp\u003c\/h3\u003e \u003cul style=\"margin:0;padding-left:18px;\"\u003e \u003cli\u003eNấm cho hương vị mộc tự nhiên: \u003ca href=\"\/vi\/products\/chois-oyster-mushrooms-400g\" style=\"color:var(--brand);\"\u003eChois Nấm bào ngư\u003c\/a\u003e\n\u003c\/li\u003e \u003cli\u003eCác món đạm mềm: \u003ca href=\"\/vi\/products\/fresh-ever-green-chinese-style-tofu-approximately-500g\" style=\"color:var(--brand);\"\u003eEver Green Đậu hũ truyền thống\u003c\/a\u003e, gà chần hoặc cá ngừ\u003c\/li\u003e \u003cli\u003eRau củ giòn: \u003ca href=\"\/vi\/products\/fresh-green-lantern-peppers-pack-of-3\" style=\"color:var(--brand);\"\u003eỚt chuông xanh\u003c\/a\u003e, dưa leo, củ cải đỏ\u003c\/li\u003e \u003cli\u003eNước xốt chua thanh: giấm gạo, chanh và một chút dầu mè\u003c\/li\u003e \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;gap:12px;\"\u003e \u003cdiv\u003e \u003ch3 style=\"margin:0 0 6px;font-size:18px;font-weight:700;\"\u003eThêm sản phẩm cùng loại\u003c\/h3\u003e \u003cp style=\"margin:0;color:#475569;font-size:14px;\"\u003eKhám phá thêm rau lá tươi và các loại rau sẵn sàng làm salad.\u003c\/p\u003e \u003c\/div\u003e \u003ca href=\"\/vi\/collections\/leafy-vegetables\" style=\"color:var(--brand);font-weight:700;white-space:nowrap;\"\u003eXem rau lá →\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;\"\u003eGiao hàng \u0026amp; thời gian\u003c\/h3\u003e\n\u003cp style=\"margin:6px 0 10px;color:#334155;font-size:14px;\"\u003eBạn có thể \u003cstrong\u003eTheo dõi\u003c\/strong\u003e vị trí của người giao hàng theo \u003cstrong\u003eThời gian thực\u003c\/strong\u003e trực tuyến! Nhận đơn hàng sớm nhất vào \u003cstrong\u003eNgày hôm sau\u003c\/strong\u003e (áp dụng cho hầu hết các khu vực tại 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;\"\u003eThời gian đặt hàng\u003c\/th\u003e\n\u003cth style=\"text-align:left;padding:10px;background:#f8fafc;\"\u003eThời gian nhận hàng\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;\"\u003eHôm nay\u003c\/td\u003e\n\u003ctd style=\"padding:12px;border-top:1px solid #e5e7eb;\"\u003e\n\u003cstrong\u003eNgày hôm sau (2 lựa chọn):\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* Hủy sau thời hạn chốt có thể phát sinh phí. \u003ca href=\"\/vi\/pages\/return-refund-policy\" style=\"color:#DB3A35;text-decoration:underline;\"\u003eBấm vào đây\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp style=\"margin:8px 0 0;color:#334155;font-size:14px;\"\u003eChi tiết: \u003ca href=\"\/vi\/pages\/delivery-information\" style=\"color:#DB3A35;text-decoration:underline;\"\u003eThông tin giao hàng\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;\"\u003ePhí giao hàng\u003c\/h3\u003e\n\u003cp style=\"font-size:13px;color:#666;margin:0 0 8px\"\u003e* Một khoản \u003cstrong\u003ephí dịch vụ \u0026amp; đóng gói cố định $2\u003c\/strong\u003e sẽ được cộng khi thanh toán — \u003ca href=\"https:\/\/www.umall.com.au\/policies\/shipping-policy\" style=\"color:#DB3A35;text-decoration:underline;\"\u003exem chi tiết\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;\"\u003eTừ $69.00 trở lên\u003c\/td\u003e\n\u003ctd style=\"padding:10px;border-top:1px solid #e5e7eb;\"\u003e\u003cstrong\u003eMiễn phí\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(trước đây $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(trước đây $10)\u003c\/span\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/section\u003e \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=\"\/vi\/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":51075636363551,"sku":"A9202507141045","price":4.29,"currency_code":"AUD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0864\/3602\/0511\/files\/90c31f880398f1085add780effa2f293bBQbZKQ04CGZR0sMZR97UbU0mS1uAMbW_2d4888b9-2738-4af8-af91-5447f683db92.jpg?v=1753457881"}],"url":"https:\/\/www.umall.com.au\/vi\/collections\/lettuce-salad-greens\/baby-cos.oembed","provider":"Umall - Australia's Largest Online Asian Supermarket","version":"1.0","type":"link"}