{"product_id":"pdrn-exosome-overnight-glow-peel-off-mask","title":"PDRN Exosome Overnight Glow Peel-Off Mask","description":"\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Oswald:wght@500;600;700\u0026family=Inter:wght@400;500;600\u0026display=swap');\n\n.bwc-page{background:transparent;font-family:'Inter',Arial,Helvetica,sans-serif;color:#3a2a2c;padding:0;margin:0;-webkit-font-smoothing:antialiased}\n.bwc-page *{box-sizing:border-box}\n.bwc-page .bwc-container{max-width:100%;width:100%;margin:0;padding:0}\n.bwc-page .bwc-card{background:transparent;border:none;padding:0;overflow:hidden}\n\n.bwc-page .bwc-teeth{display:block!important;height:16px!important;width:100%!important;background:\n  linear-gradient(135deg,#c97b93 25%,transparent 25%) 0 0\/16px 16px,\n  linear-gradient(225deg,#c97b93 25%,transparent 25%) 0 0\/16px 16px,\n  transparent!important;}\n.bwc-page .bwc-teeth.inv{background:\n  linear-gradient(135deg,#fff 25%,transparent 25%) 0 0\/16px 16px,\n  linear-gradient(225deg,#fff 25%,transparent 25%) 0 0\/16px 16px,\n  #c97b93!important;}\n\n.bwc-page .bwc-top{padding:26px 26px 0}\n.bwc-page .bwc-eyebrow{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#a97286;text-align:center;margin:0 0 8px}\n.bwc-page .bwc-h1{font-family:'Oswald',sans-serif;font-weight:700;font-size:32px;text-align:center;color:#3a2a2c;margin:0 0 18px;line-height:1.14;letter-spacing:-.2px;text-transform:uppercase}\n\n.bwc-page .bwc-hero{background:#c97b93;color:#fff;padding:28px 24px;margin:0;position:relative}\n.bwc-page .bwc-hero p{margin:0;opacity:.92;line-height:1.7;font-size:15px;color:#fff!important}\n.bwc-page .bwc-hero p+p{margin-top:12px}\n\n.bwc-page .bwc-img-wrap{width:100%;margin:0;overflow:hidden;background:transparent}\n.bwc-page .bwc-img-wrap img{width:100%;height:auto;display:block;margin:0}\n\n.bwc-page .bwc-body{padding:0 26px}\n\n.bwc-page .bwc-section-title{font-family:'Oswald',sans-serif;font-weight:700;font-size:22px;text-transform:uppercase;letter-spacing:.02em;color:#3a2a2c;margin:38px 0 6px;padding-bottom:12px;border-bottom:3px solid #c97b93;line-height:1.2}\n.bwc-page .bwc-lead{font-size:15px;line-height:1.75;color:#5a4448;margin:0 0 18px}\n\n.bwc-page .bwc-carousel{position:relative;margin:22px 0 30px}\n.bwc-page .bwc-carousel-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 4px 14px;scrollbar-width:none;-ms-overflow-style:none}\n.bwc-page .bwc-carousel-track::-webkit-scrollbar{display:none}\n.bwc-page .bwc-carousel-slide{flex:0 0 100%;max-width:100%;scroll-snap-align:start;background:transparent;display:flex;flex-direction:column}\n.bwc-page .bwc-carousel-imgs{display:flex}\n.bwc-page .bwc-carousel-imgs img{flex:1 1 0;width:100%;height:auto;display:block;aspect-ratio:1\/1;object-fit:cover;min-width:0}\n.bwc-page .bwc-carousel-text{padding:18px;flex:1;background:transparent}\n.bwc-page .bwc-carousel-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:#c97b93;color:#fff;font-family:'Oswald',sans-serif;font-size:12px;font-weight:600;margin-bottom:10px}\n.bwc-page .bwc-carousel-text h3{margin:0 0 6px;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.01em;font-size:15px;color:#3a2a2c;font-weight:600;line-height:1.3}\n.bwc-page .bwc-carousel-text p{margin:0;color:#5a4448;font-size:13px;line-height:1.6}\n.bwc-page .bwc-carousel-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px}\n.bwc-page .bwc-carousel-arrow{width:36px;height:36px;border:2px solid #c97b93;background:transparent;color:#c97b93;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:17px;flex-shrink:0;padding:0;line-height:1}\n.bwc-page .bwc-carousel-arrow:hover{background:#c97b93;color:#fff}\n.bwc-page .bwc-carousel-dots{display:flex;gap:8px}\n.bwc-page .bwc-carousel-dot{width:8px;height:8px;border-radius:50%;background:#f0d6de;cursor:pointer;transition:background .2s;padding:0;border:0}\n.bwc-page .bwc-carousel-dot.active{background:#c97b93}\n\n.bwc-page .bwc-review-title{font-family:'Oswald',sans-serif;font-size:14.5px;font-weight:600;text-transform:uppercase;letter-spacing:.01em;color:#3a2a2c;margin:0 0 6px}\n.bwc-page .bwc-review-quote{font-size:13px;line-height:1.6;color:#5a4448;margin:0 0 8px;font-style:italic}\n.bwc-page .bwc-review-name{font-family:'Oswald',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#3a2a2c;font-weight:600}\n\n.bwc-page .bwc-review-carousel-slide{flex:0 0 100%;max-width:100%;scroll-snap-align:start}\n.bwc-page .bwc-review-mini{padding:12px 14px;background:transparent}\n.bwc-page .bwc-review-mini .bwc-review-title{font-size:13px;margin-bottom:6px}\n.bwc-page .bwc-review-mini .bwc-review-quote{font-size:13px;line-height:1.6;margin-bottom:0}\n\n.bwc-page .bwc-media-block{margin:22px 0 6px;overflow:hidden;background:transparent}\n.bwc-page .bwc-media-block img,.bwc-page .bwc-media-block video{width:100%;height:auto;display:block}\n\n\/* How To Use 步骤：整齐两列（2x2） *\/\n.bwc-page .bwc-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:20px 0 8px}\n.bwc-page .bwc-step{background:#fef6f7;border-radius:10px;padding:18px 16px;text-align:left}\n.bwc-page .bwc-step .num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#c97b93;color:#fff;font-family:'Oswald',sans-serif;font-size:12px;font-weight:700;margin-bottom:10px}\n.bwc-page .bwc-step h3{margin:0 0 6px;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.01em;font-size:13px;color:#3a2a2c}\n.bwc-page .bwc-step p{margin:0;font-size:13px;line-height:1.55;color:#5a4448}\n\n.bwc-page .bwc-spec{margin-top:36px;background:#c97b93;padding:0}\n.bwc-page .bwc-spec h2{color:#fff;margin:0;padding:20px 24px;font-size:19px;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #d894a8}\n.bwc-page .bwc-table{width:100%;border-collapse:collapse;background:transparent}\n.bwc-page .bwc-table tr:nth-child(odd) td{background:#fef6f7}\n.bwc-page .bwc-table tr:nth-child(even) td{background:#ffffff}\n.bwc-page .bwc-table td{padding:14px 20px;border-bottom:1px solid #f3e2e6;vertical-align:top;line-height:1.5;font-size:14.5px;color:#3a2a2c}\n.bwc-page .bwc-table tr:last-child td{border-bottom:0}\n.bwc-page .bwc-table td:first-child{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:#a97286;width:34%;font-size:12.5px}\n\n.bwc-page .bwc-faq{margin-top:36px}\n.bwc-page .bwc-faq-item{border-bottom:1px solid #f3e2e6;padding:16px 2px}\n.bwc-page .bwc-faq-item:first-child{padding-top:0}\n.bwc-page .bwc-faq-q{font-family:'Oswald',sans-serif;font-size:14.5px;text-transform:uppercase;letter-spacing:.01em;color:#3a2a2c;font-weight:600;margin:0;display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:0;cursor:pointer;text-align:left}\n.bwc-page .bwc-faq-q .qmark{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#c97b93;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif}\n.bwc-page .bwc-faq-q .qtext{flex:1}\n.bwc-page .bwc-faq-q .bwc-faq-toggle{flex:0 0 auto;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#c97b93;transition:transform .2s}\n.bwc-page .bwc-faq-item.open .bwc-faq-q .bwc-faq-toggle{transform:rotate(45deg)}\n.bwc-page .bwc-faq-a{font-size:14px;line-height:1.65;color:#5a4448;margin:8px 0 0;padding-left:32px;display:none}\n.bwc-page .bwc-faq-item.open .bwc-faq-a{display:block}\n\n.bwc-page .bwc-cta{margin-top:36px;background:#c97b93;color:#fff;padding:40px 24px;text-align:center}\n.bwc-page .bwc-cta h2{margin:0 0 12px;font-size:24px;line-height:1.25;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.02em;font-weight:700;color:#fff!important}\n.bwc-page .bwc-cta p{margin:0 auto 22px;line-height:1.65;max-width:560px;opacity:.92;font-size:14.5px;color:#fff!important}\n.bwc-page .bwc-btn{display:inline-block;background:#fff;color:#c97b93!important;padding:15px 40px;font-family:'Oswald',sans-serif;font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid #fff;cursor:pointer}\n.bwc-page .bwc-cta-form{margin:0;display:inline-block}\n\n.bwc-page .bwc-bottom-pad{height:26px}\n\n@media(max-width:768px){\n.bwc-page .bwc-container{padding:0}\n.bwc-page .bwc-top{padding:20px 16px 0}\n.bwc-page .bwc-body{padding:0 16px}\n.bwc-page .bwc-h1{font-size:24px}\n.bwc-page .bwc-hero{padding:20px 16px}\n.bwc-page .bwc-section-title{font-size:19px;margin-top:30px}\n.bwc-page .bwc-steps{grid-template-columns:1fr}\n.bwc-page .bwc-carousel-slide{flex:0 0 100%;max-width:100%}\n.bwc-page .bwc-carousel-track{gap:0}\n.bwc-page .bwc-table td{display:block;width:100%;padding:10px 16px}\n.bwc-page .bwc-table td:first-child{width:100%;border-bottom:0;padding-bottom:2px}\n.bwc-page .bwc-faq-a{padding-left:0;margin-top:6px}\n.bwc-page .bwc-btn{display:block;width:100%;text-align:center}\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"bwc-page\"\u003e\n\u003cdiv class=\"bwc-container\"\u003e\n\u003cdiv class=\"bwc-card\"\u003e\n\n\u003c!-- ① 标题区 --\u003e\n\u003cdiv class=\"bwc-top\"\u003e\n\u003cp class=\"bwc-eyebrow\"\u003ePeel-Off Facial Mask\u003c\/p\u003e\n\u003ch1 class=\"bwc-h1\"\u003eWake Up To A Fresh, Glass-Skin Glow\u003c\/h1\u003e\n\u003c\/div\u003e\n\n\u003c!-- ② Hero 横幅 --\u003e\n\u003cdiv class=\"bwc-hero\"\u003e\n\u003cp\u003eTurn your nighttime routine into a relaxing at-home skincare ritual. This lightweight peel-off sleeping mask combines PDRN, exosome-inspired skincare ingredients, collagen, peptides, and adenosine to help replenish moisture and leave skin looking smoother, plumper, and more radiant by morning.\u003c\/p\u003e\n\u003cp\u003eThe silky formula forms a comfortable moisture-locking layer overnight and can also be used as a 30-minute intensive treatment when you want a quick glow boost.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-teeth\"\u003e\u003c\/div\u003e\n\n\u003c!-- ③ 主图：请替换为你自己的产品图 --\u003e\n\u003cdiv class=\"bwc-img-wrap\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0727\/3952\/0643\/files\/1_13.webp?v=1786515576\" alt=\"Peel-off sleeping mask main photo\"\u003e\n\u003c\/div\u003e\n\n\u003c!-- ⑤ 功能特性：轮播（2 个核心卖点，自动播放 5 秒） --\u003e\n\u003ch2 class=\"bwc-section-title\" style=\"margin-left:26px;margin-right:26px\"\u003eWhy You'll Love It\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\" style=\"margin-left:26px;margin-right:26px\"\u003eTwo reasons it's the smarter way to care for your skin.\u003c\/p\u003e\n\n\u003cdiv class=\"bwc-carousel\" data-carousel data-autoplay=\"5000\"\u003e\n\u003cdiv class=\"bwc-carousel-track\" data-track\u003e\n\n\u003cdiv class=\"bwc-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-carousel-imgs\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0727\/3952\/0643\/files\/2_13.webp?v=1786515576\" alt=\"Deep hydration and glass-skin glow\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e1\u003c\/span\u003e\n\u003ch3\u003eDeep Hydration \u0026amp; Glass-Skin Glow\u003c\/h3\u003e\n\u003cp\u003eThe lightweight mask creates a comfortable moisture-locking layer over the skin while you relax or sleep. With PDRN, collagen, peptides, and hydrating ingredients, it helps skin look visibly smoother, plumper, and more luminous after use.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-carousel-imgs\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0727\/3952\/0643\/files\/3_13.webp?v=1786515576\" alt=\"Collagen and peptide firming care\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-text\"\u003e\n\u003cspan class=\"bwc-carousel-num\"\u003e2\u003c\/span\u003e\n\u003ch3\u003eCollagen + Peptide Firming Care\u003c\/h3\u003e\n\u003cp\u003eCollagen, peptides, and adenosine work together in a comforting nighttime formula designed to improve the appearance of firmness and skin texture. With regular use, skin looks smoother, more supple, and beautifully refreshed.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-carousel-nav\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-prev aria-label=\"Previous slide\"\u003e‹\u003c\/button\u003e\n\u003cdiv class=\"bwc-carousel-dots\" data-dots\u003e\u003c\/div\u003e\n\u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-next aria-label=\"Next slide\"\u003e›\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-teeth\" style=\"margin-top:8px\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-body\"\u003e\n\u003c!-- How To Use：4 步骤，2x2 整齐排列 --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eHow To Use\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003eApply. Relax. Peel. Glow.\u003c\/p\u003e\n\u003cdiv class=\"bwc-steps\"\u003e\n\u003cdiv class=\"bwc-step\"\u003e\n\u003cspan class=\"num\"\u003e1\u003c\/span\u003e\n\u003ch3\u003ePrepare\u003c\/h3\u003e\n\u003cp\u003eCleanse your face and gently pat the skin dry.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-step\"\u003e\n\u003cspan class=\"num\"\u003e2\u003c\/span\u003e\n\u003ch3\u003eApply\u003c\/h3\u003e\n\u003cp\u003eUse the included silicone applicator to spread an even layer over the face. Avoid the immediate eye and lip areas.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-step\"\u003e\n\u003cspan class=\"num\"\u003e3\u003c\/span\u003e\n\u003ch3\u003eTreat\u003c\/h3\u003e\n\u003cp\u003eFor a quick treatment, leave on for approximately 30 minutes. For an overnight routine, allow the mask to form a comfortable layer before going to bed.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-step\"\u003e\n\u003cspan class=\"num\"\u003e4\u003c\/span\u003e\n\u003ch3\u003ePeel \u0026amp; Finish\u003c\/h3\u003e\n\u003cp\u003eOnce the mask is completely dry, gently peel it away from the edges. Follow with your favorite moisturizer or skincare products if desired.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-carousel-imgs\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0727\/3952\/0643\/files\/4_13.webp?v=1786515576\" alt=\"Collagen and peptide firming care\"\u003e\n\u003c\/div\u003e\n\u003c!-- Perfect For --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003ePerfect For\u003c\/h2\u003e\n\u003cp class=\"bwc-lead\"\u003ePerfect for evening skincare routines, pre-event glow preparation, weekend self-care, travel skincare, relaxing spa nights, and anyone who wants a simple way to give their skin an extra moisture boost. Use it as an overnight treatment when you have time to unwind or as a 30-minute beauty ritual before a special occasion.\u003c\/p\u003e\n\n\u003c!-- 使用场景配图区域 --\u003e\n\u003cdiv class=\"bwc-media-block\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0727\/3952\/0643\/files\/5_12.webp?v=1786515576\" alt=\"Peel-off sleeping mask used as part of an evening skincare routine\"\u003e\n\u003c\/div\u003e\n\n\u003c!-- 规格参数表：淡粉色和白色交替 --\u003e\n\u003cdiv class=\"bwc-spec\"\u003e\n\u003ch2\u003eProduct Specifications\u003c\/h2\u003e\n\u003ctable class=\"bwc-table\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eProduct Type\u003c\/td\u003e\n\u003ctd\u003ePeel-Off Facial Mask\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNet Weight\u003c\/td\u003e\n\u003ctd\u003e1.69 fl oz\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eKey Ingredients\u003c\/td\u003e\n\u003ctd\u003ePDRN, Exosome-Inspired Ingredients, Collagen, Peptides, Adenosine, Niacinamide, Glutathione\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTexture\u003c\/td\u003e\n\u003ctd\u003eLightweight Peel-Off Gel\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFragrance\u003c\/td\u003e\n\u003ctd\u003eFragrance-Free\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSkin Types\u003c\/td\u003e\n\u003ctd\u003eAll Skin Types\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePrimary Benefits\u003c\/td\u003e\n\u003ctd\u003eHydration, Radiance, Smoother-Looking Texture, Firmness Care\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRecommended Use\u003c\/td\u003e\n\u003ctd\u003eEvening Skincare or 30-Minute Intensive Treatment\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eApplication Tool\u003c\/td\u003e\n\u003ctd\u003eReusable Silicone Applicator Included\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRoutine\u003c\/td\u003e\n\u003ctd\u003eApply to Clean, Dry Skin\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFinish\u003c\/td\u003e\n\u003ctd\u003eDewy, Smooth \u0026amp; Refreshed-Looking\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStorage\u003c\/td\u003e\n\u003ctd\u003eKeep tightly closed and store in a cool, dry place away from direct sunlight.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\n\u003c!-- Customer Reviews：一页展示一条评论，不带图片，手动切换 --\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eCustomer Reviews\u003c\/h2\u003e\n\u003cdiv class=\"bwc-carousel\" data-carousel data-autoplay=\"0\"\u003e\n\u003cdiv class=\"bwc-carousel-track\" data-track\u003e\n\n\u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eSophia K.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"I absolutely love how my skin looks the morning after using this. The mask feels comfortable while it dries, and my skin looks noticeably more hydrated and fresh afterward.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eEmma R.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"Really easy to apply and leaves my skin looking so fresh and glowy.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eOlivia M.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"This has become my favorite weekend skincare ritual. My skin feels incredibly soft afterward and has that smooth, dewy look I usually try to achieve with several products.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\u003cdiv class=\"bwc-review-mini\"\u003e\n\u003cp class=\"bwc-review-title\"\u003eGrace L.\u003c\/p\u003e\n\u003cp class=\"bwc-review-quote\"\u003e\"Love the fragrance-free formula and the smooth glass-skin finish.\"\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-carousel-nav\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-prev aria-label=\"Previous slide\"\u003e‹\u003c\/button\u003e\n\u003cdiv class=\"bwc-carousel-dots\" data-dots\u003e\u003c\/div\u003e\n\u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-next aria-label=\"Next slide\"\u003e›\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- FAQ：点击问题展开\/收起答案 --\u003e\n\u003cdiv class=\"bwc-faq\" data-accordion\u003e\n\u003ch2 class=\"bwc-section-title\"\u003eFrequently Asked Questions\u003c\/h2\u003e\n\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e\u003cspan class=\"qtext\"\u003eWhat skin types is this mask suitable for?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eThe formula is designed for all skin types. If you have particularly sensitive skin, a patch test before full application is recommended.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e\u003cspan class=\"qtext\"\u003eHow long should I leave the mask on?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eFor a quick treatment, leave it on for approximately 30 minutes. It can also be incorporated into an overnight skincare routine according to your preferred use.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e\u003cspan class=\"qtext\"\u003eDo I need to rinse my face after peeling it off?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eThe peel-off format is designed to be gently removed once fully dry. If any residue remains, gently rinse with lukewarm water.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e\u003cspan class=\"qtext\"\u003eWhat does the silicone applicator do?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eThe reusable silicone applicator helps spread the mask evenly across the face while keeping the product off your hands.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"bwc-faq-item\"\u003e\n\u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\u003cspan class=\"qmark\"\u003eQ\u003c\/span\u003e\u003cspan class=\"qtext\"\u003eCan I use this every night?\u003c\/span\u003e\u003cspan class=\"bwc-faq-toggle\"\u003e+\u003c\/span\u003e\u003c\/button\u003e\n\u003cp class=\"bwc-faq-a\"\u003eUsage frequency can vary depending on your skin and routine. Start with a few applications per week and adjust according to how your skin feels.\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003c\/div\u003e\n\u003cdiv class=\"bwc-teeth inv\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"bwc-bottom-pad\"\u003e\u003c\/div\u003e\n\n\u003c!-- ⑩ CTA --\u003e\n\u003cdiv class=\"bwc-cta\"\u003e\n\u003ch2\u003eYour Nightly Glow Starts Here\u003c\/h2\u003e\n\u003cp\u003eGive your evening routine a little more luxury with a moisture-rich peel-off mask designed to leave skin looking smooth, plump, fresh, and beautifully radiant.\u003c\/p\u003e\n\u003c!-- 这个按钮不再绑定固定的 VARIANT_ID：点击时会去读页面上真正的商品选购表单（客户选好的颜色\/尺寸\/规格），\n     取出当前选中的那个变体 id，再用 Shopify 的 \/cart\/add.js 接口把“客户选的那个变体”加入购物车。\n     data-fallback-variant 是兜底用的，如果在页面上找不到选购表单，就退回用这个固定ID（记得替换成你商品的默认变体ID）。 --\u003e\n\u003cbutton type=\"button\" class=\"bwc-btn bwc-add-to-cart\" data-fallback-variant=\"VARIANT_ID\"\u003eAdd It To Your Nighttime Routine\u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  \/\/ Initialize every carousel on the page independently (feature carousel + reviews carousel)\n  var carousels = document.querySelectorAll('[data-carousel]');\n  carousels.forEach(function(carousel){\n    \/\/ Guard against this script block accidentally running twice on the same\n    \/\/ carousel (e.g. if pasted in twice) — that would create two independent\n    \/\/ timers, and stopping one would never actually stop the autoplay.\n    if (carousel.getAttribute('data-bwc-init') === '1') return;\n    carousel.setAttribute('data-bwc-init', '1');\n\n    var track = carousel.querySelector('[data-track]');\n    var slides = track.querySelectorAll('.bwc-carousel-slide');\n    var dotsWrap = carousel.querySelector('[data-dots]');\n    var prevBtn = carousel.querySelector('[data-prev]');\n    var nextBtn = carousel.querySelector('[data-next]');\n    var activeIndex = 0;\n    var AUTOPLAY_DELAY = parseInt(carousel.getAttribute('data-autoplay'), 10) || 0;\n    var autoplayEnabled = AUTOPLAY_DELAY \u003e 0; \/\/ data-autoplay=\"0\" (or omitted) means manual-only, no autoplay\n    var carouselInView = false; \/\/ becomes true only once the carousel scrolls into view\n    var paused = false; \/\/ true while the user is hovering, touching, or has just interacted\n    var autoplayTimer = null;\n    var resumeTimer = null;\n\n    slides.forEach(function(slide, i){\n      var dot = document.createElement('button');\n      dot.type = 'button';\n      dot.className = 'bwc-carousel-dot' + (i === 0 ? ' active' : '');\n      dot.setAttribute('aria-label', 'Go to slide ' + (i + 1));\n      dot.addEventListener('click', function(){\n        goToSlide(i);\n        pauseThenResume();\n      });\n      dotsWrap.appendChild(dot);\n    });\n    var dots = dotsWrap.querySelectorAll('.bwc-carousel-dot');\n\n    \/\/ Scroll the track itself (horizontal only). Never use scrollIntoView here —\n    \/\/ it can also scroll the whole page vertically to \"reveal\" the slide, which\n    \/\/ yanks the page back up to this section if the user has scrolled past it.\n    function goToSlide(i){\n      var slide = slides[i];\n      track.scrollTo({ left: slide.offsetLeft, behavior: 'smooth' });\n    }\n\n    function updateActive(){\n      var trackRect = track.getBoundingClientRect();\n      var closest = 0, closestDist = Infinity;\n      slides.forEach(function(slide, i){\n        var dist = Math.abs(slide.getBoundingClientRect().left - trackRect.left);\n        if (dist \u003c closestDist) { closestDist = dist; closest = i; }\n      });\n      activeIndex = closest;\n      dots.forEach(function(d, i){ d.classList.toggle('active', i === closest); });\n    }\n\n    var scrollTimer;\n    track.addEventListener('scroll', function(){\n      clearTimeout(scrollTimer);\n      scrollTimer = setTimeout(updateActive, 80);\n    });\n\n    function stepWidth(){\n      if (slides.length \u003e 1) {\n        return slides[1].offsetLeft - slides[0].offsetLeft;\n      }\n      return slides[0].getBoundingClientRect().width;\n    }\n\n    prevBtn.addEventListener('click', function(){\n      track.scrollBy({left: -stepWidth(), behavior:'smooth'});\n      pauseThenResume();\n    });\n    nextBtn.addEventListener('click', function(){\n      track.scrollBy({left: stepWidth(), behavior:'smooth'});\n      pauseThenResume();\n    });\n\n    function nextSlide(){\n      var next = (activeIndex + 1) % slides.length;\n      goToSlide(next);\n    }\n\n    \/\/ A single persistent interval per carousel — it just checks the 'paused'\n    \/\/ and 'carouselInView' flags on every tick rather than being torn down and\n    \/\/ rebuilt on every interaction.\n    function startAutoplay(){\n      if (!autoplayEnabled || autoplayTimer) return;\n      autoplayTimer = setInterval(function(){\n        if (!paused \u0026\u0026 carouselInView) nextSlide();\n      }, AUTOPLAY_DELAY);\n    }\n\n    \/\/ Pause immediately on any interaction (hover, press, or touch).\n    function pauseNow(){\n      paused = true;\n      clearTimeout(resumeTimer);\n    }\n    \/\/ Resume right away (used when the mouse actually leaves the carousel).\n    function resumeNow(){\n      clearTimeout(resumeTimer);\n      paused = false;\n    }\n    \/\/ Pause immediately, and schedule an automatic resume a few seconds later —\n    \/\/ this is the fallback for touch devices, which have no \"mouse left\" event.\n    function pauseThenResume(){\n      pauseNow();\n      resumeTimer = setTimeout(resumeNow, 3000);\n    }\n\n    carousel.addEventListener('mouseenter', pauseNow);\n    carousel.addEventListener('mouseleave', resumeNow);\n    carousel.addEventListener('pointerdown', pauseThenResume);\n    carousel.addEventListener('touchstart', pauseThenResume, {passive:true});\n\n    \/\/ Only autoplay while the carousel is actually on screen — the countdown\n    \/\/ only starts once the user has scrolled to this section, not on page load.\n    if (autoplayEnabled \u0026\u0026 'IntersectionObserver' in window) {\n      var io = new IntersectionObserver(function(entries){\n        entries.forEach(function(entry){\n          carouselInView = entry.isIntersecting;\n        });\n      }, { threshold: 0.4 });\n      io.observe(carousel);\n    } else {\n      carouselInView = true;\n    }\n\n    startAutoplay();\n    updateActive();\n  });\n})();\n\u003c\/script\u003e\n\n\u003cscript\u003e\n(function(){\n  var accordion = document.querySelector('[data-accordion]');\n  if(!accordion) return;\n  var buttons = accordion.querySelectorAll('.bwc-faq-q');\n  buttons.forEach(function(btn){\n    btn.addEventListener('click', function(){\n      var item = btn.closest('.bwc-faq-item');\n      var isOpen = item.classList.contains('open');\n      item.classList.toggle('open', !isOpen);\n      btn.setAttribute('aria-expanded', String(!isOpen));\n    });\n  });\n})();\n\u003c\/script\u003e\n\n\u003cscript\u003e\n(function(){\n  \/\/ Elements matching these are almost always \"related \/ recommended \/ upsell\"\n  \/\/ product widgets elsewhere on the page — never treat a button\/form inside\n  \/\/ one of these as this landing page's own add-to-cart control.\n  var EXCLUDE_SELECTOR = [\n    '[class*=\"related\"]','[id*=\"related\"]',\n    '[class*=\"recommend\"]','[id*=\"recommend\"]',\n    '[class*=\"upsell\"]','[id*=\"upsell\"]',\n    '[class*=\"cross-sell\"]','[id*=\"cross-sell\"]',\n    '[class*=\"also-like\"]','[id*=\"also-like\"]',\n    '[class*=\"complementary\"]','[id*=\"complementary\"]',\n    '[class*=\"bundle\"]','[id*=\"bundle\"]',\n    '[class*=\"quick-add\"]','[id*=\"quick-add\"]',\n    '[class*=\"quick-buy\"]','[id*=\"quick-buy\"]',\n    '[class*=\"product-card\"]','[class*=\"product-grid-item\"]',\n    '[class*=\"trending\"]','[class*=\"carousel-card\"]'\n  ].join(',');\n\n  function isInsideExcludedWidget(el){\n    return !!el.closest(EXCLUDE_SELECTOR);\n  }\n\n  function findRealAddToCartButton(){\n    \/\/ 1) Most specific \u0026 reliable: the standard Shopify add-to-cart control,\n    \/\/ name=\"add\", that isn't sitting inside a recommendations\/upsell widget.\n    var named = document.querySelectorAll('button[name=\"add\"], input[name=\"add\"]');\n    for (var i = 0; i \u003c named.length; i++) {\n      if (!isInsideExcludedWidget(named[i]) \u0026\u0026 !named[i].classList.contains('bwc-add-to-cart')) {\n        return named[i];\n      }\n    }\n\n    \/\/ 2) A real cart\/add form, again skipping anything inside an excluded widget.\n    var forms = document.querySelectorAll('form[action*=\"\/cart\/add\"]');\n    for (var f = 0; f \u003c forms.length; f++) {\n      if (isInsideExcludedWidget(forms[f])) continue;\n      var btn = forms[f].querySelector('button[name=\"add\"], button[type=\"submit\"], input[type=\"submit\"]');\n      if (btn) return btn;\n    }\n\n    \/\/ 3) Last resort: visible text match, still excluding recommendation widgets.\n    var all = document.querySelectorAll('button, input[type=\"submit\"]');\n    for (var j = 0; j \u003c all.length; j++) {\n      var txt = (all[j].textContent || all[j].value || '').trim().toLowerCase();\n      if (txt.indexOf('add to cart') !== -1 \u0026\u0026 !all[j].classList.contains('bwc-add-to-cart') \u0026\u0026 !isInsideExcludedWidget(all[j])) {\n        return all[j];\n      }\n    }\n    return null;\n  }\n\n  function bwcAddToCart(btn){\n    var realBtn = findRealAddToCartButton();\n    if (realBtn) {\n      realBtn.click();\n      return;\n    }\n    var fallbackId = btn.getAttribute('data-fallback-variant');\n    if (!fallbackId || fallbackId === 'VARIANT_ID') {\n      alert('Could not find the add-to-cart form on this page.');\n      return;\n    }\n    fetch('\/cart\/add.js', {\n      method: 'POST',\n      headers: { 'Content-Type': 'application\/json' },\n      body: JSON.stringify({ id: fallbackId, quantity: 1 })\n    }).then(function(){ window.location.href=\"\/es\/cart\"; });\n  }\n\n  document.addEventListener('click', function(e){\n    var btn = e.target.closest('.bwc-add-to-cart');\n    if (!btn) return;\n    e.preventDefault();\n    bwcAddToCart(btn);\n  });\n})();\n\u003c\/script\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"wzh","offers":[{"title":"Default Title","offer_id":47851173511299,"sku":"PL01122608121227-蜗牛撕拉面膜","price":26.98,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0727\/3952\/0643\/files\/71QqaoC2hOL._SL1500.jpg?v=1786505357","url":"https:\/\/craftivon.com\/es\/products\/pdrn-exosome-overnight-glow-peel-off-mask","provider":"Craftivon","version":"1.0","type":"link"}