{"product_id":"vintage-boho-hobo-bag","title":"Vintage Boho Hobo Bag","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\/* =========================================================\n   ANGLED CONCEALER PAW BRUSH\n   SHOPIFY PRODUCT DESCRIPTION\n   ========================================================= *\/\n\n.bwc-page{\n  background:#fff;\n  font-family:'Inter',Arial,Helvetica,sans-serif;\n  color:#141414;\n  padding:0;\n  margin:0;\n  -webkit-font-smoothing:antialiased;\n}\n\n.bwc-page *{\n  box-sizing:border-box;\n}\n\n.bwc-page .bwc-container{\n  max-width:100%;\n  width:100%;\n  margin:0;\n  padding:0;\n}\n\n.bwc-page .bwc-card{\n  background:#fff;\n  border:none;\n  padding:0;\n  overflow:hidden;\n}\n\n.bwc-page .bwc-carousel:empty,\n.bwc-page .bwc-carousel-imgs:empty{\n  display:none!important;\n  margin:0!important;\n  padding:0!important;\n  height:0!important;\n  min-height:0!important;\n}\n\n\/* ==============================\n   TEETH DIVIDER\n   ============================== *\/\n\n.bwc-page .bwc-teeth{\n  display:block!important;\n  height:16px!important;\n  width:100%!important;\n  background:\n    linear-gradient(135deg,#141414 25%,transparent 25%) 0 0\/16px 16px,\n    linear-gradient(225deg,#141414 25%,transparent 25%) 0 0\/16px 16px,\n    #fff!important;\n}\n\n.bwc-page .bwc-teeth.inv{\n  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    #141414!important;\n}\n\n\/* ==============================\n   TOP\n   ============================== *\/\n\n.bwc-page .bwc-top{\n  padding:26px 26px 0;\n}\n\n.bwc-page .bwc-eyebrow{\n  font-family:'Oswald',sans-serif;\n  font-size:12px;\n  letter-spacing:.22em;\n  text-transform:uppercase;\n  color:#6b6b6b;\n  text-align:center;\n  margin:0 0 8px;\n}\n\n.bwc-page .bwc-h1{\n  font-family:'Oswald',sans-serif;\n  font-weight:700;\n  font-size:32px;\n  text-align:center;\n  color:#111;\n  margin:0 0 18px;\n  line-height:1.14;\n  letter-spacing:-.2px;\n  text-transform:uppercase;\n}\n\n.bwc-page .bwc-review-jump{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:9px;\n  width:max-content;\n  max-width:100%;\n  margin:-6px auto 18px;\n  padding:8px 12px;\n  background:transparent;\n  border:0;\n  color:#141414;\n  cursor:pointer;\n  font-family:'Inter',sans-serif;\n  font-size:13px;\n  font-weight:600;\n  text-decoration:underline;\n  text-underline-offset:3px;\n}\n\n.bwc-page .bwc-review-jump-stars{\n  font-size:14px;\n  letter-spacing:2px;\n  text-decoration:none;\n  color:#141414;\n}\n\n.bwc-page .bwc-review-jump:focus-visible{\n  outline:2px solid #141414;\n  outline-offset:3px;\n}\n\n\/* ==============================\n   HERO\n   ============================== *\/\n\n.bwc-page .bwc-hero{\n  background:#141414;\n  color:#fff;\n  padding:28px 24px;\n  margin:0;\n  position:relative;\n}\n\n.bwc-page .bwc-hero h2{\n  font-family:'Oswald',sans-serif;\n  margin:0 0 10px;\n  font-size:22px;\n  line-height:1.25;\n  font-weight:600;\n  letter-spacing:.01em;\n  color:#fff!important;\n}\n\n.bwc-page .bwc-hero p{\n  margin:0;\n  opacity:.88;\n  line-height:1.7;\n  font-size:15px;\n  color:#fff!important;\n}\n\n.bwc-page .bwc-hero strong{\n  color:#fff!important;\n  border-bottom:2px solid #fff;\n}\n\n\/* ==============================\n   IMAGES\n   ============================== *\/\n\n.bwc-page .bwc-img-wrap{\n  width:100%;\n  margin:0;\n  overflow:hidden;\n  background:#f4f4f4;\n}\n\n.bwc-page .bwc-img-wrap img{\n  width:100%;\n  height:auto;\n  display:block;\n  margin:0;\n}\n\n.bwc-page .bwc-body{\n  padding:0 26px;\n}\n\n\/* ==============================\n   SECTION TITLES\n   ============================== *\/\n\n.bwc-page .bwc-section-title{\n  font-family:'Oswald',sans-serif;\n  font-weight:700;\n  font-size:22px;\n  text-transform:uppercase;\n  letter-spacing:.02em;\n  color:#111;\n  margin:28px 0 6px;\n  padding-bottom:12px;\n  border-bottom:3px solid #141414;\n  line-height:1.2;\n}\n\n.bwc-page .bwc-lead{\n  font-size:15px;\n  line-height:1.75;\n  color:#3d3d3d;\n  margin:0 0 18px;\n}\n\n.bwc-page .bwc-lead img{\n  width:100%;\n  height:auto;\n  display:block;\n}\n\n\/* ==============================\n   CAROUSEL\n   ============================== *\/\n\n.bwc-page .bwc-carousel{\n  position:relative;\n  margin:18px 0 22px;\n}\n\n.bwc-page .bwc-carousel-track{\n  display:flex;\n  gap:16px;\n  overflow-x:auto;\n  scroll-snap-type:x mandatory;\n  -webkit-overflow-scrolling:touch;\n  padding:4px 4px 14px;\n  scrollbar-width:none;\n  -ms-overflow-style:none;\n}\n\n.bwc-page .bwc-carousel-track::-webkit-scrollbar{\n  display:none;\n}\n\n.bwc-page .bwc-carousel-slide{\n  flex:0 0 100%;\n  max-width:100%;\n  scroll-snap-align:start;\n  background:#fff;\n  display:flex;\n  flex-direction:column;\n}\n\n.bwc-page .bwc-carousel-imgs{\n  display:flex;\n}\n\n.bwc-page .bwc-zoom-btn{\n  display:block;\n  width:100%;\n  padding:0;\n  margin:0;\n  border:0;\n  background:#f4f4f4;\n  cursor:zoom-in;\n  overflow:hidden;\n}\n\n.bwc-page .bwc-carousel-imgs img{\n  width:100%;\n  height:auto;\n  display:block;\n  aspect-ratio:1\/1;\n  object-fit:cover;\n  transition:transform .25s ease;\n}\n\n.bwc-page .bwc-zoom-btn:hover img{\n  transform:scale(1.015);\n}\n\n.bwc-page .bwc-carousel-text{\n  padding:18px;\n  flex:1;\n}\n\n.bwc-page .bwc-carousel-num{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  width:26px;\n  height:26px;\n  background:#141414;\n  color:#fff;\n  font-family:'Oswald',sans-serif;\n  font-size:12px;\n  font-weight:600;\n  margin-bottom:10px;\n}\n\n.bwc-page .bwc-carousel-text h3{\n  margin:0 0 4px;\n  font-family:'Oswald',sans-serif;\n  text-transform:uppercase;\n  letter-spacing:.01em;\n  font-size:15px;\n  color:#111;\n  font-weight:600;\n  line-height:1.3;\n}\n\n.bwc-page .bwc-carousel-text h4{\n  margin:0 0 6px;\n  font-family:'Inter',sans-serif;\n  font-size:13px;\n  color:#6b6b6b;\n  font-weight:600;\n  line-height:1.3;\n}\n\n.bwc-page .bwc-carousel-text p{\n  margin:0;\n  color:#4a4a4a;\n  font-size:13px;\n  line-height:1.6;\n}\n\n.bwc-page .bwc-carousel-nav{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:18px;\n  margin-top:12px;\n}\n\n.bwc-page .bwc-carousel-arrow{\n  width:36px;\n  height:36px;\n  border:2px solid #141414;\n  background:#fff;\n  color:#141414;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  cursor:pointer;\n  font-size:17px;\n  flex-shrink:0;\n  padding:0;\n  line-height:1;\n}\n\n.bwc-page .bwc-carousel-arrow:hover{\n  background:#141414;\n  color:#fff;\n}\n\n.bwc-page .bwc-carousel-arrow:focus-visible{\n  outline:2px solid #141414;\n  outline-offset:3px;\n}\n\n.bwc-page .bwc-carousel-dots{\n  display:flex;\n  gap:8px;\n}\n\n.bwc-page .bwc-carousel-dot{\n  width:8px;\n  height:8px;\n  border-radius:50%;\n  background:#d4d4d4;\n  cursor:pointer;\n  transition:background .2s;\n  padding:0;\n  border:0;\n}\n\n.bwc-page .bwc-carousel-dot.active{\n  background:#141414;\n}\n\n\/* ==============================\n   HOW TO USE\n   ============================== *\/\n\n.bwc-page .bwc-steps{\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:12px;\n  margin:18px 0 24px;\n}\n\n.bwc-page .bwc-step{\n  border:1px solid #e5e5e5;\n  padding:16px;\n  background:#fff;\n}\n\n.bwc-page .bwc-step-num{\n  width:28px;\n  height:28px;\n  background:#141414;\n  color:#fff;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  font-family:'Oswald',sans-serif;\n  font-size:13px;\n  font-weight:600;\n  margin-bottom:10px;\n}\n\n.bwc-page .bwc-step h3{\n  margin:0 0 6px;\n  font-family:'Oswald',sans-serif;\n  font-size:14px;\n  text-transform:uppercase;\n  color:#111;\n  line-height:1.3;\n}\n\n.bwc-page .bwc-step p{\n  margin:0;\n  font-size:13px;\n  line-height:1.6;\n  color:#4a4a4a;\n}\n\n.bwc-page .bwc-use-strip{\n  background:#f4f4f4;\n  padding:14px 16px;\n  text-align:center;\n  font-family:'Oswald',sans-serif;\n  font-size:13px;\n  font-weight:600;\n  letter-spacing:.08em;\n  text-transform:uppercase;\n  color:#111;\n  margin:16px 0 24px;\n}\n\n\/* ==============================\n   MEDIA\n   ============================== *\/\n\n.bwc-page .bwc-media-block{\n  margin:22px 0 6px;\n  overflow:hidden;\n  background:#f4f4f4;\n}\n\n.bwc-page .bwc-media-block img,\n.bwc-page .bwc-media-block video{\n  width:100%;\n  height:auto;\n  display:block;\n}\n\n.bwc-page .bwc-media-caption{\n  padding:11px 16px;\n  font-size:12px;\n  color:#6b6b6b;\n  font-family:'Oswald',sans-serif;\n  text-transform:uppercase;\n  letter-spacing:.05em;\n  background:#fff;\n}\n\n\/* ==============================\n   SPECS\n   ============================== *\/\n\n.bwc-page .bwc-spec{\n  margin-top:28px;\n  background:#141414;\n  padding:0;\n}\n\n.bwc-page .bwc-spec h2{\n  color:#fff;\n  margin:0;\n  padding:20px 24px;\n  font-size:19px;\n  font-family:'Oswald',sans-serif;\n  text-transform:uppercase;\n  letter-spacing:.03em;\n  border-bottom:1px solid #3a3a3a;\n}\n\n.bwc-page .bwc-table{\n  width:100%;\n  border-collapse:collapse;\n  background:#fff;\n}\n\n.bwc-page .bwc-table td{\n  padding:14px 20px;\n  border-bottom:1px solid #e4e4e4;\n  vertical-align:top;\n  line-height:1.5;\n  font-size:14.5px;\n  color:#222;\n}\n\n.bwc-page .bwc-table tr:last-child td{\n  border-bottom:0;\n}\n\n.bwc-page .bwc-table td:first-child{\n  font-family:'Oswald',sans-serif;\n  font-weight:600;\n  text-transform:uppercase;\n  letter-spacing:.02em;\n  color:#111;\n  width:34%;\n  background:#f5f5f5;\n  font-size:12.5px;\n}\n\n\/* ==============================\n   REVIEWS\n   ============================== *\/\n\n.bwc-page .bwc-review-stars{\n  color:#141414;\n  font-size:13px;\n  letter-spacing:2px;\n  margin-bottom:8px;\n}\n\n.bwc-page .bwc-review-title{\n  font-family:'Oswald',sans-serif;\n  font-size:14.5px;\n  font-weight:600;\n  text-transform:uppercase;\n  letter-spacing:.01em;\n  color:#111;\n  margin:0 0 6px;\n}\n\n.bwc-page .bwc-review-quote{\n  font-size:13px;\n  line-height:1.6;\n  color:#4a4a4a;\n  margin:0 0 8px;\n  font-style:italic;\n}\n\n.bwc-page .bwc-review-name{\n  font-family:'Oswald',sans-serif;\n  font-size:12px;\n  text-transform:uppercase;\n  letter-spacing:.05em;\n  color:#111;\n  font-weight:600;\n}\n\n.bwc-page .bwc-review-carousel-slide{\n  flex:0 0 100%;\n  max-width:100%;\n  scroll-snap-align:start;\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:14px;\n}\n\n.bwc-page .bwc-review-mini{\n  padding:16px;\n  background:#fff;\n  border:1px solid #e6e6e6;\n  border-radius:6px;\n  cursor:pointer;\n  transition:border-color .2s ease, background .2s ease;\n}\n\n.bwc-page .bwc-review-mini:hover{\n  border-color:#141414;\n}\n\n.bwc-page .bwc-review-mini:focus-visible{\n  outline:2px solid #141414;\n  outline-offset:3px;\n}\n\n.bwc-page .bwc-review-mini .bwc-review-stars{\n  font-size:12px;\n  margin-bottom:6px;\n}\n\n.bwc-page .bwc-review-mini .bwc-review-title{\n  font-size:13px;\n  margin-bottom:6px;\n}\n\n.bwc-page .bwc-review-mini .bwc-review-quote{\n  font-size:12.5px;\n  line-height:1.55;\n  margin-bottom:6px;\n  display:-webkit-box;\n  -webkit-line-clamp:4;\n  -webkit-box-orient:vertical;\n  overflow:hidden;\n}\n\n.bwc-page .bwc-review-mini.expanded .bwc-review-quote{\n  display:block;\n  -webkit-line-clamp:unset;\n  overflow:visible;\n}\n\n.bwc-page .bwc-review-mini .bwc-review-name{\n  font-size:11px;\n}\n\n.bwc-page .bwc-review-hint{\n  display:block;\n  margin-top:8px;\n  font-size:10px;\n  font-family:'Oswald',sans-serif;\n  text-transform:uppercase;\n  letter-spacing:.05em;\n  color:#858585;\n}\n\n\/* ==============================\n   FAQ\n   ============================== *\/\n\n.bwc-page .bwc-faq{\n  margin-top:28px;\n}\n\n.bwc-page .bwc-faq-item{\n  border-bottom:1px solid #e4e4e4;\n  padding:16px 2px;\n}\n\n.bwc-page .bwc-faq-item:first-child{\n  padding-top:0;\n}\n\n.bwc-page .bwc-faq-q{\n  font-family:'Oswald',sans-serif;\n  font-size:14.5px;\n  text-transform:uppercase;\n  letter-spacing:.01em;\n  color:#111;\n  font-weight:600;\n  margin:0;\n  display:flex;\n  align-items:center;\n  gap:10px;\n  width:100%;\n  background:none;\n  border:0;\n  padding:0;\n  cursor:pointer;\n  text-align:left;\n}\n\n.bwc-page .bwc-faq-q .qmark{\n  flex:0 0 auto;\n  width:22px;\n  height:22px;\n  border-radius:50%;\n  background:#141414;\n  color:#fff;\n  font-size:12px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  font-family:'Oswald',sans-serif;\n}\n\n.bwc-page .bwc-faq-q .qtext{\n  flex:1;\n}\n\n.bwc-page .bwc-faq-q .bwc-faq-toggle{\n  flex:0 0 auto;\n  width:22px;\n  height:22px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  font-size:16px;\n  font-weight:600;\n  color:#141414;\n  transition:transform .2s;\n}\n\n.bwc-page .bwc-faq-item.open .bwc-faq-q .bwc-faq-toggle{\n  transform:rotate(45deg);\n}\n\n.bwc-page .bwc-faq-a{\n  font-size:14px;\n  line-height:1.65;\n  color:#4a4a4a;\n  margin:8px 0 0;\n  padding-left:32px;\n  display:none;\n}\n\n.bwc-page .bwc-faq-item.open .bwc-faq-a{\n  display:block;\n}\n\n\/* ==============================\n   CTA\n   ============================== *\/\n\n.bwc-page .bwc-cta{\n  margin-top:28px;\n  background:#141414;\n  color:#fff;\n  padding:40px 24px;\n  text-align:center;\n}\n\n.bwc-page .bwc-cta h2{\n  margin:0 0 12px;\n  font-size:24px;\n  line-height:1.25;\n  font-family:'Oswald',sans-serif;\n  text-transform:uppercase;\n  letter-spacing:.02em;\n  font-weight:700;\n  color:#fff!important;\n}\n\n.bwc-page .bwc-cta p{\n  margin:0 auto 22px;\n  line-height:1.65;\n  max-width:560px;\n  opacity:.85;\n  font-size:14.5px;\n  color:#fff!important;\n}\n\n.bwc-page .bwc-btn{\n  display:inline-block;\n  background:#fff;\n  color:#111!important;\n  padding:15px 40px;\n  font-family:'Oswald',sans-serif;\n  font-size:15px;\n  font-weight:600;\n  letter-spacing:.06em;\n  text-transform:uppercase;\n  text-decoration:none;\n  border:2px solid #fff;\n  cursor:pointer;\n}\n\n.bwc-page .bwc-btn:hover{\n  background:#141414;\n  color:#fff!important;\n}\n\n.bwc-page .bwc-btn[disabled]{\n  opacity:.65;\n  cursor:not-allowed;\n}\n\n.bwc-page .bwc-btn.is-added{\n  background:#fff;\n  color:#111!important;\n}\n\n.bwc-page .bwc-cta-form{\n  margin:0;\n  display:inline-block;\n}\n\n\/* ==============================\n   IMAGE MODAL\n   ============================== *\/\n\n.bwc-image-modal{\n  position:fixed;\n  inset:0;\n  z-index:999999;\n  background:rgba(0,0,0,.88);\n  display:none;\n  align-items:center;\n  justify-content:center;\n  padding:24px;\n}\n\n.bwc-image-modal.open{\n  display:flex;\n}\n\n.bwc-image-modal-inner{\n  position:relative;\n  width:100%;\n  max-width:850px;\n  max-height:92vh;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n}\n\n.bwc-image-modal img{\n  display:block;\n  max-width:100%;\n  max-height:88vh;\n  width:auto;\n  height:auto;\n  background:#fff;\n}\n\n.bwc-image-modal-close{\n  position:absolute;\n  top:-18px;\n  right:-8px;\n  width:42px;\n  height:42px;\n  border:0;\n  border-radius:50%;\n  background:#fff;\n  color:#111;\n  font-size:26px;\n  line-height:1;\n  cursor:pointer;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  box-shadow:0 3px 15px rgba(0,0,0,.25);\n}\n\n\/* ==============================\n   MOBILE\n   ============================== *\/\n\n@media(max-width:768px){\n\n  .bwc-page .bwc-container{\n    padding:0;\n  }\n\n  .bwc-page .bwc-top{\n    padding:20px 16px 0;\n  }\n\n  .bwc-page .bwc-body{\n    padding:0 16px;\n  }\n\n  .bwc-page .bwc-h1{\n    font-size:24px;\n  }\n\n  .bwc-page .bwc-hero{\n    padding:20px 16px;\n  }\n\n  .bwc-page .bwc-hero h2{\n    font-size:19px;\n  }\n\n  .bwc-page .bwc-section-title{\n    font-size:19px;\n    margin-top:30px;\n  }\n\n  .bwc-page .bwc-carousel-slide{\n    flex:0 0 100%;\n    max-width:100%;\n  }\n\n  .bwc-page .bwc-carousel-track{\n    gap:0;\n  }\n\n  .bwc-page .bwc-table td{\n    display:block;\n    width:100%;\n    padding:10px 16px;\n  }\n\n  .bwc-page .bwc-table td:first-child{\n    width:100%;\n    border-bottom:0;\n    padding-bottom:2px;\n  }\n\n  .bwc-page .bwc-faq-a{\n    padding-left:0;\n    margin-top:6px;\n  }\n\n  .bwc-page .bwc-btn{\n    display:block;\n    width:100%;\n    text-align:center;\n  }\n\n  .bwc-page .bwc-review-carousel-slide{\n    grid-template-columns:1fr;\n  }\n\n  .bwc-page .bwc-steps{\n    grid-template-columns:1fr;\n  }\n\n  .bwc-image-modal{\n    padding:14px;\n  }\n\n  .bwc-image-modal-close{\n    top:-12px;\n    right:-4px;\n  }\n}\n\u003c\/style\u003e\n\n\n\u003cdiv class=\"bwc-page\"\u003e\n\n  \u003cdiv class=\"bwc-container\"\u003e\n\n    \u003cdiv class=\"bwc-card\"\u003e\n\n      \u003c!-- =====================================================\n           TOP\n           ===================================================== --\u003e\n\n      \u003cdiv class=\"bwc-top\"\u003e\n\n        \u003cp class=\"bwc-eyebrow\"\u003e\n          MAKEUP MADE EFFORTLESS\n        \u003c\/p\u003e\n\n        \u003ch1 class=\"bwc-h1\"\u003e\n          Angled Concealer Paw Brush\n        \u003c\/h1\u003e\n\n        \u003cbutton type=\"button\" class=\"bwc-review-jump\" data-scroll-reviews\u003e\n          \u003cspan class=\"bwc-review-jump-stars\"\u003e★★★★★\u003c\/span\u003e\n          \u003cspan\u003eView Customer Reviews\u003c\/span\u003e\n        \u003c\/button\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003c!-- =====================================================\n           HERO\n           ===================================================== --\u003e\n\n      \u003cdiv class=\"bwc-hero\"\u003e\n\n        \u003ch2\u003e\n          The Brush That Makes Concealer Look Seamlessly Blended ✨\n        \u003c\/h2\u003e\n\n        \u003cp\u003e\n          Stop struggling around the eyes and nose. The uniquely angled\n          paw-style brush head combines\n          \u003cstrong\u003eprecision access, super-soft synthetic bristles,\n          buildable coverage, and seamless blending\u003c\/strong\u003e\n          to help create a smoother, airbrushed-looking finish with less effort.\n        \u003c\/p\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"bwc-teeth\"\u003e\u003c\/div\u003e\n\n\n      \u003c!-- =====================================================\n           HERO IMAGE\n           ===================================================== --\u003e\n\n      \u003cdiv class=\"bwc-img-wrap\"\u003e\n\n        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/DM_20260812224647_001.webp?v=1786591020\" alt=\"Angled Concealer Paw Brush\" loading=\"eager\"\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003c!-- =====================================================\n           WHY YOU'LL LOVE IT\n           ===================================================== --\u003e\n\n      \u003ch2 class=\"bwc-section-title\" style=\"margin-left:26px;margin-right:26px;\"\u003e\n        Why You'll Love It\n      \u003c\/h2\u003e\n\n      \u003cp class=\"bwc-lead\" style=\"margin-left:26px;margin-right:26px;\"\u003e\n        Designed specifically for precision concealer application, this\n        easy-to-use brush hugs the contours around your eyes and nose so you\n        can pat, blend, and build coverage exactly where you need it.\n      \u003c\/p\u003e\n\n      \u003cp class=\"bwc-lead\" style=\"margin-left:26px;margin-right:26px;\"\u003e\n        Instead of repeatedly repositioning a traditional flat brush, the\n        angled paw-style shape follows facial contours more naturally for\n        easier control in smaller, harder-to-reach areas.\n      \u003c\/p\u003e\n\n\n      \u003c!-- =====================================================\n           SELLING POINT CAROUSEL\n           ===================================================== --\u003e\n\n      \u003cdiv class=\"bwc-carousel\" data-carousel\u003e\n\n        \u003cdiv class=\"bwc-carousel-track\" data-track\u003e\n\n          \u003c!-- FEATURE 1 --\u003e\n\n          \u003cdiv class=\"bwc-carousel-slide\"\u003e\n\n            \u003cdiv class=\"bwc-carousel-imgs\"\u003e\n\n              \u003cbutton type=\"button\" class=\"bwc-zoom-btn\" data-image-zoom aria-label=\"Enlarge uniquely angled paw brush image\"\u003e\n\n                \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/ChatGPTImage2026_8_12_20_13_16_1.png?v=1786590870\" alt=\"Uniquely angled paw concealer brush\" loading=\"lazy\"\u003e\n\n              \u003c\/button\u003e\n\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"bwc-carousel-text\"\u003e\n\n              \u003cspan class=\"bwc-carousel-num\"\u003e1\u003c\/span\u003e\n\n              \u003ch3\u003e\n                Uniquely Angled Paw Brush\n              \u003c\/h3\u003e\n\n              \u003ch4\u003e\n                Reach The Areas Other Brushes Miss\n              \u003c\/h4\u003e\n\n              \u003cp\u003e\n                The angled brush head fits naturally around inner eye corners,\n                under the eyes, and around the nose so you can follow facial\n                contours with greater precision.\n              \u003c\/p\u003e\n\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003c!-- FEATURE 2 --\u003e\n\n          \u003cdiv class=\"bwc-carousel-slide\"\u003e\n\n            \u003cdiv class=\"bwc-carousel-imgs\"\u003e\n\n              \u003cbutton type=\"button\" class=\"bwc-zoom-btn\" data-image-zoom aria-label=\"Enlarge seamless concealer blending image\"\u003e\n\n                \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/ChatGPTImage2026_8_12_20_13_16_2.png?v=1786590869\" alt=\"Seamless airbrushed looking concealer blending\" loading=\"lazy\"\u003e\n\n              \u003c\/button\u003e\n\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"bwc-carousel-text\"\u003e\n\n              \u003cspan class=\"bwc-carousel-num\"\u003e2\u003c\/span\u003e\n\n              \u003ch3\u003e\n                Seamless Airbrushed-Looking Blend\n              \u003c\/h3\u003e\n\n              \u003ch4\u003e\n                Smooth Concealer Without Harsh Edges\n              \u003c\/h4\u003e\n\n              \u003cp\u003e\n                Controlled patting motions help distribute concealer smoothly\n                across the skin, softening visible edges for a more seamless,\n                polished-looking finish.\n              \u003c\/p\u003e\n\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003c!-- FEATURE 3 --\u003e\n\n          \u003cdiv class=\"bwc-carousel-slide\"\u003e\n\n            \u003cdiv class=\"bwc-carousel-imgs\"\u003e\n\n              \u003cbutton type=\"button\" class=\"bwc-zoom-btn\" data-image-zoom aria-label=\"Enlarge soft synthetic brush bristles image\"\u003e\n\n                \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/ChatGPTImage2026_8_12_20_13_17_3.png?v=1786590870\" alt=\"Super soft synthetic concealer brush bristles\" loading=\"lazy\"\u003e\n\n              \u003c\/button\u003e\n\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"bwc-carousel-text\"\u003e\n\n              \u003cspan class=\"bwc-carousel-num\"\u003e3\u003c\/span\u003e\n\n              \u003ch3\u003e\n                Super-Soft Synthetic Bristles\n              \u003c\/h3\u003e\n\n              \u003ch4\u003e\n                Gentle Around Delicate Areas\n              \u003c\/h4\u003e\n\n              \u003cp\u003e\n                Soft synthetic bristles feel comfortable around delicate\n                under-eye skin while the densely arranged brush head provides\n                the control needed for smooth, even blending.\n              \u003c\/p\u003e\n\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003c!-- FEATURE 4 --\u003e\n\n          \u003cdiv class=\"bwc-carousel-slide\"\u003e\n\n            \u003cdiv class=\"bwc-carousel-imgs\"\u003e\n\n              \u003cbutton type=\"button\" class=\"bwc-zoom-btn\" data-image-zoom aria-label=\"Enlarge buildable concealer coverage image\"\u003e\n\n                \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/ChatGPTImage2026_8_12_20_13_17_4.png?v=1786590870\" alt=\"Buildable customizable concealer coverage\" loading=\"lazy\"\u003e\n\n              \u003c\/button\u003e\n\n            \u003c\/div\u003e\n\n            \u003cdiv class=\"bwc-carousel-text\"\u003e\n\n              \u003cspan class=\"bwc-carousel-num\"\u003e4\u003c\/span\u003e\n\n              \u003ch3\u003e\n                Buildable, Customizable Coverage\n              \u003c\/h3\u003e\n\n              \u003ch4\u003e\n                Pat. Blend. Build Where You Need More.\n              \u003c\/h4\u003e\n\n              \u003cp\u003e\n                Start with a light layer, then continue patting and adding\n                concealer exactly where you want more coverage without\n                unnecessarily spreading product across the rest of your face.\n              \u003c\/p\u003e\n\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003c!-- SELLING POINT CONTROLS --\u003e\n\n        \u003cdiv class=\"bwc-carousel-nav\"\u003e\n\n          \u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-prev aria-label=\"Previous feature\"\u003e\n            ‹\n          \u003c\/button\u003e\n\n          \u003cdiv class=\"bwc-carousel-dots\" data-dots\u003e\u003c\/div\u003e\n\n          \u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-next aria-label=\"Next feature\"\u003e\n            ›\n          \u003c\/button\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003cdiv class=\"bwc-teeth\" style=\"margin-top:8px;\"\u003e\u003c\/div\u003e\n\n\n      \u003c!-- =====================================================\n           HOW TO USE\n           ===================================================== --\u003e\n\n      \u003cdiv class=\"bwc-body\"\u003e\n\n        \u003ch2 class=\"bwc-section-title\"\u003e\n          How To Use\n        \u003c\/h2\u003e\n\n        \u003cp class=\"bwc-lead\"\u003e\n          Applying concealer doesn't need to be complicated. Use a few simple\n          patting motions to blend product where you want coverage while the\n          angled edge handles smaller facial contours.\n        \u003c\/p\u003e\n\n\n        \u003cdiv class=\"bwc-steps\"\u003e\n\n          \u003cdiv class=\"bwc-step\"\u003e\n\n            \u003cdiv class=\"bwc-step-num\"\u003e\n              1\n            \u003c\/div\u003e\n\n            \u003ch3\u003e\n              Apply Your Concealer\n            \u003c\/h3\u003e\n\n            \u003cp\u003e\n              Place a small amount under the eyes, around the nose, or over\n              any smaller area where you want extra coverage.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"bwc-step\"\u003e\n\n            \u003cdiv class=\"bwc-step-num\"\u003e\n              2\n            \u003c\/div\u003e\n\n            \u003ch3\u003e\n              Pat To Blend\n            \u003c\/h3\u003e\n\n            \u003cp\u003e\n              Use gentle patting motions with the angled brush head to work\n              the concealer smoothly into the skin.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"bwc-step\"\u003e\n\n            \u003cdiv class=\"bwc-step-num\"\u003e\n              3\n            \u003c\/div\u003e\n\n            \u003ch3\u003e\n              Build Coverage\n            \u003c\/h3\u003e\n\n            \u003cp\u003e\n              Add another light layer only where you need more coverage, then\n              continue patting until you reach your preferred finish.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"bwc-step\"\u003e\n\n            \u003cdiv class=\"bwc-step-num\"\u003e\n              4\n            \u003c\/div\u003e\n\n            \u003ch3\u003e\n              Perfect The Edges\n            \u003c\/h3\u003e\n\n            \u003cp\u003e\n              Use the angled edge around the inner eye corners and nose to\n              soften visible lines and finish smaller areas precisely.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003cdiv class=\"bwc-use-strip\"\u003e\n          Pat · Blend · Build · Perfect\n        \u003c\/div\u003e\n\n\n        \u003c!-- =====================================================\n             HARD TO REACH AREAS\n             ===================================================== --\u003e\n\n        \u003ch2 class=\"bwc-section-title\"\u003e\n          Made For Hard-To-Reach Areas\n        \u003c\/h2\u003e\n\n        \u003cp class=\"bwc-lead\"\u003e\n          The difference is in the angle. The paw-style brush head follows\n          the natural contours of your face, helping you work concealer into\n          smaller areas that can feel awkward with a traditional makeup brush.\n        \u003c\/p\u003e\n\n        \u003cp class=\"bwc-lead\"\u003e\n          Use it around\n          \u003cstrong\u003e\n            under eyes · inner eye corners · around the nose · small facial areas\n          \u003c\/strong\u003e\n          for more controlled, targeted application.\n        \u003c\/p\u003e\n\n\n        \u003c!-- =====================================================\n             EASY TO PAIR\n             ===================================================== --\u003e\n\n        \u003ch2 class=\"bwc-section-title\"\u003e\n          Easy To Pair With Your Concealer\n        \u003c\/h2\u003e\n\n        \u003cp class=\"bwc-lead\"\u003e\n          Use the brush after applying your favorite liquid or cream concealer\n          to blend, soften visible edges, and customize your coverage.\n        \u003c\/p\u003e\n\n        \u003cp class=\"bwc-lead\"\u003e\n          It's especially useful when you want to keep coverage concentrated\n          in specific areas rather than spreading concealer farther across\n          the face than necessary.\n        \u003c\/p\u003e\n\n\n        \u003c!-- =====================================================\n             PERFECT FOR\n             ===================================================== --\u003e\n\n        \u003ch2 class=\"bwc-section-title\"\u003e\n          Perfect For\n        \u003c\/h2\u003e\n\n        \u003cp class=\"bwc-lead\"\u003e\n          A practical makeup essential for anyone who wants concealer\n          application to feel faster, easier, and more precise.\n        \u003c\/p\u003e\n\n        \u003cp class=\"bwc-lead\"\u003e\n          Ideal for\n          \u003cstrong\u003e\n            under-eye concealer · inner eye corners · around the nose ·\n            spot concealing · everyday makeup · buildable coverage\n          \u003c\/strong\u003e.\n        \u003c\/p\u003e\n\n\n        \u003cdiv class=\"bwc-media-block\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/ChatGPTImage2026_8_12_20_15_46.png?v=1786590956\" alt=\"Angled concealer brush for under eyes nose and precision blending\" loading=\"lazy\"\u003e\n\n          \u003cdiv class=\"bwc-media-caption\"\u003e\n            Under Eyes · Nose · Eye Corners · Spot Concealing\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003c!-- =====================================================\n             SPECIFICATIONS\n             ===================================================== --\u003e\n\n        \u003cdiv class=\"bwc-spec\"\u003e\n\n          \u003ch2\u003e\n            Product Specifications\n          \u003c\/h2\u003e\n\n          \u003ctable class=\"bwc-table\"\u003e\n\n            \u003ctbody\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003eProduct Type\u003c\/td\u003e\n                \u003ctd\u003eConcealer Makeup Brush\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003eBrush Style\u003c\/td\u003e\n                \u003ctd\u003ePaw-Style Concealer Brush\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003eBrush Shape\u003c\/td\u003e\n                \u003ctd\u003eUniquely Angled\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003eBristle Type\u003c\/td\u003e\n                \u003ctd\u003eSynthetic\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003eBristle Feel\u003c\/td\u003e\n                \u003ctd\u003eSuper Soft\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003ePrimary Use\u003c\/td\u003e\n                \u003ctd\u003eApplying \u0026amp; Blending Concealer\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003eBest Areas\u003c\/td\u003e\n                \u003ctd\u003eUnder Eyes · Eye Corners · Around Nose\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003eApplication\u003c\/td\u003e\n                \u003ctd\u003ePatting · Blending · Building\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003eCoverage\u003c\/td\u003e\n                \u003ctd\u003eCustomizable \/ Buildable\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003eFinish\u003c\/td\u003e\n                \u003ctd\u003eSeamless · Airbrushed-Looking\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003eSuitable For\u003c\/td\u003e\n                \u003ctd\u003ePrecision Concealer Application\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003eVegan\u003c\/td\u003e\n                \u003ctd\u003eYes\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003eCruelty-Free\u003c\/td\u003e\n                \u003ctd\u003eYes\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n              \u003ctr\u003e\n                \u003ctd\u003ePack Type\u003c\/td\u003e\n                \u003ctd\u003eSingle Brush\u003c\/td\u003e\n              \u003c\/tr\u003e\n\n            \u003c\/tbody\u003e\n\n          \u003c\/table\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003c!-- =====================================================\n             CUSTOMER REVIEWS\n             ===================================================== --\u003e\n\n        \u003ch2 class=\"bwc-section-title\" id=\"bwc-reviews\" tabindex=\"-1\"\u003e\n          Customer Reviews\n        \u003c\/h2\u003e\n\n        \u003cp class=\"bwc-lead\"\u003e\n          Customers frequently highlight the brush's angle, softness,\n          precision, blending performance, and ability to distribute concealer\n          smoothly around the eyes.\n        \u003c\/p\u003e\n\n\n        \u003cdiv class=\"bwc-media-block\"\u003e\n\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/DM_20260812224649_001.webp?v=1786590960\" alt=\"Angled Concealer Paw Brush customer reviews\" loading=\"lazy\"\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003c!-- =====================================================\n             REVIEW CAROUSEL\n             ===================================================== --\u003e\n\n        \u003cdiv class=\"bwc-carousel\" data-carousel\u003e\n\n          \u003cdiv class=\"bwc-carousel-track\" data-track\u003e\n\n            \u003c!-- REVIEW PAGE 1 --\u003e\n\n            \u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\n              \u003cdiv class=\"bwc-review-mini\" tabindex=\"0\" role=\"button\" aria-expanded=\"false\"\u003e\n\n                \u003cp class=\"bwc-review-stars\"\u003e\n                  ★★★★★\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-title\"\u003e\n                  Blends Concealer Beautifully\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-quote\"\u003e\n                  “This brush is the perfect size, blends your concealer perfectly.”\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-name\"\u003e\n                  Sarah S. · Customer\n                \u003c\/p\u003e\n\n                \u003cspan class=\"bwc-review-hint\"\u003e\n                  Click To Expand\n                \u003c\/span\u003e\n\n              \u003c\/div\u003e\n\n\n              \u003cdiv class=\"bwc-review-mini\" tabindex=\"0\" role=\"button\" aria-expanded=\"false\"\u003e\n\n                \u003cp class=\"bwc-review-stars\"\u003e\n                  ★★★★★\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-title\"\u003e\n                  Smooth, Even Application\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-quote\"\u003e\n                  “Great quality brush that applies product evenly.”\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-name\"\u003e\n                  Katherine M. · Customer\n                \u003c\/p\u003e\n\n                \u003cspan class=\"bwc-review-hint\"\u003e\n                  Click To Expand\n                \u003c\/span\u003e\n\n              \u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n\n            \u003c!-- REVIEW PAGE 2 --\u003e\n\n            \u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\n              \u003cdiv class=\"bwc-review-mini\" tabindex=\"0\" role=\"button\" aria-expanded=\"false\"\u003e\n\n                \u003cp class=\"bwc-review-stars\"\u003e\n                  ★★★★★\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-title\"\u003e\n                  Soft \u0026amp; Easy To Blend\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-quote\"\u003e\n                  “Soft bristles and blends great!”\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-name\"\u003e\n                  Dariana D. · Customer\n                \u003c\/p\u003e\n\n                \u003cspan class=\"bwc-review-hint\"\u003e\n                  Click To Expand\n                \u003c\/span\u003e\n\n              \u003c\/div\u003e\n\n\n              \u003cdiv class=\"bwc-review-mini\" tabindex=\"0\" role=\"button\" aria-expanded=\"false\"\u003e\n\n                \u003cp class=\"bwc-review-stars\"\u003e\n                  ★★★★★\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-title\"\u003e\n                  Perfect Around The Eyes\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-quote\"\u003e\n                  “This brush evenly distributes the product under my eyes and in the corners of my eyes.”\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-name\"\u003e\n                  Kathryn N. · Customer\n                \u003c\/p\u003e\n\n                \u003cspan class=\"bwc-review-hint\"\u003e\n                  Click To Expand\n                \u003c\/span\u003e\n\n              \u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n\n            \u003c!-- REVIEW PAGE 3 --\u003e\n\n            \u003cdiv class=\"bwc-carousel-slide bwc-review-carousel-slide\"\u003e\n\n              \u003cdiv class=\"bwc-review-mini\" tabindex=\"0\" role=\"button\" aria-expanded=\"false\"\u003e\n\n                \u003cp class=\"bwc-review-stars\"\u003e\n                  ★★★★★\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-title\"\u003e\n                  No Pulling Or Tugging\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-quote\"\u003e\n                  “So soft. No pulling or tugging.”\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-name\"\u003e\n                  Jen · Customer\n                \u003c\/p\u003e\n\n                \u003cspan class=\"bwc-review-hint\"\u003e\n                  Click To Expand\n                \u003c\/span\u003e\n\n              \u003c\/div\u003e\n\n\n              \u003cdiv class=\"bwc-review-mini\" tabindex=\"0\" role=\"button\" aria-expanded=\"false\"\u003e\n\n                \u003cp class=\"bwc-review-stars\"\u003e\n                  ★★★★★\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-title\"\u003e\n                  Smooth Under-Eye Blending\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-quote\"\u003e\n                  “The brush is perfect for under eye and other spots on my face.”\n                \u003c\/p\u003e\n\n                \u003cp class=\"bwc-review-name\"\u003e\n                  Julie H. · Customer\n                \u003c\/p\u003e\n\n                \u003cspan class=\"bwc-review-hint\"\u003e\n                  Click To Expand\n                \u003c\/span\u003e\n\n              \u003c\/div\u003e\n\n            \u003c\/div\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003c!-- REVIEW CONTROLS --\u003e\n\n          \u003cdiv class=\"bwc-carousel-nav\"\u003e\n\n            \u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-prev aria-label=\"Previous reviews\"\u003e\n              ‹\n            \u003c\/button\u003e\n\n            \u003cdiv class=\"bwc-carousel-dots\" data-dots\u003e\u003c\/div\u003e\n\n            \u003cbutton type=\"button\" class=\"bwc-carousel-arrow\" data-next aria-label=\"Next reviews\"\u003e\n              ›\n            \u003c\/button\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n\n        \u003c!-- =====================================================\n             FAQ\n             ===================================================== --\u003e\n\n        \u003cdiv class=\"bwc-faq\" data-accordion\u003e\n\n          \u003ch2 class=\"bwc-section-title\"\u003e\n            Frequently Asked Questions\n          \u003c\/h2\u003e\n\n\n          \u003cdiv class=\"bwc-faq-item\"\u003e\n\n            \u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\n\n              \u003cspan class=\"qmark\"\u003e\n                Q\n              \u003c\/span\u003e\n\n              \u003cspan class=\"qtext\"\u003e\n                What makes the paw brush different from a regular concealer brush?\n              \u003c\/span\u003e\n\n              \u003cspan class=\"bwc-faq-toggle\"\u003e\n                +\n              \u003c\/span\u003e\n\n            \u003c\/button\u003e\n\n            \u003cp class=\"bwc-faq-a\"\u003e\n              The brush features a uniquely angled head designed to reach areas\n              such as the inner eye corners and around the nose more easily\n              than a traditional flat concealer brush.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"bwc-faq-item\"\u003e\n\n            \u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\n\n              \u003cspan class=\"qmark\"\u003e\n                Q\n              \u003c\/span\u003e\n\n              \u003cspan class=\"qtext\"\u003e\n                Is it good for under-eye concealer?\n              \u003c\/span\u003e\n\n              \u003cspan class=\"bwc-faq-toggle\"\u003e\n                +\n              \u003c\/span\u003e\n\n            \u003c\/button\u003e\n\n            \u003cp class=\"bwc-faq-a\"\u003e\n              Yes. The angled shape follows the contours around the eyes while\n              the soft synthetic bristles help blend concealer across delicate\n              under-eye areas.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"bwc-faq-item\"\u003e\n\n            \u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\n\n              \u003cspan class=\"qmark\"\u003e\n                Q\n              \u003c\/span\u003e\n\n              \u003cspan class=\"qtext\"\u003e\n                How should I blend concealer with it?\n              \u003c\/span\u003e\n\n              \u003cspan class=\"bwc-faq-toggle\"\u003e\n                +\n              \u003c\/span\u003e\n\n            \u003c\/button\u003e\n\n            \u003cp class=\"bwc-faq-a\"\u003e\n              Apply your concealer first, then use gentle patting motions with\n              the brush to blend it into the skin. Continue patting and adding\n              small amounts wherever additional coverage is needed.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"bwc-faq-item\"\u003e\n\n            \u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\n\n              \u003cspan class=\"qmark\"\u003e\n                Q\n              \u003c\/span\u003e\n\n              \u003cspan class=\"qtext\"\u003e\n                Can it reach the inner corners of the eyes?\n              \u003c\/span\u003e\n\n              \u003cspan class=\"bwc-faq-toggle\"\u003e\n                +\n              \u003c\/span\u003e\n\n            \u003c\/button\u003e\n\n            \u003cp class=\"bwc-faq-a\"\u003e\n              Yes. The angled paw-style head is particularly useful for\n              smaller, harder-to-reach areas such as inner eye corners and\n              around the sides of the nose.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"bwc-faq-item\"\u003e\n\n            \u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\n\n              \u003cspan class=\"qmark\"\u003e\n                Q\n              \u003c\/span\u003e\n\n              \u003cspan class=\"qtext\"\u003e\n                Are the bristles synthetic?\n              \u003c\/span\u003e\n\n              \u003cspan class=\"bwc-faq-toggle\"\u003e\n                +\n              \u003c\/span\u003e\n\n            \u003c\/button\u003e\n\n            \u003cp class=\"bwc-faq-a\"\u003e\n              Yes. The brush uses soft synthetic bristles designed to provide\n              comfortable and controlled concealer blending.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"bwc-faq-item\"\u003e\n\n            \u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\n\n              \u003cspan class=\"qmark\"\u003e\n                Q\n              \u003c\/span\u003e\n\n              \u003cspan class=\"qtext\"\u003e\n                Can I build coverage with this brush?\n              \u003c\/span\u003e\n\n              \u003cspan class=\"bwc-faq-toggle\"\u003e\n                +\n              \u003c\/span\u003e\n\n            \u003c\/button\u003e\n\n            \u003cp class=\"bwc-faq-a\"\u003e\n              Yes. Blend your first layer with gentle patting motions, then add\n              another small amount of concealer only where you want additional\n              coverage.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"bwc-faq-item\"\u003e\n\n            \u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\n\n              \u003cspan class=\"qmark\"\u003e\n                Q\n              \u003c\/span\u003e\n\n              \u003cspan class=\"qtext\"\u003e\n                Does it only work around the eyes?\n              \u003c\/span\u003e\n\n              \u003cspan class=\"bwc-faq-toggle\"\u003e\n                +\n              \u003c\/span\u003e\n\n            \u003c\/button\u003e\n\n            \u003cp class=\"bwc-faq-a\"\u003e\n              No. It also works around the nose and on smaller facial areas\n              where you want precise, concentrated concealer application.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n\n          \u003cdiv class=\"bwc-faq-item\"\u003e\n\n            \u003cbutton type=\"button\" class=\"bwc-faq-q\" aria-expanded=\"false\"\u003e\n\n              \u003cspan class=\"qmark\"\u003e\n                Q\n              \u003c\/span\u003e\n\n              \u003cspan class=\"qtext\"\u003e\n                Is the brush vegan and cruelty-free?\n              \u003c\/span\u003e\n\n              \u003cspan class=\"bwc-faq-toggle\"\u003e\n                +\n              \u003c\/span\u003e\n\n            \u003c\/button\u003e\n\n            \u003cp class=\"bwc-faq-a\"\u003e\n              Yes. This brush is designed with synthetic bristles and is listed\n              as vegan and cruelty-free.\n            \u003c\/p\u003e\n\n          \u003c\/div\u003e\n\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n\n      \u003c!-- =====================================================\n           CTA\n           ===================================================== --\u003e\n\n      \u003cdiv class=\"bwc-teeth inv\"\u003e\u003c\/div\u003e\n\n\n      \u003cdiv class=\"bwc-cta\"\u003e\n\n        \u003ch2\u003e\n          Blend Better In The Places That Matter Most\n        \u003c\/h2\u003e\n\n        \u003cp\u003e\n          No complicated technique. Apply your concealer, use the angled paw\n          brush to pat, blend, and build, and create a smoother finish around\n          your eyes, nose, and anywhere precision matters.\n        \u003c\/p\u003e\n\n        \u003cbutton type=\"button\" class=\"bwc-btn bwc-add-to-cart\" data-default-text=\"Add To Your Makeup Bag\"\u003e\n          Add To Your Makeup Bag\n        \u003c\/button\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\n\u003c!-- =========================================================\n     IMAGE ZOOM MODAL\n     ========================================================= --\u003e\n\n\u003cdiv class=\"bwc-image-modal\" data-bwc-image-modal aria-hidden=\"true\"\u003e\n\n  \u003cdiv class=\"bwc-image-modal-inner\"\u003e\n\n    \u003cbutton type=\"button\" class=\"bwc-image-modal-close\" data-bwc-modal-close aria-label=\"Close image\"\u003e\n      ×\n    \u003c\/button\u003e\n\n    \u003cimg src=\"\" alt=\"\" data-bwc-modal-image\u003e\n\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\n\u003c!-- =========================================================\n     CAROUSEL JAVASCRIPT\n     ========================================================= --\u003e\n\n\u003cscript\u003e\n(function(){\n\n  var carousels = document.querySelectorAll('.bwc-page [data-carousel]');\n\n  carousels.forEach(function(carousel){\n\n    var track = carousel.querySelector('[data-track]');\n    var slides = track ? 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\n    if(!track || !slides.length){\n      return;\n    }\n\n    var activeIndex = 0;\n\n    var AUTOPLAY_DELAY =\n      parseInt(carousel.getAttribute('data-autoplay'),10) || 0;\n\n    var autoplayEnabled = AUTOPLAY_DELAY \u003e 0;\n    var autoplayTimer = null;\n    var carouselInView = false;\n\n\n    \/* --------------------------\n       CREATE DOTS\n       -------------------------- *\/\n\n    if(dotsWrap){\n\n      dotsWrap.innerHTML = '';\n\n      slides.forEach(function(slide,i){\n\n        var dot = document.createElement('button');\n\n        dot.type = 'button';\n\n        dot.className =\n          'bwc-carousel-dot' +\n          (i === 0 ? ' active' : '');\n\n        dot.setAttribute(\n          'aria-label',\n          'Go to slide ' + (i + 1)\n        );\n\n        dot.addEventListener('click',function(){\n\n          goToSlide(i);\n\n          restartAutoplay();\n\n        });\n\n        dotsWrap.appendChild(dot);\n\n      });\n\n    }\n\n\n    var dots =\n      dotsWrap\n      ? dotsWrap.querySelectorAll('.bwc-carousel-dot')\n      : [];\n\n\n    \/* --------------------------\n       GO TO SLIDE\n       -------------------------- *\/\n\n    function goToSlide(i){\n\n      if(i \u003c 0){\n        i = slides.length - 1;\n      }\n\n      if(i \u003e= slides.length){\n        i = 0;\n      }\n\n      activeIndex = i;\n\n      var slide = slides[i];\n\n      track.scrollTo({\n        left:slide.offsetLeft,\n        behavior:'smooth'\n      });\n\n      dots.forEach(function(dot,index){\n\n        dot.classList.toggle(\n          'active',\n          index === i\n        );\n\n      });\n\n    }\n\n\n    \/* --------------------------\n       UPDATE ACTIVE SLIDE\n       -------------------------- *\/\n\n    function updateActive(){\n\n      var trackRect =\n        track.getBoundingClientRect();\n\n      var closest = 0;\n      var closestDist = Infinity;\n\n      slides.forEach(function(slide,i){\n\n        var slideRect =\n          slide.getBoundingClientRect();\n\n        var dist =\n          Math.abs(\n            slideRect.left -\n            trackRect.left\n          );\n\n        if(dist \u003c closestDist){\n\n          closestDist = dist;\n          closest = i;\n\n        }\n\n      });\n\n      activeIndex = closest;\n\n      dots.forEach(function(dot,i){\n\n        dot.classList.toggle(\n          'active',\n          i === closest\n        );\n\n      });\n\n    }\n\n\n    \/* --------------------------\n       SCROLL LISTENER\n       -------------------------- *\/\n\n    var scrollTimer;\n\n    track.addEventListener(\n      'scroll',\n      function(){\n\n        clearTimeout(scrollTimer);\n\n        scrollTimer =\n          setTimeout(\n            updateActive,\n            80\n          );\n\n      }\n    );\n\n\n    \/* --------------------------\n       PREVIOUS\n       -------------------------- *\/\n\n    if(prevBtn){\n\n      prevBtn.addEventListener(\n        'click',\n        function(){\n\n          goToSlide(\n            activeIndex - 1\n          );\n\n          restartAutoplay();\n\n        }\n      );\n\n    }\n\n\n    \/* --------------------------\n       NEXT\n       -------------------------- *\/\n\n    if(nextBtn){\n\n      nextBtn.addEventListener(\n        'click',\n        function(){\n\n          goToSlide(\n            activeIndex + 1\n          );\n\n          restartAutoplay();\n\n        }\n      );\n\n    }\n\n\n    \/* --------------------------\n       AUTOPLAY\n       -------------------------- *\/\n\n    function nextSlide(){\n\n      goToSlide(\n        activeIndex + 1\n      );\n\n    }\n\n\n    function startAutoplay(){\n\n      stopAutoplay();\n\n      if(!autoplayEnabled){\n        return;\n      }\n\n      if(!carouselInView){\n        return;\n      }\n\n      autoplayTimer =\n        setInterval(\n          nextSlide,\n          AUTOPLAY_DELAY\n        );\n\n    }\n\n\n    function stopAutoplay(){\n\n      if(autoplayTimer){\n\n        clearInterval(\n          autoplayTimer\n        );\n\n        autoplayTimer = null;\n\n      }\n\n    }\n\n\n    function restartAutoplay(){\n\n      stopAutoplay();\n\n      startAutoplay();\n\n    }\n\n\n    track.addEventListener(\n      'pointerdown',\n      stopAutoplay\n    );\n\n    track.addEventListener(\n      'touchstart',\n      stopAutoplay,\n      {passive:true}\n    );\n\n    track.addEventListener(\n      'pointerup',\n      restartAutoplay\n    );\n\n    track.addEventListener(\n      'touchend',\n      restartAutoplay,\n      {passive:true}\n    );\n\n    carousel.addEventListener(\n      'mouseenter',\n      stopAutoplay\n    );\n\n    carousel.addEventListener(\n      'mouseleave',\n      restartAutoplay\n    );\n\n\n    \/* --------------------------\n       INTERSECTION OBSERVER\n       -------------------------- *\/\n\n    if(\n      autoplayEnabled \u0026\u0026\n      'IntersectionObserver' in window\n    ){\n\n      var observer =\n        new IntersectionObserver(\n          function(entries){\n\n            entries.forEach(\n              function(entry){\n\n                carouselInView =\n                  entry.isIntersecting;\n\n                if(carouselInView){\n\n                  restartAutoplay();\n\n                }else{\n\n                  stopAutoplay();\n\n                }\n\n              }\n            );\n\n          },\n          {\n            threshold:0.4\n          }\n        );\n\n      observer.observe(carousel);\n\n    }\n\n\n    updateActive();\n\n  });\n\n})();\n\u003c\/script\u003e\n\n\n\u003c!-- =========================================================\n     FAQ JAVASCRIPT\n     ========================================================= --\u003e\n\n\u003cscript\u003e\n(function(){\n\n  var accordions =\n    document.querySelectorAll(\n      '.bwc-page [data-accordion]'\n    );\n\n  accordions.forEach(\n    function(accordion){\n\n      var buttons =\n        accordion.querySelectorAll(\n          '.bwc-faq-q'\n        );\n\n      buttons.forEach(\n        function(btn){\n\n          btn.addEventListener(\n            'click',\n            function(){\n\n              var item =\n                btn.closest(\n                  '.bwc-faq-item'\n                );\n\n              if(!item){\n                return;\n              }\n\n              var isOpen =\n                item.classList.contains(\n                  'open'\n                );\n\n              item.classList.toggle(\n                'open',\n                !isOpen\n              );\n\n              btn.setAttribute(\n                'aria-expanded',\n                String(!isOpen)\n              );\n\n            }\n          );\n\n        }\n      );\n\n    }\n  );\n\n})();\n\u003c\/script\u003e\n\n\n\u003c!-- =========================================================\n     CLICKABLE REVIEWS\n     ========================================================= --\u003e\n\n\u003cscript\u003e\n(function(){\n\n  var reviews =\n    document.querySelectorAll(\n      '.bwc-page .bwc-review-mini'\n    );\n\n\n  function toggleReview(card){\n\n    var expanded =\n      card.classList.contains(\n        'expanded'\n      );\n\n    card.classList.toggle(\n      'expanded',\n      !expanded\n    );\n\n    card.setAttribute(\n      'aria-expanded',\n      String(!expanded)\n    );\n\n    var hint =\n      card.querySelector(\n        '.bwc-review-hint'\n      );\n\n    if(hint){\n\n      hint.textContent =\n        !expanded\n        ? 'Click To Collapse'\n        : 'Click To Expand';\n\n    }\n\n  }\n\n\n  reviews.forEach(\n    function(card){\n\n      card.addEventListener(\n        'click',\n        function(){\n\n          toggleReview(card);\n\n        }\n      );\n\n\n      card.addEventListener(\n        'keydown',\n        function(e){\n\n          if(\n            e.key === 'Enter' ||\n            e.key === ' '\n          ){\n\n            e.preventDefault();\n\n            toggleReview(card);\n\n          }\n\n        }\n      );\n\n    }\n  );\n\n})();\n\u003c\/script\u003e\n\n\n\u003c!-- =========================================================\n     IMAGE ZOOM\n     ========================================================= --\u003e\n\n\u003cscript\u003e\n(function(){\n\n  var modal =\n    document.querySelector(\n      '[data-bwc-image-modal]'\n    );\n\n  if(!modal){\n    return;\n  }\n\n  var modalImage =\n    modal.querySelector(\n      '[data-bwc-modal-image]'\n    );\n\n  var closeBtn =\n    modal.querySelector(\n      '[data-bwc-modal-close]'\n    );\n\n\n  function openModal(img){\n\n    if(!img){\n      return;\n    }\n\n    modalImage.src =\n      img.currentSrc ||\n      img.src;\n\n    modalImage.alt =\n      img.alt || '';\n\n    modal.classList.add(\n      'open'\n    );\n\n    modal.setAttribute(\n      'aria-hidden',\n      'false'\n    );\n\n    document.body.style.overflow =\n      'hidden';\n\n  }\n\n\n  function closeModal(){\n\n    modal.classList.remove(\n      'open'\n    );\n\n    modal.setAttribute(\n      'aria-hidden',\n      'true'\n    );\n\n    document.body.style.overflow =\n      '';\n\n    modalImage.src = '';\n\n  }\n\n\n  document\n    .querySelectorAll(\n      '.bwc-page [data-image-zoom]'\n    )\n    .forEach(\n      function(btn){\n\n        btn.addEventListener(\n          'click',\n          function(){\n\n            openModal(\n              btn.querySelector('img')\n            );\n\n          }\n        );\n\n      }\n    );\n\n\n  if(closeBtn){\n\n    closeBtn.addEventListener(\n      'click',\n      closeModal\n    );\n\n  }\n\n\n  modal.addEventListener(\n    'click',\n    function(e){\n\n      if(e.target === modal){\n\n        closeModal();\n\n      }\n\n    }\n  );\n\n\n  document.addEventListener(\n    'keydown',\n    function(e){\n\n      if(\n        e.key === 'Escape' \u0026\u0026\n        modal.classList.contains('open')\n      ){\n\n        closeModal();\n\n      }\n\n    }\n  );\n\n})();\n\u003c\/script\u003e\n\n\n\u003c!-- =========================================================\n     REVIEW JUMP + SHOPIFY ADD TO CART\n     ========================================================= --\u003e\n\n\u003cscript\u003e\n(function(){\n\n  var page =\n    document.querySelector(\n      '.bwc-page'\n    );\n\n  if(!page){\n    return;\n  }\n\n\n  \/* =========================================================\n     SCROLL TO REVIEWS\n     ========================================================= *\/\n\n  page.addEventListener(\n    'click',\n    function(e){\n\n      var reviewLink =\n        e.target.closest(\n          '[data-scroll-reviews]'\n        );\n\n      if(!reviewLink){\n        return;\n      }\n\n      e.preventDefault();\n\n      var reviews =\n        page.querySelector(\n          '#bwc-reviews'\n        );\n\n      if(!reviews){\n        return;\n      }\n\n      reviews.scrollIntoView({\n        behavior:'smooth',\n        block:'start'\n      });\n\n      window.setTimeout(\n        function(){\n\n          try{\n\n            reviews.focus({\n              preventScroll:true\n            });\n\n          }catch(err){\n\n            reviews.focus();\n\n          }\n\n        },\n        450\n      );\n\n    }\n  );\n\n\n  \/* =========================================================\n     EXCLUDED FORMS\n     ========================================================= *\/\n\n  var EXCLUDE_SELECTOR = [\n\n    '.bwc-page',\n\n    '[class*=\"related\"]',\n    '[id*=\"related\"]',\n\n    '[class*=\"recommend\"]',\n    '[id*=\"recommend\"]',\n\n    '[class*=\"upsell\"]',\n    '[id*=\"upsell\"]',\n\n    '[class*=\"cross-sell\"]',\n    '[id*=\"cross-sell\"]',\n\n    '[class*=\"also-like\"]',\n    '[id*=\"also-like\"]',\n\n    '[class*=\"complementary\"]',\n    '[id*=\"complementary\"]',\n\n    '[class*=\"bundle\"]',\n    '[id*=\"bundle\"]',\n\n    '[class*=\"quick-add\"]',\n    '[id*=\"quick-add\"]',\n\n    '[class*=\"quick-buy\"]',\n    '[id*=\"quick-buy\"]',\n\n    '[class*=\"product-card\"]',\n\n    '[class*=\"product-grid-item\"]',\n\n    '[class*=\"trending\"]',\n\n    '[class*=\"carousel-card\"]'\n\n  ].join(',');\n\n\n  function isExcluded(el){\n\n    return !!el.closest(\n      EXCLUDE_SELECTOR\n    );\n\n  }\n\n\n  function isVisible(el){\n\n    if(!el){\n      return false;\n    }\n\n    var style =\n      window.getComputedStyle(el);\n\n    var rect =\n      el.getBoundingClientRect();\n\n    return (\n      style.display !== 'none' \u0026\u0026\n      style.visibility !== 'hidden' \u0026\u0026\n      rect.width \u003e 0 \u0026\u0026\n      rect.height \u003e 0\n    );\n\n  }\n\n\n  \/* =========================================================\n     FIND PRODUCT FORM\n     ========================================================= *\/\n\n  function getProductForms(){\n\n    var selectors = [\n\n      'product-form form[action*=\"\/cart\/add\"]',\n\n      '.product-form form[action*=\"\/cart\/add\"]',\n\n      '[data-product-form] form[action*=\"\/cart\/add\"]',\n\n      'form[action*=\"\/cart\/add\"]'\n\n    ];\n\n    var seen = [];\n\n\n    selectors.forEach(\n      function(selector){\n\n        document\n          .querySelectorAll(selector)\n          .forEach(\n            function(form){\n\n              if(\n                seen.indexOf(form) === -1 \u0026\u0026\n                !isExcluded(form)\n              ){\n\n                seen.push(form);\n\n              }\n\n            }\n          );\n\n      }\n    );\n\n\n    return seen.sort(\n      function(a,b){\n\n        return (\n          Number(isVisible(b)) -\n          Number(isVisible(a))\n        );\n\n      }\n    );\n\n  }\n\n\n  \/* =========================================================\n     SELECTED VARIANT\n     ========================================================= *\/\n\n  function getSelectedVariantId(form){\n\n    if(!form){\n      return '';\n    }\n\n    var input =\n      form.querySelector(\n        '[name=\"id\"]'\n      );\n\n    if(\n      input \u0026\u0026\n      input.value\n    ){\n\n      return input.value;\n\n    }\n\n\n    var checked =\n      document.querySelector(\n        'input[name=\"id\"]:checked'\n      );\n\n    if(\n      checked \u0026\u0026\n      checked.value\n    ){\n\n      return checked.value;\n\n    }\n\n\n    var globalInput =\n      document.querySelector(\n        'select[name=\"id\"],input[name=\"id\"]'\n      );\n\n    return (\n      globalInput \u0026\u0026\n      globalInput.value\n    )\n      ? globalInput.value\n      : '';\n\n  }\n\n\n  \/* =========================================================\n     NATIVE ADD TO CART\n     ========================================================= *\/\n\n  function nativeAddToCart(form){\n\n    if(!form){\n      return false;\n    }\n\n    var submit =\n      form.querySelector(\n        'button[name=\"add\"],' +\n        'button[type=\"submit\"],' +\n        'input[name=\"add\"],' +\n        'input[type=\"submit\"]'\n      );\n\n    if(\n      !submit ||\n      submit.disabled\n    ){\n\n      return false;\n\n    }\n\n    submit.click();\n\n    return true;\n\n  }\n\n\n  \/* =========================================================\n     BUTTON STATE\n     ========================================================= *\/\n\n  function showButtonState(\n    btn,\n    text,\n    disabled\n  ){\n\n    btn.textContent =\n      text;\n\n    btn.disabled =\n      !!disabled;\n\n  }\n\n\n  \/* =========================================================\n     AJAX ADD\n     ========================================================= *\/\n\n  function directAjaxAdd(\n    form,\n    btn\n  ){\n\n    var id =\n      getSelectedVariantId(\n        form\n      );\n\n\n    if(!id){\n\n      alert(\n        'Please choose your product options first.'\n      );\n\n      return;\n\n    }\n\n\n    var payload =\n      new FormData();\n\n    payload.append(\n      'id',\n      id\n    );\n\n    payload.append(\n      'quantity',\n      '1'\n    );\n\n\n    var sellingPlan =\n      form\n      ? form.querySelector(\n          '[name=\"selling_plan\"]'\n        )\n      : null;\n\n\n    if(\n      sellingPlan \u0026\u0026\n      sellingPlan.value\n    ){\n\n      payload.append(\n        'selling_plan',\n        sellingPlan.value\n      );\n\n    }\n\n\n    var original =\n      btn.getAttribute(\n        'data-default-text'\n      ) ||\n      btn.textContent;\n\n\n    showButtonState(\n      btn,\n      'Adding…',\n      true\n    );\n\n\n    var cartUrl =\n      window.Shopify \u0026\u0026\n      Shopify.routes\n      ? Shopify.routes.root +\n        'cart\/add.js'\n      : '\/cart\/add.js';\n\n\n    fetch(\n      cartUrl,\n      {\n\n        method:'POST',\n\n        headers:{\n          'Accept':'application\/json'\n        },\n\n        body:payload\n\n      }\n    )\n\n    .then(\n      function(response){\n\n        if(!response.ok){\n\n          return response\n            .json()\n            .then(\n              function(data){\n\n                throw new Error(\n                  data.description ||\n                  'Unable to add this item.'\n                );\n\n              }\n            );\n\n        }\n\n        return response.json();\n\n      }\n    )\n\n    .then(\n      function(item){\n\n        showButtonState(\n          btn,\n          'Added To Cart ✓',\n          false\n        );\n\n        btn.classList.add(\n          'is-added'\n        );\n\n\n        document.dispatchEvent(\n          new CustomEvent(\n            'cart:refresh',\n            {\n              bubbles:true,\n              detail:{\n                item:item\n              }\n            }\n          )\n        );\n\n\n        document.dispatchEvent(\n          new CustomEvent(\n            'cart:updated',\n            {\n              bubbles:true,\n              detail:{\n                item:item\n              }\n            }\n          )\n        );\n\n\n        window.setTimeout(\n          function(){\n\n            window.location.href=\"\/de\/cart\";\n\n          },\n          500\n        );\n\n      }\n    )\n\n    .catch(\n      function(error){\n\n        alert(\n          error.message ||\n          'Unable to add this item. Please try again.'\n        );\n\n        showButtonState(\n          btn,\n          original,\n          false\n        );\n\n      }\n    );\n\n  }\n\n\n  \/* =========================================================\n     CTA CLICK\n     ========================================================= *\/\n\n  page.addEventListener(\n    'click',\n    function(e){\n\n      var btn =\n        e.target.closest(\n          '.bwc-add-to-cart'\n        );\n\n      if(!btn){\n        return;\n      }\n\n      e.preventDefault();\n\n\n      var forms =\n        getProductForms();\n\n      var form =\n        forms.length\n        ? forms[0]\n        : null;\n\n\n      if(!form){\n\n        alert(\n          'Please choose your product options above, then try again.'\n        );\n\n        return;\n\n      }\n\n\n      if(\n        !nativeAddToCart(form)\n      ){\n\n        directAjaxAdd(\n          form,\n          btn\n        );\n\n      }\n\n    }\n  );\n\n})();\n\u003c\/script\u003e","brand":"tjx","offers":[{"title":"Black","offer_id":43838658117722,"sku":"NC02292608134820-黑色（女包）现货速发","price":23.99,"currency_code":"USD","in_stock":true},{"title":"Brown","offer_id":43838658150490,"sku":"NC02292608134820-棕色（女包）现货速发","price":23.99,"currency_code":"USD","in_stock":true},{"title":"Green","offer_id":43838658183258,"sku":"NC02292608134820-绿色（女包）现货速发","price":23.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0731\/4633\/5322\/files\/ChatGPTImage2026_8_12_20_07_41_3.png?v=1786591603","url":"https:\/\/sthael.com\/de\/products\/vintage-boho-hobo-bag","provider":"Sthael","version":"1.0","type":"link"}