{"product_id":"innisfree-canada-x-yourstuffmade-custom-plushies-for-a-beauty-influencer-blind-box-campaign","title":"Innisfree Canada","description":"\u003cstyle\u003e\n\/* DỰ ÁN SẢN PHẨM YSM — chỉnh sửa bố cục riêng cho sản phẩm *\/\nbody:has(.ysm-innisfree-canada-v9) .product.grid,\nbody:has(.ysm-innisfree-canada-v9) .product:not(.product-card-wrapper .product){display:block!important;width:100%!important;max-width:none!important;min-width:0!important;padding-left:0!important;padding-right:0!important}\nbody:has(.ysm-innisfree-canada-v9) .product__media-wrapper,\nbody:has(.ysm-innisfree-canada-v9) .product__media-gallery,\nbody:has(.ysm-innisfree-canada-v9) .product media-gallery,\nbody:has(.ysm-innisfree-canada-v9) .product__title,\nbody:has(.ysm-innisfree-canada-v9) .product__info-container\u003e.price,\nbody:has(.ysm-innisfree-canada-v9) .product__info-container\u003e.product-form,\nbody:has(.ysm-innisfree-canada-v9) .product__info-container\u003eproduct-form,\nbody:has(.ysm-innisfree-canada-v9) .product__info-container\u003evariant-selects,\nbody:has(.ysm-innisfree-canada-v9) .product__info-container\u003e.shopify-payment-button,\nbody:has(.ysm-innisfree-canada-v9) .product__info-container\u003e.product__tax,\nbody:has(.ysm-innisfree-canada-v9) .product__info-container\u003e.product__sku,\nbody:has(.ysm-innisfree-canada-v9) .product__info-container\u003e.product__inventory,\nbody:has(.ysm-innisfree-canada-v9) .product__info-container\u003e.share-button,\nbody:has(.ysm-innisfree-canada-v9) .product__info-container\u003e.quantity,\nbody:has(.ysm-innisfree-canada-v9) .product__info-container\u003e.product-form__input{display:none!important}\nbody:has(.ysm-innisfree-canada-v9) .product__info-wrapper,\nbody:has(.ysm-innisfree-canada-v9) .product__info-container,\nbody:has(.ysm-innisfree-canada-v9) .product__description{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;flex:0 0 100%!important;padding-left:0!important;padding-right:0!important;margin-left:auto!important;margin-right:auto!important}\n.ysm-innisfree-canada-v9{--green:#2d684a;--ink:#203128;--muted:#617168;--line:#dfe7e0;--soft:#f3f7f3;color:var(--ink);width:100%;max-width:1160px;margin:auto;font-family:inherit;line-height:1.5;overflow:clip}\n.ysm-innisfree-canada-v9 *{box-sizing:border-box;min-width:0}\n.ysm-innisfree-canada-v9 .inner{width:min(1100px,calc(100% - 36px));margin-inline:auto}\n.ysm-innisfree-canada-v9 h1,.ysm-innisfree-canada-v9 h2,.ysm-innisfree-canada-v9 h3{color:var(--ink);font-family:inherit;font-weight:750;letter-spacing:-.035em;line-height:1.12;margin:0}\n.ysm-innisfree-canada-v9 h1{font-size:clamp(32px,4.2vw,56px)}.ysm-innisfree-canada-v9 h2{font-size:clamp(25px,3vw,37px)}.ysm-innisfree-canada-v9 h3{font-size:clamp(17px,1.7vw,21px)}.ysm-innisfree-canada-v9 p{margin:0}.ysm-innisfree-canada-v9 a{text-decoration:none}\n.ysm-innisfree-canada-v9 .eyebrow{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.ysm-innisfree-canada-v9 .lead{font-size:clamp(15px,1.45vw,18px);line-height:1.55;color:var(--muted)}\n.ysm-innisfree-canada-v9 .btn{display:inline-flex;justify-content:center;align-items:center;min-height:45px;padding:12px 19px;border-radius:10px;background:var(--green);color:#fff!important;font-size:14px;font-weight:750;text-decoration:none!important;transition:transform .2s,background .2s}.ysm-innisfree-canada-v9 .btn:hover{background:#204e36;transform:translateY(-2px)}.ysm-innisfree-canada-v9 a:focus-visible{outline:3px solid var(--green);outline-offset:3px}\n.ysm-innisfree-canada-v9 .square{display:block;position:relative;aspect-ratio:1\/1;width:100%;margin:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px}.ysm-innisfree-canada-v9 .square img{position:absolute;inset:0;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;object-position:center}.ysm-innisfree-canada-v9 .square.photo img{object-fit:cover!important}.ysm-innisfree-canada-v9 .square.art img{object-fit:contain!important}\n.ysm-innisfree-canada-v9 .hero{padding:clamp(18px,3vw,36px) 0 32px}.ysm-innisfree-canada-v9 .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(22px,4vw,52px);align-items:center}.ysm-innisfree-canada-v9 .hero .lead{margin-top:16px}.ysm-innisfree-canada-v9 .chips{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 20px}.ysm-innisfree-canada-v9 .chip{padding:6px 10px;background:#eaf2eb;border-radius:8px;font-size:12px;font-weight:650}\n.ysm-innisfree-canada-v9 .section{padding:clamp(28px,3.6vw,44px) 0;border-top:1px solid var(--line)}.ysm-innisfree-canada-v9 .section-lead{margin-top:12px;max-width:780px}\n.ysm-innisfree-canada-v9 .brand-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:clamp(24px,4vw,60px)}.ysm-innisfree-canada-v9 .quote{border-left:3px solid var(--green);padding-left:16px;margin:18px 0 0;font-size:clamp(17px,1.85vw,22px);line-height:1.4;font-weight:650;letter-spacing:-.02em}\n.ysm-innisfree-canada-v9 .story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.ysm-innisfree-canada-v9 .story-card{padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--soft);transition:transform .2s,box-shadow .2s}.ysm-innisfree-canada-v9 .story-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(24,54,37,.08)}.ysm-innisfree-canada-v9 .num{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--green);margin-bottom:12px}.ysm-innisfree-canada-v9 .story-card p:last-child{font-size:14px;line-height:1.55;color:var(--muted);margin-top:8px}\n.ysm-innisfree-canada-v9 .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.ysm-innisfree-canada-v9 .gallery a{display:block;cursor:zoom-in}.ysm-innisfree-canada-v9 .gallery a:hover .square{border-color:#9db9a5}.ysm-innisfree-canada-v9 .gallery img{transition:transform .25s}.ysm-innisfree-canada-v9 .gallery a:hover img{transform:scale(1.035)}\n.ysm-innisfree-canada-v9 .project-info{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.ysm-innisfree-canada-v9 .project-info h3{margin-bottom:17px}.ysm-innisfree-canada-v9 .info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 26px}.ysm-innisfree-canada-v9 .info-item{border-top:1px solid var(--line);padding-top:12px}.ysm-innisfree-canada-v9 .info-item strong{display:block;font-size:14px;margin-bottom:6px}.ysm-innisfree-canada-v9 .info-item p{font-size:14px;color:var(--muted);line-height:1.55}\n.ysm-innisfree-canada-v9 .final{padding:30px 0 40px}.ysm-innisfree-canada-v9 .cta{padding:clamp(25px,4vw,38px);border-radius:17px;background:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:25px}.ysm-innisfree-canada-v9 .cta h2{color:#fff}.ysm-innisfree-canada-v9 .cta .eyebrow{color:#b1d9bd}.ysm-innisfree-canada-v9 .cta p:not(.eyebrow){color:#d2dfd5;margin-top:10px;font-size:15px;max-width:580px}.ysm-innisfree-canada-v9 .cta .btn{background:#fff;color:var(--ink)!important;flex-shrink:0}\n@media(max-width:800px){.ysm-innisfree-canada-v9 .hero-grid,.ysm-innisfree-canada-v9 .brand-grid{grid-template-columns:1fr;gap:20px}.ysm-innisfree-canada-v9 .story{grid-template-columns:1fr}.ysm-innisfree-canada-v9 .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.ysm-innisfree-canada-v9 .cta{flex-direction:column;align-items:stretch}}\n@media(max-width:480px){.ysm-innisfree-canada-v9 .inner{width:calc(100% - 28px)}.ysm-innisfree-canada-v9 .hero{padding:14px 0 25px}.ysm-innisfree-canada-v9 h1{font-size:clamp(31px,8vw,39px)}.ysm-innisfree-canada-v9 h2{font-size:clamp(24px,6vw,30px)}.ysm-innisfree-canada-v9 .section{padding:25px 0}.ysm-innisfree-canada-v9 .story-card,.ysm-innisfree-canada-v9 .project-info{padding:17px}.ysm-innisfree-canada-v9 .gallery{gap:8px}.ysm-innisfree-canada-v9 .info-grid{grid-template-columns:1fr;gap:13px}.ysm-innisfree-canada-v9 .hero .btn,.ysm-innisfree-canada-v9 .cta .btn{width:100%}.ysm-innisfree-canada-v9 .cta{padding:24px}}@media(prefers-reduced-motion:reduce){.ysm-innisfree-canada-v9 *{transition:none!important}}\n\u003c\/style\u003e\n\u003carticle class=\"ysm-innisfree-canada-v9\"\u003e\n\u003cheader class=\"hero\"\u003e\u003cdiv class=\"inner hero-grid\"\u003e\n\u003cdiv\u003e\n\u003cp class=\"eyebrow\"\u003eDự án YSM \/ Chiến dịch làm đẹp \u0026amp; người ảnh hưởng\u003c\/p\u003e\n\u003ch1\u003eInnisfree Canada: Món quà bất ngờ nhỏ bé với cá tính lớn.\u003c\/h1\u003e\n\u003cp class=\"lead\"\u003eInnisfree Canada hợp tác với YSM để tạo ra bốn nhân vật thú nhồi bông theo yêu cầu cho chiến dịch hộp bí ẩn phiên bản giới hạn dành cho người ảnh hưởng về làm đẹp. Trải nghiệm kết hợp chăm sóc da, đồ sưu tầm và cách kể chuyện sản phẩm đầy tinh nghịch.\u003c\/p\u003e\n\u003cdiv class=\"chips\"\u003e\n\u003cspan class=\"chip\"\u003eInnisfree Canada\u003c\/span\u003e\u003cspan class=\"chip\"\u003eSản phẩm quảng bá theo yêu cầu\u003c\/span\u003e\u003cspan class=\"chip\"\u003eDự án YSM\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca class=\"btn\" href=\"https:\/\/yourstuffmade.com\/collections\/custom-ethical-products\"\u003eKhám phá dịch vụ sản xuất theo yêu cầu →\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cfigure class=\"square photo\"\u003e\u003cimg alt=\"Bộ sưu tập thú nhồi bông Siêu anh hùng làn da Innisfree\" height=\"900\" loading=\"eager\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/IMG_5873.jpg?v=1759841139\" width=\"900\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\u003c\/header\u003e\n\u003csection class=\"section\"\u003e\u003cdiv class=\"inner brand-grid\"\u003e\n\u003cdiv\u003e\n\u003cp class=\"eyebrow\"\u003eThương hiệu\u003c\/p\u003e\n\u003ch2\u003eChăm sóc da kết hợp nhân vật sưu tầm.\u003c\/h2\u003e\n\u003cp class=\"lead\" style=\"margin-top:13px\"\u003eMỗi bộ quà tặng cho người ảnh hưởng gồm bốn hộp bí ẩn: ba sản phẩm chăm sóc da và một món thú nhồi bông bất ngờ, tạo nên khoảnh khắc mở hộp đầy cảm xúc, thể hiện cá tính gần gũi với thiên nhiên của thương hiệu.\u003c\/p\u003e\n\u003cblockquote class=\"quote\"\u003eYếu tố bất ngờ là một phần trong trải nghiệm sản phẩm.\u003c\/blockquote\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cp class=\"eyebrow\"\u003eTrọng tâm dự án\u003c\/p\u003e\n\u003ch2\u003eInnisfree Canada\u003c\/h2\u003e\n\u003cp class=\"lead\" style=\"margin-top:13px\"\u003ePhát triển sản phẩm, chăm chút từng chi tiết và hỗ trợ sản xuất theo định hướng thương hiệu cùng YSM.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003csection class=\"section\"\u003e\u003cdiv class=\"inner\"\u003e\n\u003cp class=\"eyebrow\"\u003eHợp tác\u003c\/p\u003e\n\u003ch2\u003eTừ bản tóm tắt sáng tạo đến sản phẩm hữu hình.\u003c\/h2\u003e\n\u003cp class=\"lead section-lead\"\u003eQuy trình sản xuất thực tiễn kết nối thiết kế, sản xuất và trải nghiệm thương hiệu.\u003c\/p\u003e\n\u003cdiv class=\"story\"\u003e\n\u003cdiv class=\"story-card\"\u003e\n\u003cp class=\"num\"\u003e01 \/ YÊU CẦU\u003c\/p\u003e\n\u003ch3\u003eNắm bắt ý tưởng\u003c\/h3\u003e\n\u003cp\u003eTạo bốn nhân vật mềm mại độc đáo cho món quà bất ngờ phiên bản giới hạn dành cho người ảnh hưởng.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"story-card\"\u003e\n\u003cp class=\"num\"\u003e02 \/ VAI TRÒ CỦA YSM\u003c\/p\u003e\n\u003ch3\u003eHiện thực hóa ý tưởng\u003c\/h3\u003e\n\u003cp\u003eHướng dẫn phát triển nhân vật, làm mẫu, sản xuất với số lượng đặt hàng tối thiểu thấp và bàn giao cho chiến dịch.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"story-card\"\u003e\n\u003cp class=\"num\"\u003e03 \/ KẾT QUẢ\u003c\/p\u003e\n\u003ch3\u003eThổi hồn vào ý tưởng\u003c\/h3\u003e\n\u003cp\u003eBộ sưu tập thú nhồi bông độc quyền, vui nhộn, được thiết kế cho chiến dịch chăm sóc da ưu tiên mạng xã hội.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003csection class=\"section\"\u003e\u003cdiv class=\"inner\"\u003e\n\u003cp class=\"eyebrow\"\u003eThư viện dự án\u003c\/p\u003e\n\u003ch2\u003eNhững chi tiết làm nên thành quả.\u003c\/h2\u003e\n\u003cp class=\"lead section-lead\"\u003eẢnh dự án gốc, hình minh họa sản phẩm và tư liệu sáng tạo. Chọn ảnh để xem kích thước đầy đủ.\u003c\/p\u003e\n\u003cdiv class=\"gallery\" data-ysm-expanded-gallery=\"\"\u003e\n\u003ca aria-label=\"Xem logo thương hiệu Innisfree\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/IMG_5866.png?v=1759841139\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square art\"\u003e\u003cimg alt=\"Logo thương hiệu Innisfree\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/IMG_5866.png?v=1759841139\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"Xem hình ảnh thương hiệu chăm sóc da Innisfree\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/IMG_5867.webp?v=1759841139\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square photo\"\u003e\u003cimg alt=\"Hình ảnh thương hiệu chăm sóc da Innisfree\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/IMG_5867.webp?v=1759841139\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"Xem bộ quà tặng chiến dịch Innisfree và nhân vật thú nhồi bông bất ngờ\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/IMG_5871.jpg?v=1759841139\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square photo\"\u003e\u003cimg alt=\"Bộ quà tặng chiến dịch Innisfree và nhân vật thú nhồi bông bất ngờ\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/IMG_5871.jpg?v=1759841139\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"Xem hộp mở quà cho người ảnh hưởng với thú nhồi bông Innisfree\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/IMG_5869.jpg?v=1759841139\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square photo\"\u003e\u003cimg alt=\"Hộp mở quà cho người ảnh hưởng với thú nhồi bông Innisfree\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/IMG_5869.jpg?v=1759841139\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"Xem ảnh chiến dịch thú nhồi bông Innisfree\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/IMG_5870.jpg?v=1759841139\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square photo\"\u003e\u003cimg alt=\"Ảnh chiến dịch thú nhồi bông Innisfree\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/IMG_5870.jpg?v=1759841139\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"project-info\"\u003e\n\u003ch3\u003eChi tiết dự án\u003c\/h3\u003e\n\u003cdiv class=\"info-grid\"\u003e\n\u003cdiv class=\"info-item\"\u003e\n\u003cstrong\u003eSản phẩm chúng tôi thực hiện\u003c\/strong\u003e\u003cp\u003eBốn nhân vật thú nhồi bông theo yêu cầu cho bộ quà tặng người ảnh hưởng\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-item\"\u003e\n\u003cstrong\u003eChi tiết thiết kế\u003c\/strong\u003e\u003cp\u003eBao bì hộp bí ẩn, thú nhồi bông và cách trình bày sản phẩm làm đẹp\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-item\"\u003e\n\u003cstrong\u003eƯu tiên sản xuất\u003c\/strong\u003e\u003cp\u003eĐộ mềm mại, độ chính xác của nhân vật, số lượng đặt hàng tối thiểu thấp và thời điểm ra mắt\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-item\"\u003e\n\u003cstrong\u003eVai trò của YSM\u003c\/strong\u003e\u003cp\u003eLàm mẫu, áp dụng nguyên tắc sản xuất có đạo đức và kiểm soát chất lượng\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003csection class=\"final\"\u003e\u003cdiv class=\"inner\"\u003e\u003cdiv class=\"cta\"\u003e\n\u003cdiv\u003e\n\u003cp class=\"eyebrow\"\u003eBiến ý tưởng thành hiện thực\u003c\/p\u003e\n\u003ch2\u003eTạo ra những món quà lưu niệm đáng giữ lại.\u003c\/h2\u003e\n\u003cp\u003eTừ những món đồ sưu tầm được chăm chút đến bộ sưu tập sản phẩm quảng bá hoàn chỉnh, YSM kết hợp phát triển sản phẩm thực tiễn, nguyên tắc sản xuất có đạo đức và hỗ trợ tận tình trong suốt quá trình sản xuất.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003ca class=\"btn\" href=\"https:\/\/yourstuffmade.com\/collections\/custom-ethical-products\"\u003eBắt đầu dự án tiếp theo →\u003c\/a\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/section\u003e\n\u003c\/article\u003e\n\u003cscript\u003e\n\/* YSM V9: thêm hình ảnh sản phẩm Shopify gốc vào thư viện của dự án này.\n   Hình ảnh gốc được ẩn khỏi giao diện nhưng vẫn dùng làm nguồn ảnh đáng tin cậy.\n   Các ảnh dự án đã chọn trong thư viện vẫn được hiển thị trước. *\/\n(function () {\n  'use strict';\n  var articleSelector = '.ysm-innisfree-canada-v9';\n  function imageKey(url) {\n    if (!url) return '';\n    try {\n      var parsed = new URL(url, window.location.href);\n      var file = decodeURIComponent(parsed.pathname.split('\/').pop() || '');\n      return file.replace(\/_(?:pico|icon|thumb|small|compact|medium|large|grande|master|\\d+x\\d*|x\\d+)\\.(?=[^.]+$)\/i, '.').toLowerCase();\n    } catch (e) { return url.split('?')[0].toLowerCase(); }\n  }\n  function bestURL(img) {\n    if (!img) return '';\n    var url = img.getAttribute('data-zoom-src') || img.getAttribute('data-full-src') || '';\n    if (!url) {\n      var srcset = img.getAttribute('srcset') || img.getAttribute('data-srcset') || '';\n      var choices = srcset.split(',').map(function (s) {\n        var match = s.trim().match(\/^(\\S+)\\s+(\\d+)w$\/);\n        return match ? {url:match[1],width:Number(match[2])} : null;\n      }).filter(Boolean).sort(function(a,b){return b.width-a.width;});\n      if (choices.length) url = choices[0].url;\n    }\n    url = url || img.getAttribute('data-src') || img.getAttribute('src') || '';\n    if (url.indexOf('\/\/')===0) url=window.location.protocol+url;\n    return url;\n  }\n  function addProductMedia() {\n    var project = document.querySelector(articleSelector);\n    if (!project) return;\n    var gallery = project.querySelector('[data-ysm-expanded-gallery]');\n    if (!gallery) return;\n    var seen = new Set();\n    project.querySelectorAll('img').forEach(function(img){ seen.add(imageKey(img.getAttribute('src'))); });\n    gallery.querySelectorAll('a[href]').forEach(function(a){ seen.add(imageKey(a.getAttribute('href'))); });\n    \/\/ Chỉ lấy hình ảnh gốc của sản phẩm hiện tại, không lấy hình ảnh đề xuất hoặc hình ảnh điều hướng.\n    var candidates = document.querySelectorAll(\n      '.product__media-wrapper .product__media-item img, ' +\n      '.product__media-wrapper .product__media img, ' +\n      '.product__media-wrapper media-gallery img, ' +\n      '.product__media-gallery .product__media img, ' +\n      '.product__media-gallery .product__media-item img'\n    );\n    var added = 0;\n    candidates.forEach(function(img){\n      var url=bestURL(img);\n      var key=imageKey(url);\n      if (!url || !key || seen.has(key)) return;\n      \/\/ Loại trừ hình giữ chỗ trong suốt và biểu tượng SVG không phải hình ảnh.\n      if (\/^data:|\\.svg(?:$|\\?)\/i.test(url)) return;\n      seen.add(key);\n      var alt=(img.getAttribute('alt') || '').trim();\n      var label=alt || 'Ảnh dự án gốc';\n      var a=document.createElement('a');\n      a.href=url;\n      a.target='_blank';\n      a.rel='noopener';\n      a.setAttribute('aria-label','Xem ảnh dự án gốc: '+label);\n      var figure=document.createElement('figure');\n      figure.className='square photo';\n      var picture=document.createElement('img');\n      picture.src=url;\n      picture.alt=label;\n      picture.loading='lazy';\n      picture.width=600;\n      picture.height=600;\n      figure.appendChild(picture);\n      a.appendChild(figure);\n      gallery.appendChild(a);\n      added++;\n    });\n    if (added) gallery.setAttribute('data-extra-photos', String(\n      Number(gallery.getAttribute('data-extra-photos')||0)+added\n    ));\n  }\n  if (document.readyState==='loading') {\n    document.addEventListener('DOMContentLoaded',addProductMedia);\n  } else { addProductMedia(); }\n  window.addEventListener('load',addProductMedia,{once:true});\n  \/\/ Một số giao diện Shopify hiển thị hình ảnh sản phẩm sau sự kiện DOMContentLoaded.\n  setTimeout(addProductMedia,800);\n  setTimeout(addProductMedia,2200);\n})();\n\u003c\/script\u003e","brand":"Innisfree Canada","offers":[{"title":"Default Title","offer_id":62892619595798,"sku":null,"price":100.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0068\/7554\/5622\/files\/IMG_5866.png?v=1759841139","url":"https:\/\/yourstuffmade.com\/vi\/products\/innisfree-canada-x-yourstuffmade-thu-nh%e1%bb%93i-bong-tuy-ch%e1%bb%89nh-cho-chi%e1%ba%bfn-d%e1%bb%8bch-h%e1%bb%99p-bi-%e1%ba%a9n-v%e1%bb%9bi-ng%c6%b0%e1%bb%9di-co-%e1%ba%a3nh-h%c6%b0%e1%bb%9fng-trong-linh-v%e1%bb%b1c-lam-d%e1%ba%b9p","provider":"Yourstuffmade.com","version":"1.0","type":"link"}