{"product_id":"✝️-✨-heavenly-radiance™-lighted-angel-wall-sculpture","title":"✝️ ✨ Heavenly Radiance™ Lighted Angel Wall Sculpture","description":"\u003c!-- Shopify product description: paste the complete block in HTML mode. --\u003e\n\u003cstyle\u003e\n  #hr-angel,\n  #hr-angel *,\n  #hr-angel *::before,\n  #hr-angel *::after {\n    box-sizing: border-box;\n  }\n\n  #hr-angel {\n    display: block;\n    position: relative;\n    isolation: isolate;\n    width: 100%;\n    max-width: 860px;\n    min-width: 0;\n    height: auto;\n    margin: 24px auto;\n    padding: 0;\n    color: #23394b;\n    background: #faf7f0;\n    border: 1px solid #d9d4c8;\n    font-family: Arial, Helvetica, sans-serif;\n    font-size: 17px;\n    line-height: 1.8;\n    text-align: left;\n    letter-spacing: normal;\n    white-space: normal;\n    overflow: visible;\n    overflow-wrap: anywhere;\n    container-type: inline-size;\n  }\n\n  #hr-angel :where(\n    header, section, footer, div,\n    figure, figcaption, details\n  ) {\n    display: block;\n    min-width: 0;\n    max-width: 100%;\n    height: auto;\n  }\n\n  #hr-angel h2,\n  #hr-angel h3,\n  #hr-angel p,\n  #hr-angel figure,\n  #hr-angel ul {\n    margin: 0;\n    padding: 0;\n  }\n\n  #hr-angel h2,\n  #hr-angel h3 {\n    color: #142d48;\n    font-family: Georgia, 'Times New Roman', serif;\n    font-weight: 400;\n    line-height: 1.2;\n    letter-spacing: -.025em;\n    text-transform: none;\n    white-space: normal;\n    text-shadow: none;\n  }\n\n  #hr-angel h2 {\n    font-size: 38px;\n    font-size: clamp(30px, 7cqi, 54px);\n  }\n\n  #hr-angel h3 {\n    font-size: 30px;\n    font-size: clamp(26px, 5.3cqi, 39px);\n  }\n\n  #hr-angel p {\n    color: inherit;\n    font-size: 17px;\n    line-height: 1.8;\n  }\n\n  #hr-angel .hr-pad {\n    padding: 34px 24px;\n    padding: clamp(28px, 5cqi, 46px);\n  }\n\n  #hr-angel .hr-dark {\n    background: #10243b;\n    color: #ffffff;\n  }\n\n  #hr-angel .hr-dark h2,\n  #hr-angel .hr-dark h3 {\n    color: #ffffff;\n  }\n\n  #hr-angel .hr-topline {\n    padding: 12px 16px;\n    background: #10243b;\n    color: #f0d9a2;\n    font-size: 11px;\n    font-weight: 700;\n    line-height: 1.6;\n    letter-spacing: .14em;\n    text-align: center;\n    border-bottom: 1px solid #405065;\n  }\n\n  #hr-angel .hr-hero {\n    text-align: center;\n    background:\n      radial-gradient(\n        circle at 14% 18%,\n        rgba(240,217,162,.13),\n        transparent 35%\n      ),\n      radial-gradient(\n        circle at 90% 85%,\n        rgba(105,149,185,.12),\n        transparent 36%\n      ),\n      #10243b;\n  }\n\n  #hr-angel .hr-cross {\n    display: block;\n    margin: 0 0 12px;\n    color: #f0d9a2;\n    font-family: Georgia, serif;\n    font-size: 32px;\n    line-height: 1.3;\n  }\n\n  #hr-angel .hr-kicker {\n    display: block;\n    margin-bottom: 13px;\n    color: #63502e;\n    font-size: 11px;\n    font-weight: 700;\n    line-height: 1.6;\n    letter-spacing: .15em;\n    text-transform: uppercase;\n  }\n\n  #hr-angel .hr-dark .hr-kicker {\n    color: #f0d9a2;\n  }\n\n  #hr-angel .hr-copy {\n    margin-top: 17px;\n    max-width: 62ch;\n  }\n\n  #hr-angel .hr-dark .hr-copy {\n    color: #e4eaf1;\n  }\n\n  #hr-angel .hr-center {\n    text-align: center;\n  }\n\n  #hr-angel .hr-center .hr-copy {\n    margin-right: auto;\n    margin-left: auto;\n  }\n\n  #hr-angel .hr-tags {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: center;\n    gap: 8px;\n    margin-top: 22px;\n  }\n\n  #hr-angel .hr-tags span {\n    max-width: 100%;\n    padding: 6px 11px;\n    color: #ffffff;\n    border: 1px solid #607085;\n    font-size: 12px;\n    line-height: 1.5;\n  }\n\n  #hr-angel .hr-button {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    max-width: 350px;\n    min-width: 0;\n    min-height: 54px;\n    margin: 25px auto 0;\n    padding: 14px 18px;\n    color: #10243b !important;\n    background: #f0d9a2;\n    border: 2px solid #f0d9a2;\n    border-radius: 4px;\n    font-family: Arial, Helvetica, sans-serif;\n    font-size: 16px;\n    font-weight: 700;\n    line-height: 1.5;\n    letter-spacing: normal;\n    text-align: center;\n    text-decoration: none !important;\n    white-space: normal;\n    box-shadow: none;\n    cursor: pointer;\n  }\n\n  #hr-angel .hr-button:hover {\n    background: #fff0ca;\n    border-color: #fff0ca;\n  }\n\n  #hr-angel .hr-button:focus-visible {\n    outline: 3px solid #ffffff;\n    outline-offset: 4px;\n  }\n\n  #hr-angel .hr-photo {\n    width: 100%;\n    margin-top: 24px;\n    background: #eae4d8;\n  }\n\n  #hr-angel .hr-hero-photo {\n    margin-top: 0;\n  }\n\n  #hr-angel .hr-photo img {\n    display: block !important;\n    position: static !important;\n    width: 100% !important;\n    max-width: 100% !important;\n    min-width: 0 !important;\n    height: auto !important;\n    max-height: none !important;\n    aspect-ratio: auto !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    border: 0 !important;\n    object-fit: contain !important;\n    box-shadow: none;\n  }\n\n  #hr-angel .hr-photo figcaption {\n    padding: 12px 16px;\n    color: #394c5d;\n    background: #f0ece3;\n    font-size: 13px;\n    line-height: 1.6;\n    text-align: center;\n  }\n\n  #hr-angel .hr-section {\n    border-top: 1px solid #d9d4c8;\n  }\n\n  #hr-angel .hr-white {\n    background: #ffffff;\n  }\n\n  #hr-angel .hr-style {\n    padding: 19px 0;\n    border-bottom: 1px solid #d9d4c8;\n  }\n\n  #hr-angel .hr-style strong {\n    display: block;\n    margin-bottom: 5px;\n    color: #142d48;\n    font-family: Georgia, serif;\n    font-size: 25px;\n    font-weight: 400;\n  }\n\n  #hr-angel .hr-style p {\n    font-size: 16px;\n  }\n\n  #hr-angel .hr-verse {\n    margin: 0;\n    padding: 28px 20px;\n    color: #ffffff;\n    background: #10243b;\n    text-align: center;\n    border-top: 1px solid #405065;\n    border-bottom: 1px solid #405065;\n  }\n\n  #hr-angel .hr-verse p {\n    font-family: Georgia, serif;\n    font-size: 25px;\n    line-height: 1.45;\n  }\n\n  #hr-angel .hr-verse span {\n    display: block;\n    margin-top: 9px;\n    color: #f0d9a2;\n    font-size: 11px;\n    line-height: 1.6;\n    letter-spacing: .13em;\n  }\n\n  #hr-angel .hr-faq {\n    margin-top: 21px;\n  }\n\n  #hr-angel .hr-faq details {\n    padding: 0;\n    border-top: 1px solid #d9d4c8;\n  }\n\n  #hr-angel .hr-faq summary {\n    display: list-item;\n    padding: 17px 0;\n    color: #142d48;\n    font-size: 16px;\n    font-weight: 700;\n    line-height: 1.6;\n    list-style: disclosure-closed inside;\n    cursor: pointer;\n  }\n\n  #hr-angel .hr-faq details[open] summary {\n    list-style-type: disclosure-open;\n  }\n\n  #hr-angel .hr-faq summary:focus-visible {\n    outline: 2px solid #142d48;\n    outline-offset: 2px;\n  }\n\n  #hr-angel .hr-faq details p {\n    padding: 0 0 19px;\n    font-size: 16px;\n  }\n\n  #price-template--21889986527387__main {\n    scroll-margin-top: 130px;\n  }\n\n  @media (max-width: 480px) {\n    #hr-angel {\n      margin: 16px auto;\n    }\n\n    #hr-angel .hr-pad {\n      padding: 28px 18px;\n    }\n\n    #hr-angel .hr-topline {\n      font-size: 10px;\n      letter-spacing: .08em;\n    }\n\n    #hr-angel .hr-tags {\n      gap: 7px;\n    }\n\n    #hr-angel .hr-tags span {\n      font-size: 11px;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv id=\"hr-angel\" lang=\"en\"\u003e\n\n  \u003cdiv class=\"hr-topline\"\u003e\n    HEAVENLY RADIANCE™\n      •  \n    A CHRISTMAS GIFT OF FAITH\n  \u003c\/div\u003e\n\n  \u003cheader class=\"hr-dark hr-hero hr-center hr-pad\"\u003e\n    \u003cspan class=\"hr-cross\" aria-hidden=\"true\"\u003e\n      ✝︎\n    \u003c\/span\u003e\n\n    \u003cspan class=\"hr-kicker\"\u003e\n      Lighted angel wall sculpture\n    \u003c\/span\u003e\n\n    \u003ch2\u003eLet faith shine\u003cbr\u003ethis Christmas.\u003c\/h2\u003e\n\n    \u003cp class=\"hr-copy\"\u003e\n      Celebrate the hope of Christmas with a radiant angel,\n      richly colored wings, and a warm golden glow.\n      A beautiful reminder of faith, peace, and love for your home.\n    \u003c\/p\u003e\n\n    \u003cdiv class=\"hr-tags\"\u003e\n      \u003cspan\u003eGolden illumination\u003c\/span\u003e\n      \u003cspan\u003eSculpted detail\u003c\/span\u003e\n      \u003cspan\u003eGabriel \u0026amp; Michael\u003c\/span\u003e\n    \u003c\/div\u003e\n\n    \u003ca class=\"hr-button\" href=\"#price-template--21889986527387__main\"\u003e\n      Choose Your Angel →\n    \u003c\/a\u003e\n  \u003c\/header\u003e\n\n  \u003cfigure class=\"hr-photo hr-hero-photo\"\u003e\n    \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/e8b4f038bf2b9f640f71991e90e31196.png?v=1792046314\u0026amp;width=960\u0026amp;format=pjpg\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/e8b4f038bf2b9f640f71991e90e31196.png?v=1792046314\u0026amp;width=480\u0026amp;format=pjpg 480w, https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/e8b4f038bf2b9f640f71991e90e31196.png?v=1792046314\u0026amp;width=960\u0026amp;format=pjpg 960w\" sizes=\"(max-width: 600px) calc(100vw - 48px), 860px\" width=\"960\" height=\"960\" loading=\"lazy\" decoding=\"async\" alt=\"Gabriel angel wall sculpture with colorful wings, a glowing halo, and flowing golden light\"\u003e\n\n    \u003cfigcaption\u003e\n      Gabriel — open arms, jewel-toned wings,\n      and a radiant silhouette.\n    \u003c\/figcaption\u003e\n  \u003c\/figure\u003e\n\n  \u003csection class=\"hr-section hr-pad\"\u003e\n    \u003cspan class=\"hr-kicker\"\u003e\n      01 \/ A place for faith\n    \u003c\/span\u003e\n\n    \u003ch3\u003eA gentle invitation\u003cbr\u003eto pause and pray.\u003c\/h3\u003e\n\n    \u003cp class=\"hr-copy\"\u003e\n      Create a quiet corner for prayer, gratitude, and reflection.\n      The angel's presence and warm light offer a visual reminder\n      to slow down and make room for what matters, especially\n      during the busy Christmas season.\n    \u003c\/p\u003e\n\n    \u003cfigure class=\"hr-photo\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/b3c6991ce7d671e4fb501d47ddd1fc2b.png?v=1792046314\u0026amp;width=960\u0026amp;format=pjpg\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/b3c6991ce7d671e4fb501d47ddd1fc2b.png?v=1792046314\u0026amp;width=480\u0026amp;format=pjpg 480w, https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/b3c6991ce7d671e4fb501d47ddd1fc2b.png?v=1792046314\u0026amp;width=960\u0026amp;format=pjpg 960w\" sizes=\"(max-width: 600px) calc(100vw - 84px), 780px\" width=\"960\" height=\"960\" loading=\"lazy\" decoding=\"async\" alt=\"A woman praying beside an illuminated Gabriel angel wall sculpture\"\u003e\n    \u003c\/figure\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"hr-section hr-white hr-pad\"\u003e\n    \u003cspan class=\"hr-kicker\"\u003e\n      02 \/ Beauty in every detail\n    \u003c\/span\u003e\n\n    \u003ch3\u003eRich color.\u003cbr\u003eGraceful dimension.\u003c\/h3\u003e\n\n    \u003cp class=\"hr-copy\"\u003e\n      Layered feathers, flowing robes, and a luminous halo give\n      the design its distinctive presence. Deep blues, vivid jewel\n      tones, and gold-colored accents create a striking focal point\n      that rewards a closer look.\n    \u003c\/p\u003e\n\n    \u003cfigure class=\"hr-photo\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/Gabriel_s_Radiant_Winged_Light.png?v=1792046315\u0026amp;width=960\u0026amp;format=pjpg\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/Gabriel_s_Radiant_Winged_Light.png?v=1792046315\u0026amp;width=480\u0026amp;format=pjpg 480w, https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/Gabriel_s_Radiant_Winged_Light.png?v=1792046315\u0026amp;width=960\u0026amp;format=pjpg 960w\" sizes=\"(max-width: 600px) calc(100vw - 84px), 780px\" width=\"960\" height=\"960\" loading=\"lazy\" decoding=\"async\" alt=\"Close-up of Gabriel's glowing halo and layered, richly colored feather details\"\u003e\n    \u003c\/figure\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"hr-section hr-pad\"\u003e\n    \u003cspan class=\"hr-kicker\"\u003e\n      03 \/ From daylight to evening\n    \u003c\/span\u003e\n\n    \u003ch3\u003eColor by day.\u003cbr\u003eA golden glow by night.\u003c\/h3\u003e\n\n    \u003cp class=\"hr-copy\"\u003e\n      Enjoy the sculpted shape and colorful details in daylight.\n      With the light on, the halo, wings, and flowing contours\n      take on a warm radiance—a lovely backdrop for\n      quiet evenings and Christmas gatherings.\n    \u003c\/p\u003e\n\n    \u003cfigure class=\"hr-photo\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/Gabriel_Angel_Wall_Light__Day_and_Night.png?v=1792046314\u0026amp;width=960\u0026amp;format=pjpg\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/Gabriel_Angel_Wall_Light__Day_and_Night.png?v=1792046314\u0026amp;width=480\u0026amp;format=pjpg 480w, https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/Gabriel_Angel_Wall_Light__Day_and_Night.png?v=1792046314\u0026amp;width=960\u0026amp;format=pjpg 960w\" sizes=\"(max-width: 600px) calc(100vw - 84px), 780px\" width=\"960\" height=\"960\" loading=\"lazy\" decoding=\"async\" alt=\"Side-by-side product image showing Gabriel with the light off in daylight and illuminated at night\"\u003e\n    \u003c\/figure\u003e\n  \u003c\/section\u003e\n\n  \u003cdiv class=\"hr-verse\"\u003e\n    \u003cp\u003eFaith. Hope. Love.\u003c\/p\u003e\n    \u003cspan\u003e\n      A MEANINGFUL PRESENCE IN THE PLACE YOU CALL HOME\n    \u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"hr-pad hr-white\"\u003e\n    \u003cspan class=\"hr-kicker\"\u003e\n      04 \/ Choose the design that speaks to you\n    \u003c\/span\u003e\n\n    \u003ch3\u003e\n      Gabriel or Michael.\u003cbr\u003e\n      A distinctive expression of faith.\n    \u003c\/h3\u003e\n\n    \u003cdiv class=\"hr-style\"\u003e\n      \u003cstrong\u003eGabriel\u003c\/strong\u003e\n      \u003cp\u003e\n        Open arms, flowing robes, and richly colored wings create\n        a graceful, welcoming silhouette. Shown in the images above.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cdiv class=\"hr-style\"\u003e\n      \u003cstrong\u003eMichael\u003c\/strong\u003e\n      \u003cp\u003e\n        A sword-bearing silhouette, vivid wings, and sculpted\n        details create a strong, poised presence. Shown below.\n      \u003c\/p\u003e\n    \u003c\/div\u003e\n\n    \u003cfigure class=\"hr-photo\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/f148016b9ee49b8c202dd7026e11df3d.png?v=1792046314\u0026amp;width=960\u0026amp;format=pjpg\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/f148016b9ee49b8c202dd7026e11df3d.png?v=1792046314\u0026amp;width=480\u0026amp;format=pjpg 480w, https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/f148016b9ee49b8c202dd7026e11df3d.png?v=1792046314\u0026amp;width=960\u0026amp;format=pjpg 960w\" sizes=\"(max-width: 600px) calc(100vw - 84px), 780px\" width=\"960\" height=\"960\" loading=\"lazy\" decoding=\"async\" alt=\"Michael angel wall sculpture holding a sword, surrounded by colorful wings and golden illumination\"\u003e\n\n      \u003cfigcaption\u003e\n        Michael — a bold silhouette with a warm,\n        luminous finish.\n      \u003c\/figcaption\u003e\n    \u003c\/figure\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"hr-section hr-pad\"\u003e\n    \u003cspan class=\"hr-kicker\"\u003e\n      05 \/ A Christmas gift with meaning\n    \u003c\/span\u003e\n\n    \u003ch3\u003eGive a reminder\u003cbr\u003eof what Christmas means.\u003c\/h3\u003e\n\n    \u003cp class=\"hr-copy\"\u003e\n      Celebrate the season's message of hope and the love of\n      Christ with a gift that reflects what someone holds dear.\n      For a parent, a friend, or someone who treasures their\n      faith, Heavenly Radiance brings beauty and meaning to\n      a familiar space.\n    \u003c\/p\u003e\n\n    \u003cp class=\"hr-copy\"\u003e\n      Display it alongside Christmas greenery and cherished\n      seasonal decorations, then continue enjoying its presence\n      through the year.\n    \u003c\/p\u003e\n\n    \u003cfigure class=\"hr-photo\"\u003e\n      \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/53283de600f5d66163f0fceac732a14c.png?v=1792046315\u0026amp;width=960\u0026amp;format=pjpg\" srcset=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/53283de600f5d66163f0fceac732a14c.png?v=1792046315\u0026amp;width=480\u0026amp;format=pjpg 480w, https:\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/53283de600f5d66163f0fceac732a14c.png?v=1792046315\u0026amp;width=960\u0026amp;format=pjpg 960w\" sizes=\"(max-width: 600px) calc(100vw - 84px), 780px\" width=\"960\" height=\"960\" loading=\"lazy\" decoding=\"async\" alt=\"Illuminated Michael angel displayed in a cozy Christmas living room with a decorated tree\"\u003e\n    \u003c\/figure\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"hr-section hr-white hr-pad\"\u003e\n    \u003cspan class=\"hr-kicker\"\u003e\n      A few thoughtful details\n    \u003c\/span\u003e\n\n    \u003ch3\u003eMake it part of your home.\u003c\/h3\u003e\n\n    \u003cdiv class=\"hr-faq\"\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eWhich angel designs are available?\u003c\/summary\u003e\n        \u003cp\u003e\n          Choose Gabriel for an open-arm silhouette and flowing\n          robes, or Michael for a sword-bearing design. Both\n          feature colorful wings and golden illumination.\n        \u003c\/p\u003e\n      \u003c\/details\u003e\n\n      \u003cdetails\u003e\n        \u003csummary\u003eIs this only a Christmas decoration?\u003c\/summary\u003e\n        \u003cp\u003e\n          It complements a faith-centered Christmas display and\n          can also be enjoyed year-round as angel wall décor\n          in a living room, entryway, or personal prayer corner.\n        \u003c\/p\u003e\n      \u003c\/details\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cfooter class=\"hr-dark hr-center hr-pad\"\u003e\n    \u003cspan class=\"hr-cross\" aria-hidden=\"true\"\u003e\n      ✝︎\n    \u003c\/span\u003e\n\n    \u003cspan class=\"hr-kicker\"\u003e\n      Heavenly Radiance™\n    \u003c\/span\u003e\n\n    \u003ch3\u003eA gift of beauty.\u003cbr\u003eA reminder of faith.\u003c\/h3\u003e\n\n    \u003cp class=\"hr-copy\"\u003e\n      Choose your angel and bring a warm expression of\n      Christmas hope into your home.\n    \u003c\/p\u003e\n\n    \u003ca class=\"hr-button\" href=\"#price-template--21889986527387__main\"\u003e\n      Choose Your Christmas Angel →\n    \u003c\/a\u003e\n  \u003c\/footer\u003e\n\n\u003c\/div\u003e\n\u003cscript\u003e\n(function () {\n  \"use strict\";\n\n  var BUTTON_TEXTS = [\n    \"CHOOSE YOUR ANGEL\",\n    \"CHOOSE YOUR CHRISTMAS ANGEL\"\n  ];\n\n  var RETRY_DELAY = 250;\n  var RETRY_LIMIT = 24;\n\n\n  \/* 判断元素是否可见 *\/\n  function isVisible(el) {\n    if (!el) return false;\n\n    var style = window.getComputedStyle(el);\n\n    if (\n      style.display === \"none\" ||\n      style.visibility === \"hidden\"\n    ) {\n      return false;\n    }\n\n    var rect = el.getBoundingClientRect();\n\n    return rect.width \u003e 0 \u0026\u0026 rect.height \u003e 0;\n  }\n\n\n  \/* 排除购物车、Sticky ATC、快速购买等区域 *\/\n  function isWrongArea(el) {\n    if (!el) return true;\n\n    return !!el.closest(\n      \".cart-drawer,\" +\n      \"#CartDrawer,\" +\n      \".drawer,\" +\n      \"[class*='cart-drawer'],\" +\n      \"[class*='sticky-atc'],\" +\n      \"[class*='sticky_atc'],\" +\n      \"[class*='sticky-cart'],\" +\n      \"[class*='sticky_cart'],\" +\n      \"[class*='quick-add'],\" +\n      \"[class*='quick_add']\"\n    );\n  }\n\n\n  \/* 找顶部商品标题 *\/\n  function findProductTitle() {\n    var selectors = [\n      \".product__title h1\",\n      \".product__title\",\n      \".product-info h1\",\n      \"main h1\",\n      \"h1\"\n    ];\n\n    for (var i = 0; i \u003c selectors.length; i++) {\n      var list = document.querySelectorAll(selectors[i]);\n\n      for (var j = 0; j \u003c list.length; j++) {\n        var el = list[j];\n\n        if (\n          el \u0026\u0026\n          isVisible(el) \u0026\u0026\n          !isWrongArea(el)\n        ) {\n          return el;\n        }\n      }\n    }\n\n    return null;\n  }\n\n\n  \/* 找顶部真实价格模块 *\/\n  function findMainPrice() {\n    var selectors = [\n      \".product__info-container .price\",\n      \".product__info-wrapper .price\",\n      \".product-info .price\",\n      \".product-info__price\",\n\n      \"[id^='price-template']\",\n      \"[id^='price-']\",\n      \"[id*='Price-']\",\n\n      \".price.price--large\",\n      \".product__price\",\n      \".product-price\",\n      \".price-wrapper\",\n      \".price__container\",\n      \".product .price\"\n    ];\n\n    var candidates = [];\n\n    for (var i = 0; i \u003c selectors.length; i++) {\n      var list = document.querySelectorAll(selectors[i]);\n\n      for (var j = 0; j \u003c list.length; j++) {\n        var el = list[j];\n\n        if (\n          !el ||\n          !isVisible(el) ||\n          isWrongArea(el)\n        ) {\n          continue;\n        }\n\n        var text = String(\n          el.innerText ||\n          el.textContent ||\n          \"\"\n        )\n        .replace(\/\\s+\/g, \" \")\n        .trim();\n\n        if (\n          text.indexOf(\"$\") === -1 \u0026\u0026\n          text.indexOf(\"USD\") === -1\n        ) {\n          continue;\n        }\n\n        if (candidates.indexOf(el) === -1) {\n          candidates.push(el);\n        }\n      }\n    }\n\n    if (!candidates.length) {\n      return null;\n    }\n\n\n    \/*\n      页面里有重复商品模块，\n      所以优先取最靠近顶部商品标题的价格\n    *\/\n    var title = findProductTitle();\n\n    if (title) {\n      var titleY =\n        title.getBoundingClientRect().top +\n        window.pageYOffset;\n\n      var best = null;\n      var bestDistance = Infinity;\n\n      for (var k = 0; k \u003c candidates.length; k++) {\n        var price = candidates[k];\n\n        var priceY =\n          price.getBoundingClientRect().top +\n          window.pageYOffset;\n\n        var distance = priceY - titleY;\n\n        if (\n          distance \u003e= 0 \u0026\u0026\n          distance \u003c bestDistance\n        ) {\n          best = price;\n          bestDistance = distance;\n        }\n      }\n\n      if (best) {\n        return best;\n      }\n    }\n\n\n    \/* 最后备用：页面最靠上的价格 *\/\n    candidates.sort(function (a, b) {\n      var ay =\n        a.getBoundingClientRect().top +\n        window.pageYOffset;\n\n      var by =\n        b.getBoundingClientRect().top +\n        window.pageYOffset;\n\n      return ay - by;\n    });\n\n    return candidates[0];\n  }\n\n\n  \/* 如果主题价格模块暂时没加载，备用定位 Bundle *\/\n  function findBundle() {\n    var nodes = document.querySelectorAll(\n      \"h1,h2,h3,h4,h5,h6,\" +\n      \"span,strong,b,p,label,legend\"\n    );\n\n    for (var i = 0; i \u003c nodes.length; i++) {\n      var node = nodes[i];\n\n      if (!node || !isVisible(node)) {\n        continue;\n      }\n\n      var text = String(\n        node.innerText ||\n        node.textContent ||\n        \"\"\n      )\n      .replace(\/\\s+\/g, \" \")\n      .trim()\n      .toUpperCase();\n\n      if (text === \"BUNDLE \u0026 SAVE\") {\n        return node;\n      }\n    }\n\n    return null;\n  }\n\n\n  \/* 价格和 Bundle 都没找到时，定位购买表单 *\/\n  function findProductForm() {\n    var selectors = [\n      \".product-form__buttons\",\n      \".product-form\",\n      \"form[action*='\/cart\/add']\",\n      \"button[name='add']\",\n      \".product-form__submit\"\n    ];\n\n    for (var i = 0; i \u003c selectors.length; i++) {\n      var list = document.querySelectorAll(selectors[i]);\n\n      for (var j = 0; j \u003c list.length; j++) {\n        var el = list[j];\n\n        if (\n          el \u0026\u0026\n          isVisible(el) \u0026\u0026\n          !isWrongArea(el)\n        ) {\n          return el;\n        }\n      }\n    }\n\n    return null;\n  }\n\n\n  function getTarget() {\n    return (\n      findMainPrice() ||\n      findBundle() ||\n      findProductForm()\n    );\n  }\n\n\n  \/* 识别固定导航栏高度 *\/\n  function getHeaderOffset() {\n    var offset = 25;\n\n    var selectors = [\n      \"sticky-header\",\n      \".shopify-section-header-sticky\",\n      \".header-wrapper\",\n      \"#shopify-section-header\",\n      \".site-header\",\n      \"header\"\n    ];\n\n    for (var i = 0; i \u003c selectors.length; i++) {\n      var header = document.querySelector(selectors[i]);\n\n      if (!header) continue;\n\n      var style = window.getComputedStyle(header);\n\n      if (\n        style.position === \"fixed\" ||\n        style.position === \"sticky\"\n      ) {\n        var height =\n          header.getBoundingClientRect().height;\n\n        if (height \u003e 0 \u0026\u0026 height \u003c 260) {\n          offset += height;\n          break;\n        }\n      }\n    }\n\n    return offset;\n  }\n\n\n  function scrollToTarget(target) {\n    if (!target) return;\n\n    var y =\n      target.getBoundingClientRect().top +\n      window.pageYOffset -\n      getHeaderOffset() -\n      25;\n\n    window.scrollTo({\n      top: Math.max(0, y),\n      behavior: \"smooth\"\n    });\n  }\n\n\n  \/* 判断是否为指定的两个按钮 *\/\n  function isTargetButton(button) {\n    if (!button) return false;\n\n    var text = String(\n      button.innerText ||\n      button.textContent ||\n      \"\"\n    )\n    .replace(\/\\s+\/g, \" \")\n    .trim()\n    .toUpperCase();\n\n    for (var i = 0; i \u003c BUTTON_TEXTS.length; i++) {\n      if (text.indexOf(BUTTON_TEXTS[i]) !== -1) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n\n  \/*\n    事件委托：\n    不修改按钮原HTML，不改变样式\n  *\/\n  document.addEventListener(\n    \"click\",\n    function (event) {\n\n      var button =\n        event.target.closest(\"a, button\");\n\n      if (\n        !button ||\n        !isTargetButton(button)\n      ) {\n        return;\n      }\n\n      event.preventDefault();\n      event.stopPropagation();\n\n      if (event.stopImmediatePropagation) {\n        event.stopImmediatePropagation();\n      }\n\n      var target = getTarget();\n\n      if (target) {\n        scrollToTarget(target);\n        return;\n      }\n\n\n      \/*\n        Shopify \/ Bundle App 有延迟加载时\n        自动等待最多约6秒\n      *\/\n      var attempts = 0;\n\n      var timer = setInterval(function () {\n        attempts++;\n\n        var retryTarget = getTarget();\n\n        if (retryTarget) {\n          clearInterval(timer);\n          scrollToTarget(retryTarget);\n          return;\n        }\n\n        if (attempts \u003e= RETRY_LIMIT) {\n          clearInterval(timer);\n        }\n\n      }, RETRY_DELAY);\n\n    },\n    true\n  );\n\n})();\n\u003c\/script\u003e","brand":"mysite","offers":[{"title":"Gabriel","offer_id":49823480971419,"sku":null,"price":39.99,"currency_code":"USD","in_stock":true},{"title":"Michael","offer_id":49823481004187,"sku":null,"price":39.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0766\/3249\/0139\/files\/e8b4f038bf2b9f640f71991e90e31196.png?v=1792046314","url":"https:\/\/zavrlygoods.com\/products\/%e2%9c%9d%ef%b8%8f-%e2%9c%a8-heavenly-radiance%e2%84%a2-lighted-angel-wall-sculpture","provider":"zavrlygoods","version":"1.0","type":"link"}