www.okaywear.com Open in urlscan Pro
104.18.232.42  Public Scan

Submitted URL: http://www.okaywear.com/products/formal-houndstooth-shawl-neck-chest-pocket-blazer
Effective URL: https://www.okaywear.com/products/formal-houndstooth-shawl-neck-chest-pocket-blazer
Submission: On May 11 via api from US — Scanned from DE

Form analysis 6 forms found in the DOM

GET /search

<form action="/search" method="get" class="">
  <div tabindex="-1" class="tw-flex tw-relative header__search">
    <input autocomplete="off" name="q" type="text"
      class="tw-w-full tw-flex-1 tw-h-10 tw-py-0 tw-pl-[14px] tw-pr-13 tw-bg-header-search tw-text-current tw-text-sm tw-leading-none tw-rounded-global  tw-border tw-border-solid tw-border-header  tw-placeholder-current header__search-input"
      placeholder="Search...">
    <button type="submit" class="tw-flex tw-items-center tw-px-[14px] tw-m-0 tw-bg-transparent tw-text-current tw-border-none tw-outline-none tw-cursor-pointer tw-h-full tw-absolute tw-right-0 header__search-icon" tabindex="-1"><svg class=""
        width="24" height="24" xmlns="http://www.w3.org/2000/svg">
        <path d="M11.16 1a9.16 9.16 0 1 1 0 18.322A9.16 9.16 0 0 1 11.16 1zm0 1.629a7.532 7.532 0 1 0 0 15.064 7.532 7.532 0 0 0 0-15.064zm5.465 14.148 1.152-1.152L23 20.848 21.848 22l-5.223-5.223z" fill="currentColor"></path>
      </svg></button>
    <button type="button" class="tw-hidden tw-justify-center tw-items-center tw-pr-2 tw-pl-6 tw-m-0 tw-bg-transparent tw-text-header-color tw-border-none tw-outline-none tw-cursor-pointer header__search-close "><svg class="" width="14" height="14"
        xmlns="http://www.w3.org/2000/svg">
        <path d="m3 3 8.485 8.485m0-8.485L3 11.485" stroke="currentColor" stroke-width="1.6" stroke-linecap="square"></path>
      </svg></button>
  </div>
</form>

<form class="product-info product-info-5e85d4c9-1db7-4545-afed-6d8a833a16a0">
  <style>
    .product-info__body>.product-info__block:first-child {
      margin-top: 0;
    }

    .product-info__body>.product-info__block:last-child {
      margin-bottom: 0;
    }

    @media (max-width: 959.98px) {
      [data-section-id="1539149753700"].card-spacing {
        padding-top: 0px;
      }
    }
  </style>
  <input type="hidden" name="product_id" value="5e85d4c9-1db7-4545-afed-6d8a833a16a0">
  <input type="hidden" name="variant_id" id="selected_variant_id_5e85d4c9-1db7-4545-afed-6d8a833a16a0" class="selected_variant_id_5e85d4c9-1db7-4545-afed-6d8a833a16a0" value="718abe57-5751-4244-9e37-f6b70e05619d">
  <div class="tw-relative product-info__body" data-sold-out="Sorry, the goods have been sold out." data-unavailable="This combination does not exist, please try other.">
    <div class="product-info__header  product-info__block tw-my-3">
      <h1 class="tw-mt-0 tw-mb-0 tw-title-sm type-title-font-family tw-break-words  product-title-transform product-info__header_title">Formal Houndstooth Shawl Neck Chest Pocket Blazer</h1>
    </div>
    <div class="product-info__block tw-my-2 lg:tw-my-3 tw-opacity-70 tw-body-minus-3  product-info__header-sku">SKU: <span>K621988881298460672</span></div>
    <div class="product-info__header_price-wrapper product-info__block tw-my-6">
      <div class="tw-body-plus-1 tw-leading-none tw-font-semibold">Price</div>
      <div class="tw-flex tw-justify-between tw-items-start tw-mt-3 lg:tw-mt-[10px]">
        <div class="tw-flex tw-flex-wrap">
          <del class="tw-text-compare-at-price-color tw-mr-3 tw-hidden product-info__header_compare-at-price money notranslate">$52.79</del>
          <div class="tw-text-price-color tw-mr-3 product-info__header_price money notranslate">$52.79</div>
          <div class="tw-flex  !tw-hidden   tw-items-center tw-text-save-color product-info__save"> Save&nbsp; <span class="product-info__header_save-amount money notranslate">$0.00</span>
          </div>
        </div>
      </div>
    </div>
    <div class="bootstrap">
      <div class="plugin__wrappers d-flex flex-column">
        <div class="app-coupon-label">
          <div class="app-coupon-label-title">
            <svg class="app-coupon-label-title-icon" xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22" fill="none">
              <path fill-rule="evenodd" clip-rule="evenodd" d="M16 5.5A1.5 1.5 0 0 0 17.5 4h3A1.5 1.5 0 0 1 22 5.5v12a1.5 1.5 0 0 1-1.5 1.5h-3a1.5 1.5 0 0 0-3 0h-13A1.5 1.5 0 0 1 0 17.5v-12A1.5 1.5 0 0 1 1.5 4h13A1.5 1.5 0 0 0 16 5.5z"
                fill="url(#paint0_linear_112_2448)"></path>
              <rect x="5" y="10.5" width="1.5" height="6" rx=".75" transform="rotate(-90 5 10.5)" fill="#FFF9F1"></rect>
              <rect x="5" y="14.5" width="1.5" height="6" rx=".75" transform="rotate(-90 5 14.5)" fill="#FFF9F1"></rect>
              <rect x="15" y="8.5" width="2" height="2" rx="1" fill="#FFF9F1"></rect>
              <rect x="15" y="12.5" width="2" height="2" rx="1" fill="#FFF9F1"></rect>
              <defs>
                <linearGradient id="paint0_linear_112_2448" y1="12.897" x2="22" y2="12.897" gradientUnits="userSpaceOnUse">
                  <stop stop-color="#F89F56"></stop>
                  <stop offset="1" stop-color="#F94138"></stop>
                </linearGradient>
              </defs>
            </svg>
            <div class="app-coupon-label-title-text">COUPON</div>
          </div>
          <div class="rightWrap">
            <div class="app-coupon-label-items">
              <div class="app-coupon-label-item" style="border-image: url(//img.fantaskycdn.com/oss/operation/28f67e75f0dd78f6e658aeaa4d41cc05_330x.svg) 6/6px/0 stretch"> 80% off </div>
              <div class="app-coupon-label-item" style="border-image: url(//img.fantaskycdn.com/oss/operation/28f67e75f0dd78f6e658aeaa4d41cc05_330x.svg) 6/6px/0 stretch"> 50% off </div>
              <div class="app-coupon-label-item" style="border-image: url(//img.fantaskycdn.com/oss/operation/28f67e75f0dd78f6e658aeaa4d41cc05_330x.svg) 6/6px/0 stretch"> 20% off </div>
            </div>
            <svg class="app-coupon-label-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">
              <path d="M13.212 9.574a.6.6 0 0 1 0 .848l-5.02 5.02a.3.3 0 0 1-.425 0l-.424-.423a.3.3 0 0 1 0-.425l4.596-4.596-4.596-4.596a.3.3 0 0 1 0-.424l.424-.425a.3.3 0 0 1 .424 0l5.021 5.02z" fill="#F97449"></path>
            </svg>
            <div class="app-coupon-modal" style="background: linear-gradient(90deg, #FFF8E7 0%, #FFE4A7 100%);">
              <div class="app-coupon-modal-body">
                <div class="app-coupon-modal-title" style="color: #f94539"> COUPON <div class="coupon_modal_close_icon">
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
                      <path fill-rule="evenodd" clip-rule="evenodd"
                        d="M24 12c0 6.627-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0s12 5.373 12 12zM7.415 7.354c.221-.221.58-.221.8 0l3.847 3.846 3.784-3.784a.566.566 0 1 1 .8.8L12.862 12l3.784 3.784a.566.566 0 0 1-.8.8L12.062 12.8l-3.847 3.847a.566.566 0 0 1-.8-.8L11.261 12 7.415 8.154a.566.566 0 0 1 0-.8z"
                        fill="#F97148"></path>
                    </svg>
                  </div>
                </div>
                <div class="app-coupon-modal-coupons">
                  <div class="coupon_plugin__coupon">
                    <div class="rules__line" style="background: linear-gradient(90deg, #F8A056, #F93E37)">
                      <div class="rules__first-line" style="color: #ffffff">
                        <span class="condition">Buy 4+ items</span> <span class="off">Get 1 at 80% off</span>
                        <div class="coupon_plugin__coupon-divider"></div>
                      </div>
                      <div class="rules__second-line align-items-center justify-content-center">
                        <button data-code="OKB80" data-id="1ef22d98-62d3-4819-b27a-e3a4e36e139f" class="code_btn  " type="button" data-activetype="buy_x_get_y" style="background: #FEE7CD; color: #F94339">
                          <span>Go for it</span>
                          <span class="notranslate"> OKB80 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
                              <path fill-rule="evenodd" clip-rule="evenodd" d="M6 2v.5H4.5v-1a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1V11h.5V2H6zM3 14V5h7v9H3zM1.5 4.5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-10z"
                                fill="currentColor"></path>
                            </svg>
                          </span>
                          <textarea class="coupon_code_value notranslate" style="position:absolute;left:-99999px;">OKB80</textarea>
                        </button>
                        <div class="coupon__copied notranslate" style="color: #ffffff">Copy code</div>
                      </div>
                    </div>
                    <svg class="app-coupon-triangle app-coupon-triangle-0" xmlns="http://www.w3.org/2000/svg" width="106" height="96" viewBox="0 0 106 96" fill="none">
                      <path d="M102.929 68.555c6.833 12.054-1.946 26.985-15.802 26.875l-68.312-.542C4.959 94.778-3.582 79.71 3.441 67.766l34.625-58.89C45.09-3.067 62.41-2.93 69.242 9.125l33.687 59.43z" fill="#fff" fill-opacity=".11"></path>
                    </svg>
                    <svg class="app-coupon-triangle app-coupon-triangle-1" xmlns="http://www.w3.org/2000/svg" width="106" height="96" viewBox="0 0 106 96" fill="none">
                      <path d="M102.929 68.555c6.833 12.054-1.946 26.985-15.802 26.875l-68.312-.542C4.959 94.778-3.582 79.71 3.441 67.766l34.625-58.89C45.09-3.067 62.41-2.93 69.242 9.125l33.687 59.43z" fill="#fff" fill-opacity=".11"></path>
                    </svg>
                    <svg class="app-coupon-triangle app-coupon-triangle-2" xmlns="http://www.w3.org/2000/svg" width="106" height="96" viewBox="0 0 106 96" fill="none">
                      <path d="M102.929 68.555c6.833 12.054-1.946 26.985-15.802 26.875l-68.312-.542C4.959 94.778-3.582 79.71 3.441 67.766l34.625-58.89C45.09-3.067 62.41-2.93 69.242 9.125l33.687 59.43z" fill="#fff" fill-opacity=".11"></path>
                    </svg>
                  </div>
                  <div class="coupon_plugin__coupon">
                    <div class="rules__line" style="background: linear-gradient(90deg, #F8A056, #F93E37)">
                      <div class="rules__first-line" style="color: #ffffff">
                        <span class="condition">Buy 3+ items</span> <span class="off">Get 1 at 50% off</span>
                        <div class="coupon_plugin__coupon-divider"></div>
                      </div>
                      <div class="rules__second-line align-items-center justify-content-center">
                        <button data-code="OKB50" data-id="9c59bf06-a377-42b8-a35d-68c9bd0e9cc7" class="code_btn  " type="button" data-activetype="buy_x_get_y" style="background: #FEE7CD; color: #F94339">
                          <span>Go for it</span>
                          <span class="notranslate"> OKB50 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
                              <path fill-rule="evenodd" clip-rule="evenodd" d="M6 2v.5H4.5v-1a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1V11h.5V2H6zM3 14V5h7v9H3zM1.5 4.5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-10z"
                                fill="currentColor"></path>
                            </svg>
                          </span>
                          <textarea class="coupon_code_value notranslate" style="position:absolute;left:-99999px;">OKB50</textarea>
                        </button>
                        <div class="coupon__copied notranslate" style="color: #ffffff">Copy code</div>
                      </div>
                    </div>
                    <svg class="app-coupon-triangle app-coupon-triangle-0" xmlns="http://www.w3.org/2000/svg" width="106" height="96" viewBox="0 0 106 96" fill="none">
                      <path d="M102.929 68.555c6.833 12.054-1.946 26.985-15.802 26.875l-68.312-.542C4.959 94.778-3.582 79.71 3.441 67.766l34.625-58.89C45.09-3.067 62.41-2.93 69.242 9.125l33.687 59.43z" fill="#fff" fill-opacity=".11"></path>
                    </svg>
                    <svg class="app-coupon-triangle app-coupon-triangle-1" xmlns="http://www.w3.org/2000/svg" width="106" height="96" viewBox="0 0 106 96" fill="none">
                      <path d="M102.929 68.555c6.833 12.054-1.946 26.985-15.802 26.875l-68.312-.542C4.959 94.778-3.582 79.71 3.441 67.766l34.625-58.89C45.09-3.067 62.41-2.93 69.242 9.125l33.687 59.43z" fill="#fff" fill-opacity=".11"></path>
                    </svg>
                    <svg class="app-coupon-triangle app-coupon-triangle-2" xmlns="http://www.w3.org/2000/svg" width="106" height="96" viewBox="0 0 106 96" fill="none">
                      <path d="M102.929 68.555c6.833 12.054-1.946 26.985-15.802 26.875l-68.312-.542C4.959 94.778-3.582 79.71 3.441 67.766l34.625-58.89C45.09-3.067 62.41-2.93 69.242 9.125l33.687 59.43z" fill="#fff" fill-opacity=".11"></path>
                    </svg>
                  </div>
                  <div class="coupon_plugin__coupon">
                    <div class="rules__line" style="background: linear-gradient(90deg, #F8A056, #F93E37)">
                      <div class="rules__first-line" style="color: #ffffff">
                        <span class="condition">Buy 2+ items</span> <span class="off">Get 1 at 20% off</span>
                        <div class="coupon_plugin__coupon-divider"></div>
                      </div>
                      <div class="rules__second-line align-items-center justify-content-center">
                        <button data-code="OKB20" data-id="17e02696-a433-4392-9190-cf0bd4dcde3d" class="code_btn  " type="button" data-activetype="buy_x_get_y" style="background: #FEE7CD; color: #F94339">
                          <span>Go for it</span>
                          <span class="notranslate"> OKB20 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
                              <path fill-rule="evenodd" clip-rule="evenodd" d="M6 2v.5H4.5v-1a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1V11h.5V2H6zM3 14V5h7v9H3zM1.5 4.5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-10z"
                                fill="currentColor"></path>
                            </svg>
                          </span>
                          <textarea class="coupon_code_value notranslate" style="position:absolute;left:-99999px;">OKB20</textarea>
                        </button>
                        <div class="coupon__copied notranslate" style="color: #ffffff">Copy code</div>
                      </div>
                    </div>
                    <svg class="app-coupon-triangle app-coupon-triangle-0" xmlns="http://www.w3.org/2000/svg" width="106" height="96" viewBox="0 0 106 96" fill="none">
                      <path d="M102.929 68.555c6.833 12.054-1.946 26.985-15.802 26.875l-68.312-.542C4.959 94.778-3.582 79.71 3.441 67.766l34.625-58.89C45.09-3.067 62.41-2.93 69.242 9.125l33.687 59.43z" fill="#fff" fill-opacity=".11"></path>
                    </svg>
                    <svg class="app-coupon-triangle app-coupon-triangle-1" xmlns="http://www.w3.org/2000/svg" width="106" height="96" viewBox="0 0 106 96" fill="none">
                      <path d="M102.929 68.555c6.833 12.054-1.946 26.985-15.802 26.875l-68.312-.542C4.959 94.778-3.582 79.71 3.441 67.766l34.625-58.89C45.09-3.067 62.41-2.93 69.242 9.125l33.687 59.43z" fill="#fff" fill-opacity=".11"></path>
                    </svg>
                    <svg class="app-coupon-triangle app-coupon-triangle-2" xmlns="http://www.w3.org/2000/svg" width="106" height="96" viewBox="0 0 106 96" fill="none">
                      <path d="M102.929 68.555c6.833 12.054-1.946 26.985-15.802 26.875l-68.312-.542C4.959 94.778-3.582 79.71 3.441 67.766l34.625-58.89C45.09-3.067 62.41-2.93 69.242 9.125l33.687 59.43z" fill="#fff" fill-opacity=".11"></path>
                    </svg>
                  </div>
                </div>
                <div class="app-coupon-modal-close-md">
                  <div class="coupon_modal_close_icon"> Close </div>
                </div>
              </div>
              <div class="app-coupon-modal-mask"></div>
            </div>
          </div>
        </div>
        <div class="plugin_modals position-relative plugin_modals-discount_gifts" id="Modal185646" style="order: 9">
          <style>
            #Modal185646 {
              --modal_background: linear-gradient(135deg, #ff4848, #ff0d7d);
              --modal_caret_background: #ff0d7d;
              --modal_title_color: #fff;
              --modal_close_color: #D30808;
              --modal_close_background_color: #FFE6D0;
              --list_border_color: #ddd;
            }

            @media (max-width: 767.98px) {
              #Modal185646 .coupon_plugin__coupon:last-child {
                padding-bottom: 0;
              }
            }

            #Modal185646 .modal-footer {
              position: relative;
              margin-top: -30px;
            }

            #Modal185646 .modal-footer::before {
              content: '';
              position: absolute;
              bottom: 0;
              left: 0;
              right: 0;
              height: 150%;
              background-image: url(//img.fantaskycdn.com/oss/operation/1eb91360306015b21548cd2f1747bc0e.svg);
              background-repeat: no-repeat;
              background-size: 100%;
              pointer-events: none;
            }

            @media (max-width: 767.98px) {
              #Modal185646 .discount-present-item:last-child {
                padding-bottom: 40px;
              }

              #Modal185646 .plugin_modals__wrapper-list>a:last-child {
                padding-bottom: 14px;
              }
            }
          </style>
          <!-- 弹窗 -->
          <div class="fade plugin_modals__modal" data-backdrop="false" role="dialog" id="target_Modal185646">
            <div class="plugin_modals__modal-mask" data-dismiss="modal" aria-label="Close"></div>
            <div class="modal-dialog m-0" role="document">
              <div class="modal-content">
                <div class="modal-header justify-content-center p-1">
                  <h5 class="modal-title p-1">GIFT OFFER</h5>
                  <i type="button" class="modal_close" data-dismiss="modal" aria-label="Close"><svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20"><defs><style></style></defs><path d="M512 1024C229.805 1024 0 794.195 0 512S229.805 0 512 0s512 229.805 512 512-229.805 512-512 512zm0-47.628C768 976.372 976.372 768 976.372 512S768 47.628 512 47.628 47.628 256 47.628 512 256 976.372 512 976.372z" fill="currentColor"></path><path d="M540.577 507.237l167.888 167.889c9.526 9.525 9.526 23.814 0 33.34s-23.814 9.525-33.34 0l-167.888-167.89-169.079 167.89c-9.525 9.525-23.814 9.525-33.34 0-9.525-9.526-9.525-23.815 0-33.34l167.889-167.889-167.888-169.079c-9.526-9.525-9.526-23.814 0-33.34 9.525-9.525 23.814-9.525 33.34 0l167.888 167.889 167.888-167.888c9.525-9.526 23.814-9.526 33.34 0 9.525 9.525 9.525 23.814 0 33.34L540.576 507.236z" fill="currentColor"></path></svg></i>
                </div>
                <div class="modal-body">
                  <div class="discount-present">
                    <div class="gift-offer-entry position-relative d-flex flex-row discount-present-item" data-id="17974ac2-89a8-4dd2-8de2-d2896aca2855">
                      <div class="activity-rules d-flex align-items-center" data-toggle="modal" data-target="#gift-offer-modal">
                        <!-- view the gift svg图标 -->
                        <img alt="plugin discount gift" class="lazyload" loading="lazy" src="//img.fantaskycdn.com/oss/operation/287876a2c3f514fadb32ecfa592ce1f7.png">
                        <div class="activity-rules-contennt"> View the <span class="gift_offer">GIFT OFFER</span>
                        </div>
                      </div>
                    </div>
                    <div class="discount-present-item position-relative d-flex flex-row">
                      <a href="/promotions/discount/17974ac2-89a8-4dd2-8de2-d2896aca2855" class="rules w-100">

  <div class="activity-rules-contennt">
    
      
      <li>Spend <span class="money notranslate">$199</span> to get <span>1</span> free gift(s)</li>
      
    
  </div>
</a>
                    </div>
                  </div>
                </div>
                <div class="modal-footer d-md-none">
                  <a type="button" class="footer_close" style="border-radius: 21px;" data-dismiss="modal">CLOSE</a>
                </div>
              </div>
            </div>
          </div>
          <!-- 入口 -->
          <div class="plugin_modals__list" data-toggle="modal" data-target="#target_Modal185646" impr="1" imprevt="1" imprsd="true">
            <div class="plugin_modals__list-name"><a href="/promotions/discount/17974ac2-89a8-4dd2-8de2-d2896aca2855" class="rules w-100">

    <i>
      <svg width="16" height="14" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.31421 2.57895C4.31421 2.03589 4.82263 1.47368 5.61842 1.47368C6.39063 1.47368 7.26158 2.11474 7.26158 3.19274V3.68421H6.63821C6.04505 3.68421 5.418 3.6761 4.93905 3.5C4.71653 3.41747 4.57211 3.31358 4.48148 3.19568C4.39674 3.08516 4.31421 2.90316 4.31421 2.57895ZM9.35863 3.68421H8.73526V3.19274C8.73526 2.11474 9.60547 1.47368 10.3784 1.47368C11.1742 1.47368 11.6826 2.03589 11.6826 2.57895C11.6826 2.90316 11.6001 3.08442 11.5154 3.19568C11.4247 3.31358 11.2803 3.41674 11.0578 3.49926C10.5788 3.6761 9.95252 3.68421 9.35863 3.68421ZM13.1563 2.57895C13.1563 2.9901 13.0804 3.36 12.9308 3.68421H14.2616C14.5547 3.68421 14.8358 3.80066 15.0431 4.00793C15.2504 4.21521 15.3668 4.49634 15.3668 4.78947V6.63158H0.630005V4.78947C0.630005 4.49634 0.746452 4.21521 0.953729 4.00793C1.16101 3.80066 1.44213 3.68421 1.73527 3.68421H3.066C2.91128 3.3366 2.83434 2.95939 2.84053 2.57895C2.84053 1.08316 4.15432 0 5.61842 0C6.47684 0 7.38537 0.402317 7.99842 1.12663C8.61147 0.402317 9.52 0 10.3784 0C11.8433 0 13.1563 1.08316 13.1563 2.57895ZM7.26158 14V8.10526H1.36685V12.8947C1.36685 13.5063 1.86053 14 2.47211 14H7.26158ZM8.73526 14V8.10526H14.63V12.8947C14.63 13.5063 14.1363 14 13.5247 14H8.73526Z" fill="#EB391B"></path>
</svg>

    </i>
  
  <div class="activity-rules-contennt">
    
      
      <li>Spend <span class="money notranslate">$199</span> to get <span>1</span> free gift(s)</li>
      
    
  </div>
</a></div>
            <div class="plugin_modals__list-labels text-right"></div>
            <i class="plugin_modals__list-icon">
        <svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="18" height="18"><defs><style></style></defs><path d="M636.48 512.32l-366.4 366.4a48 48 0 0067.84 67.872l384.672-384.64a48 48 0 0011.456-49.6 48 48 0 00-11.456-49.6L337.952 78.016a48 48 0 00-67.904 67.904l366.4 366.4z"></path></svg>
      </i>
          </div>
        </div>
      </div>
    </div>
    <div class="product-info__block tw-my-6 tw-relative tw-block tw-w-full tw-rounded-global" style="padding-bottom:24.414%;">
      <img class="tw-absolute tw-inset-0 tw-m-auto tw-w-full tw-h-full tw-object-cover tw-rounded-global lazyautosizes lazyloaded"
        src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABlBMVEXx8fH///8wmV1OAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAACklEQVQImWNgAAAAAgAB9HFkpgAAAABJRU5ErkJggg==" data-sizes="auto" alt=" "
        data-srcset="//img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 48w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 180w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 540w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 720w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 900w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1024w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1280w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1366w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1440w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1536w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1600w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1920w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 2056w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 2560w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 2732w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 2880w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 3072w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 3200w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 3840w"
        sizes="616px"
        srcset="//img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 48w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 180w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 540w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 720w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 900w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1024w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1280w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1366w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1440w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1536w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1600w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 1920w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 2056w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 2560w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 2732w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 2880w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 3072w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 3200w, //img.fantaskycdn.com/b77c9b970f93616ce5784cf0a69fd77b_720x.jpg 3840w">
    </div>
    <div class="tw-space-y-6  product-info__variants product-info__block tw-my-6" data-soldout="Sold out">
      <div class="product-info__variants-wrapper   product-info__variants_thumbnail  slider-switch product-info__variants_items !tw--mb-4" data-selected-variant="false">
        <div class="tw-body-plus-1 tw-font-semibold tw-capitalize product-info__variants_title" data-keyword="color&nbsp;—&nbsp;black"> Color<span class="variant_color-label-wrapper ">&nbsp;—&nbsp;<span
              class="tw-font-normal variant_color-label">Black</span></span>
        </div>
        <div class="tw-mt-[10px] tw-flex tw-flex-wrap product-info__variants_value-wrapper">
          <div class="product-info__variants_value product-info__variants-btn-wrapper tw-relative tw-flex tw-items-center tw-mb-3 tw-pr-3 tw-break-words notranslate">
            <input type="radio" class="tw-hidden product-info__variants_radio" name="option1-5e85d4c9-1db7-4545-afed-6d8a833a16a0" id="option1-0-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" value="Black" checked="">
            <label optvalue="Black" data-bgset="//img.fantaskycdn.com/653e688f53cb3405e634ea98825a872c_180.jpeg"
              style="width: 40px; height: 40px; background-image: url(&quot;https://img.fantaskycdn.com/653e688f53cb3405e634ea98825a872c_180.jpeg&quot;);" for="option1-0-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" data-variants-value="Black"
              class="tw-inset-0 tw-bg-no-repeat tw-bg-cover tw-bg-center tw-cursor-pointer  tw-rounded-[1px]   product-info__thumbnail lazyloaded" data-options-order="0" data-click="select" data-track="switch_variants" data-type="image">
              <picture style="display: none;">
                <source data-srcset="//img.fantaskycdn.com/653e688f53cb3405e634ea98825a872c_180.jpeg" sizes="40px" srcset="//img.fantaskycdn.com/653e688f53cb3405e634ea98825a872c_180.jpeg"><img alt="" class="lazyautosizes lazyloaded" data-sizes="auto"
                  data-parent-fit="cover" sizes="40px">
              </picture>
            </label>
          </div>
        </div>
        <div class="product-info__variant-tips tw-mt-[-6px] tw-pb-[15px] tw-text-[15px] tw-leading-none tw-text-[#F0672C] tw-font-bold tw-hidden">Please select a color</div>
      </div>
      <div class="product-info__variants-wrapper   slider-switch product-info__variants_items !tw--mb-4" data-selected-variant="false">
        <div class="tw-body-plus-1 tw-font-semibold tw-capitalize product-info__variants_title" data-keyword="size" style="overflow: hidden;">
          <a onclick="openSizeModal()" class="size_guide_btn  " data-toggle="modal" data-target="#size_guide_modal" data-product_id="5e85d4c9-1db7-4545-afed-6d8a833a16a0" href="javascript:void"><img src="https://static.staticdj.com/oss/operation/ab4f520a75bf23c2b60ce852095f3308.png" alt="size guide"> Size Guide </a>
          <script>
            function openSizeModal() {
              document.documentElement.style.overflow = 'hidden'
            }
          </script> Size
        </div>
        <div class="tw-mt-[10px] tw-flex tw-flex-wrap product-info__variants_value-wrapper">
          <div class="product-info__variants_value product-info__variants-btn-wrapper tw-relative tw-flex tw-items-center tw-mb-[14px] tw-pr-3 tw-break-words notranslate">
            <input type="radio" class="tw-hidden product-info__variants_radio" name="option2-5e85d4c9-1db7-4545-afed-6d8a833a16a0" id="option2-0-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" value="S" checked="">
            <label for="option2-0-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" class="tw-flex tw-items-center tw-justify-center tw-min-w-[42px] tw-h-[42px] lg:tw-h-10 tw-px-4 tw-cursor-pointer tw-rounded-[1px] product-info__label"
              data-variants-value="S" data-options-order="0" data-click="select" data-track="switch_variants"> S </label>
          </div>
          <div class="product-info__variants_value product-info__variants-btn-wrapper tw-relative tw-flex tw-items-center tw-mb-[14px] tw-pr-3 tw-break-words notranslate">
            <input type="radio" class="tw-hidden product-info__variants_radio" name="option2-5e85d4c9-1db7-4545-afed-6d8a833a16a0" id="option2-1-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" value="M">
            <label for="option2-1-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" class="tw-flex tw-items-center tw-justify-center tw-min-w-[42px] tw-h-[42px] lg:tw-h-10 tw-px-4 tw-cursor-pointer tw-rounded-[1px] product-info__label"
              data-variants-value="M" data-options-order="1" data-click="select" data-track="switch_variants"> M </label>
          </div>
          <div class="product-info__variants_value product-info__variants-btn-wrapper tw-relative tw-flex tw-items-center tw-mb-[14px] tw-pr-3 tw-break-words notranslate">
            <input type="radio" class="tw-hidden product-info__variants_radio" name="option2-5e85d4c9-1db7-4545-afed-6d8a833a16a0" id="option2-2-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" value="L">
            <label for="option2-2-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" class="tw-flex tw-items-center tw-justify-center tw-min-w-[42px] tw-h-[42px] lg:tw-h-10 tw-px-4 tw-cursor-pointer tw-rounded-[1px] product-info__label"
              data-variants-value="L" data-options-order="2" data-click="select" data-track="switch_variants"> L </label>
          </div>
          <div class="product-info__variants_value product-info__variants-btn-wrapper tw-relative tw-flex tw-items-center tw-mb-[14px] tw-pr-3 tw-break-words notranslate">
            <input type="radio" class="tw-hidden product-info__variants_radio" name="option2-5e85d4c9-1db7-4545-afed-6d8a833a16a0" id="option2-3-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" value="XL">
            <label for="option2-3-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" class="tw-flex tw-items-center tw-justify-center tw-min-w-[42px] tw-h-[42px] lg:tw-h-10 tw-px-4 tw-cursor-pointer tw-rounded-[1px] product-info__label"
              data-variants-value="XL" data-options-order="3" data-click="select" data-track="switch_variants"> XL </label>
          </div>
          <div class="product-info__variants_value product-info__variants-btn-wrapper tw-relative tw-flex tw-items-center tw-mb-[14px] tw-pr-3 tw-break-words notranslate">
            <input type="radio" class="tw-hidden product-info__variants_radio" name="option2-5e85d4c9-1db7-4545-afed-6d8a833a16a0" id="option2-4-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" value="2XL">
            <label for="option2-4-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" class="tw-flex tw-items-center tw-justify-center tw-min-w-[42px] tw-h-[42px] lg:tw-h-10 tw-px-4 tw-cursor-pointer tw-rounded-[1px] product-info__label"
              data-variants-value="2XL" data-options-order="4" data-click="select" data-track="switch_variants"> 2XL </label>
          </div>
          <div class="product-info__variants_value product-info__variants-btn-wrapper tw-relative tw-flex tw-items-center tw-mb-[14px] tw-pr-3 tw-break-words notranslate">
            <input type="radio" class="tw-hidden product-info__variants_radio" name="option2-5e85d4c9-1db7-4545-afed-6d8a833a16a0" id="option2-5-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" value="3XL">
            <label for="option2-5-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" class="tw-flex tw-items-center tw-justify-center tw-min-w-[42px] tw-h-[42px] lg:tw-h-10 tw-px-4 tw-cursor-pointer tw-rounded-[1px] product-info__label"
              data-variants-value="3XL" data-options-order="5" data-click="select" data-track="switch_variants"> 3XL </label>
          </div>
          <div class="product-info__variants_value product-info__variants-btn-wrapper tw-relative tw-flex tw-items-center tw-mb-[14px] tw-pr-3 tw-break-words notranslate">
            <input type="radio" class="tw-hidden product-info__variants_radio" name="option2-5e85d4c9-1db7-4545-afed-6d8a833a16a0" id="option2-6-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" value="4XL">
            <label for="option2-6-5e85d4c9-1db7-4545-afed-6d8a833a16a0-1539149753700" class="tw-flex tw-items-center tw-justify-center tw-min-w-[42px] tw-h-[42px] lg:tw-h-10 tw-px-4 tw-cursor-pointer tw-rounded-[1px] product-info__label"
              data-variants-value="4XL" data-options-order="6" data-click="select" data-track="switch_variants"> 4XL </label>
          </div>
        </div>
        <div class="product-info__variant-tips tw-mt-[-6px] tw-pb-[15px] tw-text-[15px] tw-leading-none tw-text-[#F0672C] tw-font-bold tw-hidden">Please select a size</div>
      </div>
    </div>
    <div class="product-info__block tw-my-6 product-info__qty_container">
      <div class="tw-body-plus-1 tw-font-semibold">Quantity</div>
      <div class="product-info__qty tw-flex tw-w-[114px] tw-mt-2 tw-relative tw-justify-between tw-border-solid tw-border tw-border-line tw-rounded-global notranslate">
        <button type="button" data-click="decrease" disabled="disabled"
          class="tw-relative tw-bg-transparent tw-border-none tw-z-10 tw-box-border tw-no-underline tw-flex tw-flex-shrink-0 tw-text-body-color tw-items-center tw-justify-center tw-w-[38px] tw-h-[38px] tw-text-center tw-text-[#d8d8d8] lg:hover:tw-bg-[#f2f2f2] tw-rounded-global tw-rounded-r-none disabled:tw-cursor-default disabled:tw-bg-[#f9f9f9]"><svg
            class="tw-text-[#888888]" width="13" height="13" xmlns="http://www.w3.org/2000/svg">
            <path d="M1 6h11v1H1z" fill-rule="evenodd" fill="currentColor"></path>
          </svg></button>
        <input class="product-info__qty_num tw-absolute tw-box-border tw-px-9 tw-h-[38px] tw-w-full tw-text-base tw-flex-grow tw-bg-transparent tw-text-body-color tw-border-none tw-text-center tw-outline-none tw-p-0 tw-appearance-none"
          id="product_quantity_5e85d4c9-1db7-4545-afed-6d8a833a16a0" name="quantity" type="text" value="1">
        <button type="button" data-click="increase"
          class="tw-relative tw-bg-transparent tw-border-none tw-z-10 tw-box-border tw-no-underline tw-flex-shrink-0 tw-text-body-color tw-flex tw-items-center tw-justify-center tw-w-[38px] tw-h-[38px] tw-text-center tw-text-[#d8d8d8] lg:hover:tw-bg-[#f2f2f2] tw-rounded-global tw-rounded-l-none disabled:tw-cursor-default disabled:tw-bg-[#f9f9f9]"><svg
            class="tw-text-[#888888]" width="13" height="13" xmlns="http://www.w3.org/2000/svg">
            <path d="M7 1v5h5v1H7v5H6V7H1V6h5V1h1z" fill="currentColor"></path>
          </svg></button>
      </div>
    </div>
    <div class="product-info__btn product-info__block tw-flex tw-flex-col tw-mt-6 tw-space-y-[10px]">
      <div data-wishlist="product-cart-love" class="p-flex p-justify-content p-items-center product-detail-love-cart"><button type="button"
          class="tw-relative tw-mx-0 tw-h-[54px] tw-body-plus-2 tw-font-semibold tw-cursor-pointer tw-rounded-btn tw-secondary-btn product-info__add-to-cart p-flex-1" data-click="addToCart" data-on-sale="Add to cart" data-adding="Adding"
          data-added="Added" data-unavailable="Unavailable" data-sold-out="Sold out" data-btn-class=" tw-secondary-btn " data-track="click" data-track-content="add_to_cart" data-track-source="add_to_cart"> Add to cart - <span
            class="money notranslate">$52.79</span>
        </button>
        <div class="wishlist-add-to-cart-love-icon p-flex p-cursor-pointer p-justify-center p-items-center p-rounded-full p-ml-[16px] p-min-w-[52px] p-w-[52px] p-h-[52px]" data-wishlist="product-love" style="background: rgb(245, 245, 245);">
          <span class=" p-w-[26px] p-h-[26px] p-flex p-justify-center p-items-center detail-love-icon">
            <svg width="24" height="23" fill="transparent" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
              <path
                d="M21.3965 12.7653L12 22L2.60345 12.7653C1.51072 11.517 0.939777 9.91013 1.00504 8.26674C1.07029 6.62334 1.76693 5.06481 2.95535 3.90346C4.14377 2.74211 5.73618 2.06373 7.41347 2.00427C9.09077 1.9448 10.729 2.50864 12 3.5828C13.271 2.50864 14.9092 1.9448 16.5865 2.00427C18.2638 2.06373 19.8562 2.74211 21.0446 3.90346C22.2331 5.06481 22.9297 6.62334 22.995 8.26674C23.0602 9.91013 22.4893 11.517 21.3965 12.7653Z"
                stroke="currentColor" stroke-width="1.7"></path>
            </svg>
          </span>
        </div>
      </div><button type="button" class="tw-h-[54px] tw-mx-0  tw-primary-btn  tw-border-none tw-body-plus-2 tw-font-semibold tw-rounded-btn    product-info__buy-now" data-click="submit" data-track="click" data-track-content="checkout"
        data-track-source="buy_now"> Buy it now </button>
      <div class="product-info__tips empty:tw-hidden tw-mt-3 tw-text-center tw-font-medium tw-text-sm tw-opacity-70 lg:tw-text-[17px] lg:tw-leading-6" data-unavailable="Product is unavailable." data-out-of-stock="Product was out of stock."></div>
    </div>
    <style>
      @keyframes free__shipping-progress-bar-stripes {
        0% {
          background-position-x: -16px;
        }
      }

      @keyframes free__shipping-progress-bar-stripes-rtl {
        0% {
          background-position-x: 16px;
        }
      }

      [data-section-id="1539149753700"] .free__shipping-progress-bar {
        background: linear-gradient(to right, rgba(0, 0, 0, 1), rgba(77, 123, 234, 1));
        transition: width 1.2s ease;
      }

      [data-section-id="1539149753700"] .free__shipping-progress-bar-striped::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-image: linear-gradient(135deg,
            rgba(255, 255, 255, .1) 25%,
            transparent 25%,
            transparent 50%,
            rgba(255, 255, 255, .1) 50%,
            rgba(255, 255, 255, .1) 75%,
            transparent 75%,
            transparent);
        background-size: 16px 16px;
        animation: 1s linear infinite free__shipping-progress-bar-stripes;
      }

      [data-section-id="1539149753700"] .free__shipping-text {
        text-shadow: 0 1px 1px rgba(46, 22, 4, 0.25);
      }

      html[dir="rtl"] [data-section-id="1539149753700"] .free__shipping-progress-bar {
        left: initial;
        right: 0;
        background: linear-gradient(to left, rgba(0, 0, 0, 1), rgba(77, 123, 234, 1));
      }

      html[dir="rtl"] [data-section-id="1539149753700"] .free__shipping-progress-bar-striped::before {
        background-image: linear-gradient(45deg,
            rgba(255, 255, 255, .1) 25%,
            transparent 25%,
            transparent 50%,
            rgba(255, 255, 255, .1) 50%,
            rgba(255, 255, 255, .1) 75%,
            transparent 75%,
            transparent);
        animation-name: free__shipping-progress-bar-stripes-rtl;
      }
    </style>
    <div class="product-info__free-shipping tw-relative tw-min-h-[30px] tw-mt-6 tw-text-white tw-bg-[#403934] tw-bg-opacity-[96] tw-rounded-sm tw-overflow-hidden">
      <div class="free__shipping-progress-bar free__shipping-progress-bar-striped tw-absolute tw-top-0 tw-left-0 tw-h-full tw-w-0" style="width: 0%;"></div>
      <div class="tw-box-border tw-flex tw-items-center tw-justify-center tw-px-6 tw-py-1 tw-relative tw-z-10">
        <svg class="tw-flex-shrink-0" width="24" height="24" xmlns="http://www.w3.org/2000/svg">
          <path fill-rule="evenodd" clip-rule="evenodd"
            d="M14.698 7.522V5.631A.633.633 0 0 0 14.063 5H2.635A.633.633 0 0 0 2 5.63v10.721c0 .349.284.63.635.63H4.59A2.536 2.536 0 0 0 7.08 19a2.536 2.536 0 0 0 2.488-2.018h5.816A2.536 2.536 0 0 0 17.873 19a2.536 2.536 0 0 0 2.489-2.018h1.003c.35 0 .635-.282.635-.63v-3.62a.628.628 0 0 0-.081-.308l-2.594-4.58a.636.636 0 0 0-.553-.322h-4.074zm-.952-1.26a.316.316 0 0 0-.317-.316H3.269a.316.316 0 0 0-.317.315v9.46c0 .174.143.315.318.315h1.308a2.536 2.536 0 0 1 2.501-2.081c1.251 0 2.291.898 2.501 2.08h4.166V6.262zm.952 2.206v7.568h.674l-.004.026a2.535 2.535 0 0 1 2.505-2.107c1.251 0 2.29.898 2.5 2.081h.357a.316.316 0 0 0 .318-.315v-2.744h-3.27a.316.316 0 0 1-.318-.315V9.95c0-.174.142-.315.318-.315h1.469l-.661-1.167h-3.888zm-6.031 8.01c0 .87-.711 1.576-1.588 1.576a1.582 1.582 0 0 1-1.587-1.576c0-.871.71-1.577 1.587-1.577s1.588.706 1.588 1.576zm9.206 1.576c.877 0 1.587-.706 1.587-1.576 0-.871-.71-1.577-1.587-1.577s-1.587.706-1.587 1.576c0 .871.71 1.577 1.587 1.577zm.413-7.399c0-.11.09-.2.2-.2h1.225l.964 1.703h-2.19a.2.2 0 0 1-.2-.2v-1.303z"
            fill="currentColor"></path>
        </svg>
        <span class="free__shipping-text tw-ml-2 tw-text-xs tw-leading-5 tw-font-bold">Buy <span class="money notranslate">$89.00</span> more to enjoy FREE Shipping</span>
      </div>
    </div>
    <div class="bundle-combination-container">
      <div class="common__product-row">
        <bundle-product-list data-version="0112 15:08" class="bundle-main" style-type="fashionHorizontal" is-quick-shop="true" pid="5e85d4c9-1db7-4545-afed-6d8a833a16a0" title-text="Frequently Bought Together " title-color="#000000"
          btn-bg-color="#EE7C30" btn-text-color="#ffffff" impr="1" imprevt="1" imprsd="true" style="cursor: wait; pointer-events: none;"></bundle-product-list>
      </div>
    </div>
    <style>
      .bundle-combination-container {
        --color_price: #CD201A;
        --color_title: #000000;
        --color_btn_bg: #EE7C30;
        --color_btn_color: #ffffff;
        --color_origin_price: #BEBEBE;
      }

      .app-container {
        padding: var(--general-layout-spacing, var(--page-spacing, 40px));
        max-width: var(--general-layout-width, var(--layout-width, var(--page-width, 1140px)));
        margin: 0 auto;
      }
    </style>
    <script id="apps_bundle-1539149753700">
      try {
        (() => {
          const productInfo = document.querySelector('.product-info');
          const productInfoBody = document.querySelector('.product-info-body');
          const curProductInfo = productInfo || productInfoBody;
          const productInfoIn = !document.querySelector('div[data-section-type*="//apps/appbundle/blocks/bundle-combination/"] bundle-product-list');
          // 仅针对 Hero 做处理 ,debug APPS-2880
          if (window.C_SETTINGS.theme.merchant_theme_name === 'Hero' && productInfoIn) {
            const $target = curProductInfo?.parentElement;
            if ($target) {
              const $targetZIndex = window.getComputedStyle($target)['zIndex'];
              let newIndex = $targetZIndex === ' auto' ? 1 : parseInt($targetZIndex) + 1;
              $target.style.zIndex = newIndex;
            }
          }
          // Flash主题的遮挡问题,低于20,被兄弟节点图片覆盖,超过100,盖住了底部满减优惠,超过1000盖住了顶部吸附,只能取20-100之间
          if (curProductInfo && window?.C_SETTINGS?.theme.merchant_theme_name === "Flash") {
            curProductInfo.style.zIndex = 20;
          }
          try {
            ! function(t) {
              "function" == typeof define && define.amd ? define(t) : t()
            }((function() {
              "use strict";

              function t(t, e, i, o) {
                var n, s = arguments.length,
                  r = s < 3 ? e : null === o ? o = Object.getOwnPropertyDescriptor(e, i) : o;
                if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(t, e, i, o);
                else
                  for (var l = t.length - 1; l >= 0; l--)(n = t[l]) && (r = (s < 3 ? n(r) : s > 3 ? n(e, i, r) : n(e, i)) || r);
                return s > 3 && r && Object.defineProperty(e, i, r), r
              }

              function e(t, e, i, o) {
                return new(i || (i = Promise))((function(n, s) {
                  function r(t) {
                    try {
                      a(o.next(t))
                    } catch (t) {
                      s(t)
                    }
                  }

                  function l(t) {
                    try {
                      a(o.throw(t))
                    } catch (t) {
                      s(t)
                    }
                  }

                  function a(t) {
                    var e;
                    t.done ? n(t.value) : (e = t.value, e instanceof i ? e : new i((function(t) {
                      t(e)
                    }))).then(r, l)
                  }
                  a((o = o.apply(t, e || [])).next())
                }))
              }
              "function" == typeof SuppressedError && SuppressedError;
              const i = window,
                o = i.ShadowRoot && (void 0 === i.ShadyCSS || i.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype,
                n = Symbol(),
                s = new WeakMap;
              class r {
                constructor(t, e, i) {
                  if (this._$cssResult$ = !0, i !== n) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
                  this.cssText = t, this.t = e
                }
                get styleSheet() {
                  let t = this.o;
                  const e = this.t;
                  if (o && void 0 === t) {
                    const i = void 0 !== e && 1 === e.length;
                    i && (t = s.get(e)), void 0 === t && ((this.o = t = new CSSStyleSheet).replaceSync(this.cssText), i && s.set(e, t))
                  }
                  return t
                }
                toString() {
                  return this.cssText
                }
              }
              const l = (t, ...e) => {
                  const i = 1 === t.length ? t[0] : e.reduce(((e, i, o) => e + (t => {
                    if (!0 === t._$cssResult$) return t.cssText;
                    if ("number" == typeof t) return t;
                    throw Error("Value passed to 'css' function must be a 'css' function result: " + t + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")
                  })(i) + t[o + 1]), t[0]);
                  return new r(i, t, n)
                },
                a = o ? t => t : t => t instanceof CSSStyleSheet ? (t => {
                  let e = "";
                  for (const i of t.cssRules) e += i.cssText;
                  return (t => new r("string" == typeof t ? t : t + "", void 0, n))(e)
                })(t) : t;
              var d;
              const c = window,
                p = c.trustedTypes,
                h = p ? p.emptyScript : "",
                u = c.reactiveElementPolyfillSupport,
                f = {
                  toAttribute(t, e) {
                    switch (e) {
                      case Boolean:
                        t = t ? h : null;
                        break;
                      case Object:
                      case Array:
                        t = null == t ? t : JSON.stringify(t)
                    }
                    return t
                  },
                  fromAttribute(t, e) {
                    let i = t;
                    switch (e) {
                      case Boolean:
                        i = null !== t;
                        break;
                      case Number:
                        i = null === t ? null : Number(t);
                        break;
                      case Object:
                      case Array:
                        try {
                          i = JSON.parse(t)
                        } catch (t) {
                          i = null
                        }
                    }
                    return i
                  }
                },
                v = (t, e) => e !== t && (e == e || t == t),
                m = {
                  attribute: !0,
                  type: String,
                  converter: f,
                  reflect: !1,
                  hasChanged: v
                },
                g = "finalized";
              class y extends HTMLElement {
                constructor() {
                  super(), this._$Ei = new Map, this.isUpdatePending = !1, this.hasUpdated = !1, this._$El = null, this._$Eu()
                }
                static addInitializer(t) {
                  var e;
                  this.finalize(), (null !== (e = this.h) && void 0 !== e ? e : this.h = []).push(t)
                }
                static get observedAttributes() {
                  this.finalize();
                  const t = [];
                  return this.elementProperties.forEach(((e, i) => {
                    const o = this._$Ep(i, e);
                    void 0 !== o && (this._$Ev.set(o, i), t.push(o))
                  })), t
                }
                static createProperty(t, e = m) {
                  if (e.state && (e.attribute = !1), this.finalize(), this.elementProperties.set(t, e), !e.noAccessor && !this.prototype.hasOwnProperty(t)) {
                    const i = "symbol" == typeof t ? Symbol() : "__" + t,
                      o = this.getPropertyDescriptor(t, i, e);
                    void 0 !== o && Object.defineProperty(this.prototype, t, o)
                  }
                }
                static getPropertyDescriptor(t, e, i) {
                  return {
                    get() {
                      return this[e]
                    },
                    set(o) {
                      const n = this[t];
                      this[e] = o, this.requestUpdate(t, n, i)
                    },
                    configurable: !0,
                    enumerable: !0
                  }
                }
                static getPropertyOptions(t) {
                  return this.elementProperties.get(t) || m
                }
                static finalize() {
                  if (this.hasOwnProperty(g)) return !1;
                  this[g] = !0;
                  const t = Object.getPrototypeOf(this);
                  if (t.finalize(), void 0 !== t.h && (this.h = [...t.h]), this.elementProperties = new Map(t.elementProperties), this._$Ev = new Map, this.hasOwnProperty("properties")) {
                    const t = this.properties,
                      e = [...Object.getOwnPropertyNames(t), ...Object.getOwnPropertySymbols(t)];
                    for (const i of e) this.createProperty(i, t[i])
                  }
                  return this.elementStyles = this.finalizeStyles(this.styles), !0
                }
                static finalizeStyles(t) {
                  const e = [];
                  if (Array.isArray(t)) {
                    const i = new Set(t.flat(1 / 0).reverse());
                    for (const t of i) e.unshift(a(t))
                  } else void 0 !== t && e.push(a(t));
                  return e
                }
                static _$Ep(t, e) {
                  const i = e.attribute;
                  return !1 === i ? void 0 : "string" == typeof i ? i : "string" == typeof t ? t.toLowerCase() : void 0
                }
                _$Eu() {
                  var t;
                  this._$E_ = new Promise((t => this.enableUpdating = t)), this._$AL = new Map, this._$Eg(), this.requestUpdate(), null === (t = this.constructor.h) || void 0 === t || t.forEach((t => t(this)))
                }
                addController(t) {
                  var e, i;
                  (null !== (e = this._$ES) && void 0 !== e ? e : this._$ES = []).push(t), void 0 !== this.renderRoot && this.isConnected && (null === (i = t.hostConnected) || void 0 === i || i.call(t))
                }
                removeController(t) {
                  var e;
                  null === (e = this._$ES) || void 0 === e || e.splice(this._$ES.indexOf(t) >>> 0, 1)
                }
                _$Eg() {
                  this.constructor.elementProperties.forEach(((t, e) => {
                    this.hasOwnProperty(e) && (this._$Ei.set(e, this[e]), delete this[e])
                  }))
                }
                createRenderRoot() {
                  var t;
                  const e = null !== (t = this.shadowRoot) && void 0 !== t ? t : this.attachShadow(this.constructor.shadowRootOptions);
                  return ((t, e) => {
                    o ? t.adoptedStyleSheets = e.map((t => t instanceof CSSStyleSheet ? t : t.styleSheet)) : e.forEach((e => {
                      const o = document.createElement("style"),
                        n = i.litNonce;
                      void 0 !== n && o.setAttribute("nonce", n), o.textContent = e.cssText, t.appendChild(o)
                    }))
                  })(e, this.constructor.elementStyles), e
                }
                connectedCallback() {
                  var t;
                  void 0 === this.renderRoot && (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), null === (t = this._$ES) || void 0 === t || t.forEach((t => {
                    var e;
                    return null === (e = t.hostConnected) || void 0 === e ? void 0 : e.call(t)
                  }))
                }
                enableUpdating(t) {}
                disconnectedCallback() {
                  var t;
                  null === (t = this._$ES) || void 0 === t || t.forEach((t => {
                    var e;
                    return null === (e = t.hostDisconnected) || void 0 === e ? void 0 : e.call(t)
                  }))
                }
                attributeChangedCallback(t, e, i) {
                  this._$AK(t, i)
                }
                _$EO(t, e, i = m) {
                  var o;
                  const n = this.constructor._$Ep(t, i);
                  if (void 0 !== n && !0 === i.reflect) {
                    const s = (void 0 !== (null === (o = i.converter) || void 0 === o ? void 0 : o.toAttribute) ? i.converter : f).toAttribute(e, i.type);
                    this._$El = t, null == s ? this.removeAttribute(n) : this.setAttribute(n, s), this._$El = null
                  }
                }
                _$AK(t, e) {
                  var i;
                  const o = this.constructor,
                    n = o._$Ev.get(t);
                  if (void 0 !== n && this._$El !== n) {
                    const t = o.getPropertyOptions(n),
                      s = "function" == typeof t.converter ? {
                        fromAttribute: t.converter
                      } : void 0 !== (null === (i = t.converter) || void 0 === i ? void 0 : i.fromAttribute) ? t.converter : f;
                    this._$El = n, this[n] = s.fromAttribute(e, t.type), this._$El = null
                  }
                }
                requestUpdate(t, e, i) {
                  let o = !0;
                  void 0 !== t && (((i = i || this.constructor.getPropertyOptions(t)).hasChanged || v)(this[t], e) ? (this._$AL.has(t) || this._$AL.set(t, e), !0 === i.reflect && this._$El !== t && (void 0 === this._$EC && (this._$EC =
                    new Map), this._$EC.set(t, i))) : o = !1), !this.isUpdatePending && o && (this._$E_ = this._$Ej())
                }
                async _$Ej() {
                  this.isUpdatePending = !0;
                  try {
                    await this._$E_
                  } catch (t) {
                    Promise.reject(t)
                  }
                  const t = this.scheduleUpdate();
                  return null != t && await t, !this.isUpdatePending
                }
                scheduleUpdate() {
                  return this.performUpdate()
                }
                performUpdate() {
                  var t;
                  if (!this.isUpdatePending) return;
                  this.hasUpdated, this._$Ei && (this._$Ei.forEach(((t, e) => this[e] = t)), this._$Ei = void 0);
                  let e = !1;
                  const i = this._$AL;
                  try {
                    e = this.shouldUpdate(i), e ? (this.willUpdate(i), null === (t = this._$ES) || void 0 === t || t.forEach((t => {
                      var e;
                      return null === (e = t.hostUpdate) || void 0 === e ? void 0 : e.call(t)
                    })), this.update(i)) : this._$Ek()
                  } catch (t) {
                    throw e = !1, this._$Ek(), t
                  }
                  e && this._$AE(i)
                }
                willUpdate(t) {}
                _$AE(t) {
                  var e;
                  null === (e = this._$ES) || void 0 === e || e.forEach((t => {
                    var e;
                    return null === (e = t.hostUpdated) || void 0 === e ? void 0 : e.call(t)
                  })), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t)
                }
                _$Ek() {
                  this._$AL = new Map, this.isUpdatePending = !1
                }
                get updateComplete() {
                  return this.getUpdateComplete()
                }
                getUpdateComplete() {
                  return this._$E_
                }
                shouldUpdate(t) {
                  return !0
                }
                update(t) {
                  void 0 !== this._$EC && (this._$EC.forEach(((t, e) => this._$EO(e, this[e], t))), this._$EC = void 0), this._$Ek()
                }
                updated(t) {}
                firstUpdated(t) {}
              }
              var b;
              y[g] = !0, y.elementProperties = new Map, y.elementStyles = [], y.shadowRootOptions = {
                mode: "open"
              }, null == u || u({
                ReactiveElement: y
              }), (null !== (d = c.reactiveElementVersions) && void 0 !== d ? d : c.reactiveElementVersions = []).push("1.6.3");
              const x = window,
                w = x.trustedTypes,
                _ = w ? w.createPolicy("lit-html", {
                  createHTML: t => t
                }) : void 0,
                $ = "$lit$",
                S = `lit$${(Math.random()+"").slice(9)}$`,
                C = "?" + S,
                k = `<${C}>`,
                E = document,
                T = () => E.createComment(""),
                P = t => null === t || "object" != typeof t && "function" != typeof t,
                A = Array.isArray,
                I = "[ \t\n\f\r]",
                z = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,
                O = /-->/g,
                H = />/g,
                L = RegExp(`>|${I}(?:([^\\s"'>=/]+)(${I}*=${I}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`, "g"),
                B = /'/g,
                j = /"/g,
                N = /^(?:script|style|textarea|title)$/i,
                R = (t => (e, ...i) => ({
                  _$litType$: t,
                  strings: e,
                  values: i
                }))(1),
                q = Symbol.for("lit-noChange"),
                V = Symbol.for("lit-nothing"),
                M = new WeakMap,
                U = E.createTreeWalker(E, 129, null, !1);

              function D(t, e) {
                if (!Array.isArray(t) || !t.hasOwnProperty("raw")) throw Error("invalid template strings array");
                return void 0 !== _ ? _.createHTML(e) : e
              }
              const W = (t, e) => {
                const i = t.length - 1,
                  o = [];
                let n, s = 2 === e ? "<svg>" : "",
                  r = z;
                for (let e = 0; e < i; e++) {
                  const i = t[e];
                  let l, a, d = -1,
                    c = 0;
                  for (; c < i.length && (r.lastIndex = c, a = r.exec(i), null !== a);) c = r.lastIndex, r === z ? "!--" === a[1] ? r = O : void 0 !== a[1] ? r = H : void 0 !== a[2] ? (N.test(a[2]) && (n = RegExp("</" + a[2], "g")), r = L) :
                    void 0 !== a[3] && (r = L) : r === L ? ">" === a[0] ? (r = null != n ? n : z, d = -1) : void 0 === a[1] ? d = -2 : (d = r.lastIndex - a[2].length, l = a[1], r = void 0 === a[3] ? L : '"' === a[3] ? j : B) : r === j ||
                    r === B ? r = L : r === O || r === H ? r = z : (r = L, n = void 0);
                  const p = r === L && t[e + 1].startsWith("/>") ? " " : "";
                  s += r === z ? i + k : d >= 0 ? (o.push(l), i.slice(0, d) + $ + i.slice(d) + S + p) : i + S + (-2 === d ? (o.push(void 0), e) : p)
                }
                return [D(t, s + (t[i] || "<?>") + (2 === e ? "</svg>" : "")), o]
              };
              class F {
                constructor({
                  strings: t,
                  _$litType$: e
                }, i) {
                  let o;
                  this.parts = [];
                  let n = 0,
                    s = 0;
                  const r = t.length - 1,
                    l = this.parts,
                    [a, d] = W(t, e);
                  if (this.el = F.createElement(a, i), U.currentNode = this.el.content, 2 === e) {
                    const t = this.el.content,
                      e = t.firstChild;
                    e.remove(), t.append(...e.childNodes)
                  }
                  for (; null !== (o = U.nextNode()) && l.length < r;) {
                    if (1 === o.nodeType) {
                      if (o.hasAttributes()) {
                        const t = [];
                        for (const e of o.getAttributeNames())
                          if (e.endsWith($) || e.startsWith(S)) {
                            const i = d[s++];
                            if (t.push(e), void 0 !== i) {
                              const t = o.getAttribute(i.toLowerCase() + $).split(S),
                                e = /([.?@])?(.*)/.exec(i);
                              l.push({
                                type: 1,
                                index: n,
                                name: e[2],
                                strings: t,
                                ctor: "." === e[1] ? Z : "?" === e[1] ? X : "@" === e[1] ? tt : Y
                              })
                            } else l.push({
                              type: 6,
                              index: n
                            })
                          } for (const e of t) o.removeAttribute(e)
                      }
                      if (N.test(o.tagName)) {
                        const t = o.textContent.split(S),
                          e = t.length - 1;
                        if (e > 0) {
                          o.textContent = w ? w.emptyScript : "";
                          for (let i = 0; i < e; i++) o.append(t[i], T()), U.nextNode(), l.push({
                            type: 2,
                            index: ++n
                          });
                          o.append(t[e], T())
                        }
                      }
                    } else if (8 === o.nodeType)
                      if (o.data === C) l.push({
                        type: 2,
                        index: n
                      });
                      else {
                        let t = -1;
                        for (; - 1 !== (t = o.data.indexOf(S, t + 1));) l.push({
                          type: 7,
                          index: n
                        }), t += S.length - 1
                      } n++
                  }
                }
                static createElement(t, e) {
                  const i = E.createElement("template");
                  return i.innerHTML = t, i
                }
              }

              function G(t, e, i = t, o) {
                var n, s, r, l;
                if (e === q) return e;
                let a = void 0 !== o ? null === (n = i._$Co) || void 0 === n ? void 0 : n[o] : i._$Cl;
                const d = P(e) ? void 0 : e._$litDirective$;
                return (null == a ? void 0 : a.constructor) !== d && (null === (s = null == a ? void 0 : a._$AO) || void 0 === s || s.call(a, !1), void 0 === d ? a = void 0 : (a = new d(t), a._$AT(t, i, o)), void 0 !== o ? (null !== (r = (l =
                  i)._$Co) && void 0 !== r ? r : l._$Co = [])[o] = a : i._$Cl = a), void 0 !== a && (e = G(t, a._$AS(t, e.values), a, o)), e
              }
              class Q {
                constructor(t, e) {
                  this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = e
                }
                get parentNode() {
                  return this._$AM.parentNode
                }
                get _$AU() {
                  return this._$AM._$AU
                }
                u(t) {
                  var e;
                  const {
                    el: {
                      content: i
                    },
                    parts: o
                  } = this._$AD, n = (null !== (e = null == t ? void 0 : t.creationScope) && void 0 !== e ? e : E).importNode(i, !0);
                  U.currentNode = n;
                  let s = U.nextNode(),
                    r = 0,
                    l = 0,
                    a = o[0];
                  for (; void 0 !== a;) {
                    if (r === a.index) {
                      let e;
                      2 === a.type ? e = new J(s, s.nextSibling, this, t) : 1 === a.type ? e = new a.ctor(s, a.name, a.strings, this, t) : 6 === a.type && (e = new et(s, this, t)), this._$AV.push(e), a = o[++l]
                    }
                    r !== (null == a ? void 0 : a.index) && (s = U.nextNode(), r++)
                  }
                  return U.currentNode = E, n
                }
                v(t) {
                  let e = 0;
                  for (const i of this._$AV) void 0 !== i && (void 0 !== i.strings ? (i._$AI(t, i, e), e += i.strings.length - 2) : i._$AI(t[e])), e++
                }
              }
              class J {
                constructor(t, e, i, o) {
                  var n;
                  this.type = 2, this._$AH = V, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = i, this.options = o, this._$Cp = null === (n = null == o ? void 0 : o.isConnected) || void 0 === n || n
                }
                get _$AU() {
                  var t, e;
                  return null !== (e = null === (t = this._$AM) || void 0 === t ? void 0 : t._$AU) && void 0 !== e ? e : this._$Cp
                }
                get parentNode() {
                  let t = this._$AA.parentNode;
                  const e = this._$AM;
                  return void 0 !== e && 11 === (null == t ? void 0 : t.nodeType) && (t = e.parentNode), t
                }
                get startNode() {
                  return this._$AA
                }
                get endNode() {
                  return this._$AB
                }
                _$AI(t, e = this) {
                  t = G(this, t, e), P(t) ? t === V || null == t || "" === t ? (this._$AH !== V && this._$AR(), this._$AH = V) : t !== this._$AH && t !== q && this._(t) : void 0 !== t._$litType$ ? this.g(t) : void 0 !== t.nodeType ? this.$(
                    t) : (t => A(t) || "function" == typeof(null == t ? void 0 : t[Symbol.iterator]))(t) ? this.T(t) : this._(t)
                }
                k(t) {
                  return this._$AA.parentNode.insertBefore(t, this._$AB)
                }
                $(t) {
                  this._$AH !== t && (this._$AR(), this._$AH = this.k(t))
                }
                _(t) {
                  this._$AH !== V && P(this._$AH) ? this._$AA.nextSibling.data = t : this.$(E.createTextNode(t)), this._$AH = t
                }
                g(t) {
                  var e;
                  const {
                    values: i,
                    _$litType$: o
                  } = t, n = "number" == typeof o ? this._$AC(t) : (void 0 === o.el && (o.el = F.createElement(D(o.h, o.h[0]), this.options)), o);
                  if ((null === (e = this._$AH) || void 0 === e ? void 0 : e._$AD) === n) this._$AH.v(i);
                  else {
                    const t = new Q(n, this),
                      e = t.u(this.options);
                    t.v(i), this.$(e), this._$AH = t
                  }
                }
                _$AC(t) {
                  let e = M.get(t.strings);
                  return void 0 === e && M.set(t.strings, e = new F(t)), e
                }
                T(t) {
                  A(this._$AH) || (this._$AH = [], this._$AR());
                  const e = this._$AH;
                  let i, o = 0;
                  for (const n of t) o === e.length ? e.push(i = new J(this.k(T()), this.k(T()), this, this.options)) : i = e[o], i._$AI(n), o++;
                  o < e.length && (this._$AR(i && i._$AB.nextSibling, o), e.length = o)
                }
                _$AR(t = this._$AA.nextSibling, e) {
                  var i;
                  for (null === (i = this._$AP) || void 0 === i || i.call(this, !1, !0, e); t && t !== this._$AB;) {
                    const e = t.nextSibling;
                    t.remove(), t = e
                  }
                }
                setConnected(t) {
                  var e;
                  void 0 === this._$AM && (this._$Cp = t, null === (e = this._$AP) || void 0 === e || e.call(this, t))
                }
              }
              class Y {
                constructor(t, e, i, o, n) {
                  this.type = 1, this._$AH = V, this._$AN = void 0, this.element = t, this.name = e, this._$AM = o, this.options = n, i.length > 2 || "" !== i[0] || "" !== i[1] ? (this._$AH = Array(i.length - 1).fill(new String), this
                    .strings = i) : this._$AH = V
                }
                get tagName() {
                  return this.element.tagName
                }
                get _$AU() {
                  return this._$AM._$AU
                }
                _$AI(t, e = this, i, o) {
                  const n = this.strings;
                  let s = !1;
                  if (void 0 === n) t = G(this, t, e, 0), s = !P(t) || t !== this._$AH && t !== q, s && (this._$AH = t);
                  else {
                    const o = t;
                    let r, l;
                    for (t = n[0], r = 0; r < n.length - 1; r++) l = G(this, o[i + r], e, r), l === q && (l = this._$AH[r]), s || (s = !P(l) || l !== this._$AH[r]), l === V ? t = V : t !== V && (t += (null != l ? l : "") + n[r + 1]), this
                      ._$AH[r] = l
                  }
                  s && !o && this.j(t)
                }
                j(t) {
                  t === V ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, null != t ? t : "")
                }
              }
              class Z extends Y {
                constructor() {
                  super(...arguments), this.type = 3
                }
                j(t) {
                  this.element[this.name] = t === V ? void 0 : t
                }
              }
              const K = w ? w.emptyScript : "";
              class X extends Y {
                constructor() {
                  super(...arguments), this.type = 4
                }
                j(t) {
                  t && t !== V ? this.element.setAttribute(this.name, K) : this.element.removeAttribute(this.name)
                }
              }
              class tt extends Y {
                constructor(t, e, i, o, n) {
                  super(t, e, i, o, n), this.type = 5
                }
                _$AI(t, e = this) {
                  var i;
                  if ((t = null !== (i = G(this, t, e, 0)) && void 0 !== i ? i : V) === q) return;
                  const o = this._$AH,
                    n = t === V && o !== V || t.capture !== o.capture || t.once !== o.once || t.passive !== o.passive,
                    s = t !== V && (o === V || n);
                  n && this.element.removeEventListener(this.name, this, o), s && this.element.addEventListener(this.name, this, t), this._$AH = t
                }
                handleEvent(t) {
                  var e, i;
                  "function" == typeof this._$AH ? this._$AH.call(null !== (i = null === (e = this.options) || void 0 === e ? void 0 : e.host) && void 0 !== i ? i : this.element, t) : this._$AH.handleEvent(t)
                }
              }
              class et {
                constructor(t, e, i) {
                  this.element = t, this.type = 6, this._$AN = void 0, this._$AM = e, this.options = i
                }
                get _$AU() {
                  return this._$AM._$AU
                }
                _$AI(t) {
                  G(this, t)
                }
              }
              const it = x.litHtmlPolyfillSupport;
              null == it || it(F, J), (null !== (b = x.litHtmlVersions) && void 0 !== b ? b : x.litHtmlVersions = []).push("2.8.0");
              var ot, nt;
              class st extends y {
                constructor() {
                  super(...arguments), this.renderOptions = {
                    host: this
                  }, this._$Do = void 0
                }
                createRenderRoot() {
                  var t, e;
                  const i = super.createRenderRoot();
                  return null !== (t = (e = this.renderOptions).renderBefore) && void 0 !== t || (e.renderBefore = i.firstChild), i
                }
                update(t) {
                  const e = this.render();
                  this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = ((t, e, i) => {
                    var o, n;
                    const s = null !== (o = null == i ? void 0 : i.renderBefore) && void 0 !== o ? o : e;
                    let r = s._$litPart$;
                    if (void 0 === r) {
                      const t = null !== (n = null == i ? void 0 : i.renderBefore) && void 0 !== n ? n : null;
                      s._$litPart$ = r = new J(e.insertBefore(T(), t), t, void 0, null != i ? i : {})
                    }
                    return r._$AI(t), r
                  })(e, this.renderRoot, this.renderOptions)
                }
                connectedCallback() {
                  var t;
                  super.connectedCallback(), null === (t = this._$Do) || void 0 === t || t.setConnected(!0)
                }
                disconnectedCallback() {
                  var t;
                  super.disconnectedCallback(), null === (t = this._$Do) || void 0 === t || t.setConnected(!1)
                }
                render() {
                  return q
                }
              }
              st.finalized = !0, st._$litElement$ = !0, null === (ot = globalThis.litElementHydrateSupport) || void 0 === ot || ot.call(globalThis, {
                LitElement: st
              });
              const rt = globalThis.litElementPolyfillSupport;
              null == rt || rt({
                LitElement: st
              }), (null !== (nt = globalThis.litElementVersions) && void 0 !== nt ? nt : globalThis.litElementVersions = []).push("3.3.3");
              const lt = (t, e) => "method" === e.kind && e.descriptor && !("value" in e.descriptor) ? {
                  ...e,
                  finisher(i) {
                    i.createProperty(e.key, t)
                  }
                } : {
                  kind: "field",
                  key: Symbol(),
                  placement: "own",
                  descriptor: {},
                  originalKey: e.key,
                  initializer() {
                    "function" == typeof e.initializer && (this[e.key] = e.initializer.call(this))
                  },
                  finisher(i) {
                    i.createProperty(e.key, t)
                  }
                },
                at = (t, e, i) => {
                  e.constructor.createProperty(i, t)
                };

              function dt(t) {
                return (e, i) => void 0 !== i ? at(t, e, i) : lt(t, e)
              }

              function ct(t) {
                return dt({
                  ...t,
                  state: !0
                })
              }
              const pt = ({
                finisher: t,
                descriptor: e
              }) => (i, o) => {
                var n;
                if (void 0 === o) {
                  const o = null !== (n = i.originalKey) && void 0 !== n ? n : i.key,
                    s = null != e ? {
                      kind: "method",
                      placement: "prototype",
                      key: o,
                      descriptor: e(i.key)
                    } : {
                      ...i,
                      key: o
                    };
                  return null != t && (s.finisher = function(e) {
                    t(e, o)
                  }), s
                } {
                  const n = i.constructor;
                  void 0 !== e && Object.defineProperty(i, o, e(o)), null == t || t(n, o)
                }
              };

              function ht(t, e) {
                return pt({
                  descriptor: i => {
                    const o = {
                      get() {
                        var e, i;
                        return null !== (i = null === (e = this.renderRoot) || void 0 === e ? void 0 : e.querySelector(t)) && void 0 !== i ? i : null
                      },
                      enumerable: !0,
                      configurable: !0
                    };
                    if (e) {
                      const e = "symbol" == typeof i ? Symbol() : "__" + i;
                      o.get = function() {
                        var i, o;
                        return void 0 === this[e] && (this[e] = null !== (o = null === (i = this.renderRoot) || void 0 === i ? void 0 : i.querySelector(t)) && void 0 !== o ? o : null), this[e]
                      }
                    }
                    return o
                  }
                })
              }
              var ut;

              function ft(t) {
                return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t
              }
              null === (ut = window.HTMLSlotElement) || void 0 === ut || ut.prototype.assignedElements;
              var vt = {
                exports: {}
              };
              ! function(t) {
                function e(i) {
                  return t.exports = e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
                    return typeof t
                  } : function(t) {
                    return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
                  }, t.exports.__esModule = !0, t.exports.default = t.exports, e(i)
                }
                t.exports = e, t.exports.__esModule = !0, t.exports.default = t.exports
              }(vt);
              var mt, gt, yt = ft(vt.exports),
                bt = {
                  exports: {}
                },
                xt = {
                  exports: {}
                },
                wt = {
                  exports: {}
                };
              ! function(t) {
                var e = vt.exports.default;
                t.exports = function(t, i) {
                  if ("object" !== e(t) || null === t) return t;
                  var o = t[Symbol.toPrimitive];
                  if (void 0 !== o) {
                    var n = o.call(t, i || "default");
                    if ("object" !== e(n)) return n;
                    throw new TypeError("@@toPrimitive must return a primitive value.")
                  }
                  return ("string" === i ? String : Number)(t)
                }, t.exports.__esModule = !0, t.exports.default = t.exports
              }(wt),
              function(t) {
                var e = vt.exports.default,
                  i = wt.exports;
                t.exports = function(t) {
                  var o = i(t, "string");
                  return "symbol" === e(o) ? o : String(o)
                }, t.exports.__esModule = !0, t.exports.default = t.exports
              }(xt), gt = xt.exports, (mt = bt).exports = function(t, e, i) {
                return (e = gt(e)) in t ? Object.defineProperty(t, e, {
                  value: i,
                  enumerable: !0,
                  configurable: !0,
                  writable: !0
                }) : t[e] = i, t
              }, mt.exports.__esModule = !0, mt.exports.default = mt.exports;
              var _t = ft(bt.exports),
                $t = {
                  exports: {}
                };
              ! function(t) {
                function e(t, e, i, o, n, s, r) {
                  try {
                    var l = t[s](r),
                      a = l.value
                  } catch (t) {
                    return void i(t)
                  }
                  l.done ? e(a) : Promise.resolve(a).then(o, n)
                }
                t.exports = function(t) {
                  return function() {
                    var i = this,
                      o = arguments;
                    return new Promise((function(n, s) {
                      var r = t.apply(i, o);

                      function l(t) {
                        e(r, n, s, l, a, "next", t)
                      }

                      function a(t) {
                        e(r, n, s, l, a, "throw", t)
                      }
                      l(void 0)
                    }))
                  }
                }, t.exports.__esModule = !0, t.exports.default = t.exports
              }($t);
              var St = ft($t.exports),
                Ct = {
                  exports: {}
                };
              ! function(t) {
                var e = vt.exports.default;

                function i() {
                  t.exports = i = function() {
                    return n
                  }, t.exports.__esModule = !0, t.exports.default = t.exports;
                  var o, n = {},
                    s = Object.prototype,
                    r = s.hasOwnProperty,
                    l = Object.defineProperty || function(t, e, i) {
                      t[e] = i.value
                    },
                    a = "function" == typeof Symbol ? Symbol : {},
                    d = a.iterator || "@@iterator",
                    c = a.asyncIterator || "@@asyncIterator",
                    p = a.toStringTag || "@@toStringTag";

                  function h(t, e, i) {
                    return Object.defineProperty(t, e, {
                      value: i,
                      enumerable: !0,
                      configurable: !0,
                      writable: !0
                    }), t[e]
                  }
                  try {
                    h({}, "")
                  } catch (o) {
                    h = function(t, e, i) {
                      return t[e] = i
                    }
                  }

                  function u(t, e, i, o) {
                    var n = e && e.prototype instanceof x ? e : x,
                      s = Object.create(n.prototype),
                      r = new O(o || []);
                    return l(s, "_invoke", {
                      value: P(t, i, r)
                    }), s
                  }

                  function f(t, e, i) {
                    try {
                      return {
                        type: "normal",
                        arg: t.call(e, i)
                      }
                    } catch (t) {
                      return {
                        type: "throw",
                        arg: t
                      }
                    }
                  }
                  n.wrap = u;
                  var v = "suspendedStart",
                    m = "suspendedYield",
                    g = "executing",
                    y = "completed",
                    b = {};

                  function x() {}

                  function w() {}

                  function _() {}
                  var $ = {};
                  h($, d, (function() {
                    return this
                  }));
                  var S = Object.getPrototypeOf,
                    C = S && S(S(H([])));
                  C && C !== s && r.call(C, d) && ($ = C);
                  var k = _.prototype = x.prototype = Object.create($);

                  function E(t) {
                    ["next", "throw", "return"].forEach((function(e) {
                      h(t, e, (function(t) {
                        return this._invoke(e, t)
                      }))
                    }))
                  }

                  function T(t, i) {
                    function o(n, s, l, a) {
                      var d = f(t[n], t, s);
                      if ("throw" !== d.type) {
                        var c = d.arg,
                          p = c.value;
                        return p && "object" == e(p) && r.call(p, "__await") ? i.resolve(p.__await).then((function(t) {
                          o("next", t, l, a)
                        }), (function(t) {
                          o("throw", t, l, a)
                        })) : i.resolve(p).then((function(t) {
                          c.value = t, l(c)
                        }), (function(t) {
                          return o("throw", t, l, a)
                        }))
                      }
                      a(d.arg)
                    }
                    var n;
                    l(this, "_invoke", {
                      value: function(t, e) {
                        function s() {
                          return new i((function(i, n) {
                            o(t, e, i, n)
                          }))
                        }
                        return n = n ? n.then(s, s) : s()
                      }
                    })
                  }

                  function P(t, e, i) {
                    var n = v;
                    return function(s, r) {
                      if (n === g) throw new Error("Generator is already running");
                      if (n === y) {
                        if ("throw" === s) throw r;
                        return {
                          value: o,
                          done: !0
                        }
                      }
                      for (i.method = s, i.arg = r;;) {
                        var l = i.delegate;
                        if (l) {
                          var a = A(l, i);
                          if (a) {
                            if (a === b) continue;
                            return a
                          }
                        }
                        if ("next" === i.method) i.sent = i._sent = i.arg;
                        else if ("throw" === i.method) {
                          if (n === v) throw n = y, i.arg;
                          i.dispatchException(i.arg)
                        } else "return" === i.method && i.abrupt("return", i.arg);
                        n = g;
                        var d = f(t, e, i);
                        if ("normal" === d.type) {
                          if (n = i.done ? y : m, d.arg === b) continue;
                          return {
                            value: d.arg,
                            done: i.done
                          }
                        }
                        "throw" === d.type && (n = y, i.method = "throw", i.arg = d.arg)
                      }
                    }
                  }

                  function A(t, e) {
                    var i = e.method,
                      n = t.iterator[i];
                    if (n === o) return e.delegate = null, "throw" === i && t.iterator.return && (e.method = "return", e.arg = o, A(t, e), "throw" === e.method) || "return" !== i && (e.method = "throw", e.arg = new TypeError(
                      "The iterator does not provide a '" + i + "' method")), b;
                    var s = f(n, t.iterator, e.arg);
                    if ("throw" === s.type) return e.method = "throw", e.arg = s.arg, e.delegate = null, b;
                    var r = s.arg;
                    return r ? r.done ? (e[t.resultName] = r.value, e.next = t.nextLoc, "return" !== e.method && (e.method = "next", e.arg = o), e.delegate = null, b) : r : (e.method = "throw", e.arg = new TypeError(
                      "iterator result is not an object"), e.delegate = null, b)
                  }

                  function I(t) {
                    var e = {
                      tryLoc: t[0]
                    };
                    1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e)
                  }

                  function z(t) {
                    var e = t.completion || {};
                    e.type = "normal", delete e.arg, t.completion = e
                  }

                  function O(t) {
                    this.tryEntries = [{
                      tryLoc: "root"
                    }], t.forEach(I, this), this.reset(!0)
                  }

                  function H(t) {
                    if (t || "" === t) {
                      var i = t[d];
                      if (i) return i.call(t);
                      if ("function" == typeof t.next) return t;
                      if (!isNaN(t.length)) {
                        var n = -1,
                          s = function e() {
                            for (; ++n < t.length;)
                              if (r.call(t, n)) return e.value = t[n], e.done = !1, e;
                            return e.value = o, e.done = !0, e
                          };
                        return s.next = s
                      }
                    }
                    throw new TypeError(e(t) + " is not iterable")
                  }
                  return w.prototype = _, l(k, "constructor", {
                    value: _,
                    configurable: !0
                  }), l(_, "constructor", {
                    value: w,
                    configurable: !0
                  }), w.displayName = h(_, p, "GeneratorFunction"), n.isGeneratorFunction = function(t) {
                    var e = "function" == typeof t && t.constructor;
                    return !!e && (e === w || "GeneratorFunction" === (e.displayName || e.name))
                  }, n.mark = function(t) {
                    return Object.setPrototypeOf ? Object.setPrototypeOf(t, _) : (t.__proto__ = _, h(t, p, "GeneratorFunction")), t.prototype = Object.create(k), t
                  }, n.awrap = function(t) {
                    return {
                      __await: t
                    }
                  }, E(T.prototype), h(T.prototype, c, (function() {
                    return this
                  })), n.AsyncIterator = T, n.async = function(t, e, i, o, s) {
                    void 0 === s && (s = Promise);
                    var r = new T(u(t, e, i, o), s);
                    return n.isGeneratorFunction(e) ? r : r.next().then((function(t) {
                      return t.done ? t.value : r.next()
                    }))
                  }, E(k), h(k, p, "Generator"), h(k, d, (function() {
                    return this
                  })), h(k, "toString", (function() {
                    return "[object Generator]"
                  })), n.keys = function(t) {
                    var e = Object(t),
                      i = [];
                    for (var o in e) i.push(o);
                    return i.reverse(),
                      function t() {
                        for (; i.length;) {
                          var o = i.pop();
                          if (o in e) return t.value = o, t.done = !1, t
                        }
                        return t.done = !0, t
                      }
                  }, n.values = H, O.prototype = {
                    constructor: O,
                    reset: function(t) {
                      if (this.prev = 0, this.next = 0, this.sent = this._sent = o, this.done = !1, this.delegate = null, this.method = "next", this.arg = o, this.tryEntries.forEach(z), !t)
                        for (var e in this) "t" === e.charAt(0) && r.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = o)
                    },
                    stop: function() {
                      this.done = !0;
                      var t = this.tryEntries[0].completion;
                      if ("throw" === t.type) throw t.arg;
                      return this.rval
                    },
                    dispatchException: function(t) {
                      if (this.done) throw t;
                      var e = this;

                      function i(i, n) {
                        return l.type = "throw", l.arg = t, e.next = i, n && (e.method = "next", e.arg = o), !!n
                      }
                      for (var n = this.tryEntries.length - 1; n >= 0; --n) {
                        var s = this.tryEntries[n],
                          l = s.completion;
                        if ("root" === s.tryLoc) return i("end");
                        if (s.tryLoc <= this.prev) {
                          var a = r.call(s, "catchLoc"),
                            d = r.call(s, "finallyLoc");
                          if (a && d) {
                            if (this.prev < s.catchLoc) return i(s.catchLoc, !0);
                            if (this.prev < s.finallyLoc) return i(s.finallyLoc)
                          } else if (a) {
                            if (this.prev < s.catchLoc) return i(s.catchLoc, !0)
                          } else {
                            if (!d) throw new Error("try statement without catch or finally");
                            if (this.prev < s.finallyLoc) return i(s.finallyLoc)
                          }
                        }
                      }
                    },
                    abrupt: function(t, e) {
                      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
                        var o = this.tryEntries[i];
                        if (o.tryLoc <= this.prev && r.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
                          var n = o;
                          break
                        }
                      }
                      n && ("break" === t || "continue" === t) && n.tryLoc <= e && e <= n.finallyLoc && (n = null);
                      var s = n ? n.completion : {};
                      return s.type = t, s.arg = e, n ? (this.method = "next", this.next = n.finallyLoc, b) : this.complete(s)
                    },
                    complete: function(t, e) {
                      if ("throw" === t.type) throw t.arg;
                      return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), b
                    },
                    finish: function(t) {
                      for (var e = this.tryEntries.length - 1; e >= 0; --e) {
                        var i = this.tryEntries[e];
                        if (i.finallyLoc === t) return this.complete(i.completion, i.afterLoc), z(i), b
                      }
                    },
                    catch: function(t) {
                      for (var e = this.tryEntries.length - 1; e >= 0; --e) {
                        var i = this.tryEntries[e];
                        if (i.tryLoc === t) {
                          var o = i.completion;
                          if ("throw" === o.type) {
                            var n = o.arg;
                            z(i)
                          }
                          return n
                        }
                      }
                      throw new Error("illegal catch attempt")
                    },
                    delegateYield: function(t, e, i) {
                      return this.delegate = {
                        iterator: H(t),
                        resultName: e,
                        nextLoc: i
                      }, "next" === this.method && (this.arg = o), b
                    }
                  }, n
                }
                t.exports = i, t.exports.__esModule = !0, t.exports.default = t.exports
              }(Ct);
              var kt = Ct.exports(),
                Et = kt;
              try {
                regeneratorRuntime = kt
              } catch (t) {
                "object" == typeof globalThis ? globalThis.regeneratorRuntime = kt : Function("r", "regeneratorRuntime = r")(kt)
              }
              var Tt, Pt;

              function At(t, e) {
                if ("string" == typeof t && "string" == typeof e) {
                  if (!e.startsWith("/")) throw new Error("prefixionPath: urlPath must be start with /");
                  if (!t.startsWith("/")) throw new Error("prefixionPath: prefix must be start with /");
                  return t + e
                }
              }

              function It(t) {
                if ("string" != typeof t) throw new Error("globalizePath: urlPath must be string");
                if (t.startsWith("http")) throw new Error("globalizePath: urlPath can't be http url");
                t.startsWith("/") || (t = "/" + t);
                var e = function() {
                  var t = window.C_SETTINGS && window.C_SETTINGS.routes && window.C_SETTINGS.routes.root || "";
                  return t.length > 0 && (t.startsWith("/") || (t = "/" + t)), t
                }();
                return e.length > 0 && !t.startsWith(e) || "/ca" === e && t.startsWith("/cart") ? At(e, t) : t
              }

              function zt(t, e) {
                var i = Object.keys(t);
                if (Object.getOwnPropertySymbols) {
                  var o = Object.getOwnPropertySymbols(t);
                  e && (o = o.filter((function(e) {
                    return Object.getOwnPropertyDescriptor(t, e).enumerable
                  }))), i.push.apply(i, o)
                }
                return i
              }

              function Ot(t) {
                for (var e = 1; e < arguments.length; e++) {
                  var i = null != arguments[e] ? arguments[e] : {};
                  e % 2 ? zt(Object(i), !0).forEach((function(e) {
                    _t(t, e, i[e])
                  })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(i)) : zt(Object(i)).forEach((function(e) {
                    Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(i, e))
                  }))
                }
                return t
              }
              var Ht = function(t) {
                  var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 50,
                    i = null;
                  return function() {
                    for (var o = arguments.length, n = new Array(o), s = 0; s < o; s++) n[s] = arguments[s];
                    var r = this;
                    i && clearTimeout(i), i = setTimeout((function() {
                      t.apply(r, n)
                    }), e)
                  }
                },
                Lt = function(t, e) {
                  var i = null;
                  return function() {
                    var o = this,
                      n = arguments;
                    i || (i = setTimeout((function() {
                      t.apply(o, n), clearTimeout(i), i = null
                    }), e))
                  }
                },
                Bt = {
                  ROOT_URL: C_SETTINGS && C_SETTINGS.routes && C_SETTINGS.routes.root || "",
                  post: function(t) {
                    return (Tt = Tt || St(Et.mark((function t(e) {
                      var i, o, n, s = arguments;
                      return Et.wrap((function(t) {
                        for (;;) switch (t.prev = t.next) {
                          case 0:
                            return i = s.length > 1 && void 0 !== s[1] ? s[1] : {}, t.prev = 1, t.next = 4, fetch(Bt.ROOT_URL + e, Ot(Ot({
                              method: "POST",
                              headers: {
                                "Content-Type": "application/json"
                              }
                            }, i), {}, {
                              body: JSON.stringify(i.body)
                            }));
                          case 4:
                            return o = t.sent, t.next = 7, o.json();
                          case 7:
                            return n = t.sent, t.abrupt("return", n);
                          case 11:
                            throw t.prev = 11, t.t0 = t.catch(1), new Error("post request error" + t.t0);
                          case 14:
                          case "end":
                            return t.stop()
                        }
                      }), t, null, [
                        [1, 11]
                      ])
                    })))).apply(this, arguments)
                  },
                  get: function(t) {
                    return (Pt = Pt || St(Et.mark((function t(e) {
                      var i, o;
                      return Et.wrap((function(t) {
                        for (;;) switch (t.prev = t.next) {
                          case 0:
                            return t.prev = 1, t.next = 4, fetch(Bt.ROOT_URL + e);
                          case 4:
                            return i = t.sent, t.next = 7, i.json();
                          case 7:
                            return o = t.sent, t.abrupt("return", o);
                          case 11:
                            throw t.prev = 11, t.t0 = t.catch(1), new Error("get request error" + t.t0);
                          case 14:
                          case "end":
                            return t.stop()
                        }
                      }), t, null, [
                        [1, 11]
                      ])
                    })))).apply(this, arguments)
                  }
                },
                jt = function(t, e) {
                  var i, o = {
                      amount: {
                        n: 2,
                        x: 3,
                        s: ",",
                        c: "."
                      },
                      amount_no_decimals: {
                        n: 0,
                        x: 3,
                        s: ",",
                        c: ""
                      },
                      amount_with_comma_separator: {
                        n: 2,
                        x: 3,
                        s: ".",
                        c: ","
                      },
                      amount_no_decimals_with_comma_separator: {
                        n: 0,
                        x: 3,
                        s: ".",
                        c: ""
                      },
                      amount_with_apostrophe_separator: {
                        n: 2,
                        x: 3,
                        s: "'",
                        c: "."
                      }
                    } [e] || "amount",
                    n = "\\d(?=(\\d{" + (o.x || 3) + "})+" + (o.n > 0 ? "\\D" : "$") + ")";
                  return i = 0 === o.n ? t.toFixed(0) : parseFloat(t).toFixed(o.n + 1).slice(0, -1), (o.c ? i.replace(".", o.c) : i).replace(new RegExp(n, "g"), "$&" + (o.s || ","))
                },
                Nt = function(t) {
                  if (window.C_APPS_MULTI_CURRENCY && window.C_APPS_MULTI_CURRENCY.globalFinance) return window.C_APPS_MULTI_CURRENCY.globalFinance(Number(t));
                  var e = window.C_SETTINGS.currency_symbol,
                    i = window.C_SETTINGS ? window.C_SETTINGS.currency_symbol_pos : "left",
                    o = window.C_SETTINGS ? window.C_SETTINGS.money_format : "amount";
                  return "right" === i ? jt(1 * Number(t), o) + e : e + jt(1 * Number(t), o)
                },
                Rt = !!window.$;

              function qt(t) {
                var e = document.querySelector(".product-info"),
                  i = document.querySelector(".product-info-body"),
                  o = document.querySelector(".product-info__body"),
                  n = e || i || o,
                  s = document.querySelector("bundle-product-list"),
                  r = document.querySelector('div[data-section-type*="//apps/appbundle/blocks/bundle-combination/"]'),
                  l = r && r.contains(s),
                  a = {
                    isInProductInfo: n ? n.contains(s) : !l,
                    productInfo: n || null
                  };
                if (t) {
                  var d = Number(window.getComputedStyle(n).paddingLeft.replace(/[^/.\d]/g, "")),
                    c = Number(n.offsetWidth) - d;
                  return Ot(Ot({}, a), {}, {
                    productInfoWidth: c
                  })
                }
                return a
              }
              const Vt = {
                  FASHION_HORIZONTAL: "fashionHorizontal",
                  FASHION_VERTICAL: "fashionVertical"
                },
                Mt = "fixed_price",
                Ut = "fixed_amount",
                Dt = "percentage",
                Wt = "multi",
                Ft = "single";
              class Gt extends st {
                constructor() {
                  super(...arguments), this.titleText = "", this.switchable = !1, this.titleColor = "", this.btnBgColor = "", this.btnTextColor = "", this.pid = "", this.discount_ids = "", this.styleType = "sutra", this.isQuickShop = "false",
                    this.atcBtnStyle = void 0, this.selected_all = !0, this.select_one = !1, this.selectedInfo = [], this.modalVisible = !1, this.loading = !1, this.success = !1, this.onResize = () => {}
                }
                requestUpdate() {
                  super.requestUpdate()
                }
                connectedCallback() {
                  this.onResize = Lt(this.computeWidth, 50), super.connectedCallback(), window.addEventListener("resize", this.onResize)
                }
                disconnectedCallback() {
                  super.disconnectedCallback(), window.removeEventListener("resize", this.onResize)
                }
                computeWidth() {
                  var t, e;
                  const {
                    isInProductInfo: i,
                    productInfo: o,
                    productInfoWidth: n
                  } = qt(!0), s = null === (t = this.shadowRoot) || void 0 === t ? void 0 : t.querySelector(".main");
                  if (s)
                    if (i) {
                      if (o) {
                        let t = n;
                        "Flash" === (null === (e = null === window || void 0 === window ? void 0 : window.SHOPLAZZA) || void 0 === e ? void 0 : e.theme.merchant_theme_name) && (null === window || void 0 === window ? void 0 : window
                          .innerWidth) < 960 && (t -= 32), s.style.maxWidth = `${t}px`, s.classList.add("main--in")
                      }
                    } else o && this.styleType === Vt.FASHION_VERTICAL && (s.style.maxWidth = `${n}px`), s.classList.remove("main--in")
                }
                showToast(t) {
                  const e = document.createElement("bundle-toast");
                  t && (e.text = t), document.body.appendChild(e)
                }
                buySelectedProduct() {
                  return e(this, void 0, void 0, (function*() {
                    if (this.selectedInfo.every((t => !t.is_selected))) return;
                    this.loading = !0;
                    const t = this.bundleInfo.entitled_products.filter((t => t.is_selected)),
                      i = t.map((t => ({
                        product_id: t.id,
                        variant_id: t.selected_id,
                        quantity: Number(t.count),
                        note: t.note || "",
                        price: t.variants.find((e => e.id === t.selected_id)).price,
                        available: "true",
                        selected: "true"
                      })));
                    let o = [];
                    o.push(this.bundleInfo.id), Bt.post("/api/bundle-sales/cart", {
                      body: {
                        cart: {
                          line_items: i
                        },
                        action_type: "buy_now",
                        bundle_sale_ids: o
                      }
                    }).then((t => {
                      const o = {
                        line_items: (i || []).map((t => ({
                          quantity: Number(t.quantity),
                          variant_id: t.variant_id,
                          note: t.note || "",
                          properties: t.properties || {}
                        }))),
                        refer_info: {
                          source: "buy_now"
                        }
                      };
                      fetch(It("/api/checkout/order"), {
                        method: "POST",
                        body: JSON.stringify(o),
                        headers: {
                          "Content-Type": "application/json;charset=utf-8"
                        }
                      }).then((t => e(this, void 0, void 0, (function*() {
                        if (t.redirected && t.url.includes("/account/login")) return window.location.href = It(`/account/login?_returnUrl=${encodeURIComponent(window.location.pathname)}`);
                        const e = yield t.json();
                        if ("success" !== e.state) this.showToast(e.message || e.errors[0] || "Unknown error"), location.reload();
                        else {
                          const t = e && e.data && e.data.order_token;
                          t && (window.safeHref ? window.safeHref = It(`/checkout/${t}?step=contact_information`) : window.location.href = It(`/checkout/${t}?step=contact_information`))
                        }
                      }))))
                    }))
                  }))
                }
                addSelectedToCart() {
                  var t;
                  return e(this, void 0, void 0, (function*() {
                    if (this.selectedInfo.every((t => !t.is_selected))) return;
                    this.loading = !0;
                    const e = this.bundleInfo.entitled_products.filter((t => t.is_selected)),
                      i = e.map((t => ({
                        product_id: t.id,
                        variant_id: t.selected_id,
                        quantity: t.count
                      })));
                    try {
                      const e = {
                        discount_id: this.bundleInfo.id,
                        value_type: this.bundleInfo.value_type,
                        popups_setting: this.bundleInfo.popups_setting,
                        global_show_text: this.bundleInfo.global_show_text,
                        target_selection: this.bundleInfo.target_selection,
                        page: null === (t = window.SHOP_PARAMS) || void 0 === t ? void 0 : t.template_type,
                        product_ids: this.bundleInfo.entitled_products.map((t => t.id)),
                        block: !0,
                        operation_type: this.bundleInfo.operation_type,
                        entitled_product_ids: this.bundleInfo.entitled_product_ids.join(",")
                      };
                      window.sa && window.sa.track("plugin_bundle_combination_click_atc", e)
                    } catch (t) {}
                    const o = yield Bt.post("/api/cart/batch", {
                      body: {
                        line_items: i
                      }
                    });
                    if (this.loading = !1, o.errors && o.errors[0]) this.showToast(o.errors[0]);
                    else {
                      this.success = !0;
                      try {
                        const t = sessionStorage.bundle_sale_ids && JSON.parse(sessionStorage.bundle_sale_ids) || [];
                        t.includes(this.bundleInfo.id) || (t.push(this.bundleInfo.id), sessionStorage.setItem("bundle_sale_ids", JSON.stringify(t)))
                      } catch (t) {}
                      e.forEach((t => {
                        var e;
                        const i = {
                          id: t.id,
                          product_id: t.id,
                          number: t.count || 1,
                          quantity: t.count || 1,
                          variant_id: t.selected_id,
                          childrenId: t.selected_id,
                          item_price: null === (e = t.variants.find((e => e.id === t.selected_id))) || void 0 === e ? void 0 : e.price,
                          name: t.title,
                          type: "",
                          source: "bundle"
                        };
                        Rt ? window.$(document.body).trigger("dj.addToCart", i) : document.dispatchEvent(new CustomEvent("dj.addToCart", {
                          detail: i
                        }))
                      })), setTimeout((() => {
                        window.safeHref ? window.safeHref = It("/cart") : window.location.href = It("/cart")
                      }))
                    }
                  }))
                }
                switch () {
                  this.dispatchEvent(new CustomEvent("bundle-combination-switch"))
                }
                clickSelect() {
                  var t, e;
                  this.select_one = this.selectedInfo.filter((t => t.is_selected)).length <= 1, this.selectedInfo.every((t => t.is_selected)) && (null === (e = null === (t = this.bundleInfo) || void 0 === t ? void 0 : t.entitled_products) ||
                    void 0 === e ? void 0 : e.length) === this.selectedInfo.length ? (this.selected_all = !0, this.requestUpdate()) : this.selected_all = !1
                }
                clickProduct(t) {
                  const e = t.detail;
                  "true" === this.isQuickShop && (this.modalProduct = e, this.modalVisible = !0);
                  const i = {
                    block: !0,
                    discount_ids: this.discount_ids,
                    product_id: this.pid,
                    discount_id: this.bundleInfo.id,
                    CurrProd_id: e.id,
                    operation_type: this.bundleInfo.operation_type,
                    entitled_product_ids: this.bundleInfo.entitled_product_ids.join(",")
                  };
                  window.sa && window.sa.track("plugin_bundle_combination_product_click", i)
                }
                renderImgs(t, e) {
                  var i;
                  const o = this.parentNode.offsetWidth > 960;
                  return null === (i = this.selectedInfo) || void 0 === i ? void 0 : i.slice(t, e).map(((e, i) => {
                    var n, s, r;
                    const l = null === (n = e.variants) || void 0 === n ? void 0 : n.find((t => t.id === e.selected_id)),
                      a = (null === (s = null == l ? void 0 : l.image) || void 0 === s ? void 0 : s.src) || (null === (r = e.image) || void 0 === r ? void 0 : r.src);
                    return R`<div class="img-item">${0!==i||3===t?R`<svg style="${o?"":"padding: 0 12px;"}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path d="M18.573 8.571h-7.145V1.428a1.427 1.427 0 1 0-2.856 0V8.57H1.428a1.428 1.428 0 0 0 0 2.856h7.144v7.144a1.428 1.428 0 0 0 2.856 0v-7.145h7.144a1.428 1.428 0 0 0 0-2.855z" fill="#C5C5C5"/></svg>`:""}<bundle-product-img class="${o?"":"main--in"}" ?is-select="${e.is_selected}" .isQuickShop="${"true"===this.isQuickShop}" .count="${e.count}" .href="${e.url}" .src="${a}" @click="${()=>this.clickProduct(e)}"></bundle-product-img></div>`
                  }))
                }
                getlowestPricedProduct(t, e) {
                  let i = [],
                    o = [],
                    n = e;
                  const s = [...t];
                  return s.sort(((t, e) => Number(t.price) - Number(e.price))), s.forEach((t => {
                    if (0 === n) o.push(t);
                    else {
                      const e = Number(t.count);
                      e <= n ? (i.push(t), n -= e) : (i.push(Object.assign(Object.assign({}, t), {
                        count: `${n}`
                      })), o.push(Object.assign(Object.assign({}, t), {
                        count: "" + (e - n)
                      })), n = 0)
                    }
                  })), [i, o]
                }
                getPrice(t, e = "price") {
                  let i = 0;
                  return t.filter((t => t.is_selected)).forEach((t => {
                    var o;
                    const n = null === (o = t.variants) || void 0 === o ? void 0 : o.find((e => e.id === t.selected_id)),
                      s = +(n && n[e] || 0);
                    i += +t.count * s
                  })), i
                }
                handlePriceValue() {
                  const t = this.getPrice(this.selectedInfo);
                  let e = t,
                    i = 0;
                  if (this.bundleInfo.layer_type === Wt) {
                    const t = this.selectedInfo.filter((t => t.is_selected));
                    if (!this.bundleInfo.target_product_id || this.bundleInfo.target_product_id && this.selectedInfo.filter((t => t.is_selected)).some((t => t.id === this.bundleInfo.target_product_id))) {
                      let o = 0,
                        n = 0;
                      const s = t.reduce(((t, e) => t + Number(e.count)), 0),
                        r = this.bundleInfo.prerequisite_quantity_range;
                      for (let t = r.length - 1; t >= 0; t--) {
                        const e = r[t],
                          {
                            value: i,
                            greater_than_or_equal_to: l
                          } = e;
                        if (s >= Number(l)) {
                          o = Number(i), n = Number(l);
                          break
                        }
                      }
                      if (this.bundleInfo.value_type === Ut) i = o, e -= o;
                      else if (this.bundleInfo.value_type === Dt) {
                        const [s, r] = this.getlowestPricedProduct(t, n), l = this.getPrice(s), a = this.getPrice(r);
                        i = Math.round(l * (o / 100) * 100) / 100, e = l - i + a
                      }
                    }
                  } else {
                    const o = Number(this.bundleInfo.value);
                    this.bundleInfo.value_type === Mt ? o < Number(e) && (e = o, i = t - o) : this.bundleInfo.value_type === Ut ? (i = o, e -= o) : this.bundleInfo.value_type === Dt && (i = Math.round(e * (o / 100) * 100) / 100, e -= i)
                  }
                  return e = e < 0 ? 0 : e, this.bundleInfo.totalPrice = e.toFixed(2), {
                    salePrice: t.toFixed(2),
                    savePrice: i.toFixed(2)
                  }
                }
                updated() {
                  var t;
                  if (this.computeWidth(), this.modalVisible) {
                    const e = document.createElement("bundle-product-modal");
                    e.data = this.modalProduct, e.setAttribute("btn-bg-color", this.btnBgColor), e.setAttribute("btn-text-color", this.btnTextColor), e.setAttribute("top", document.documentElement.scrollTop.toString()), e.close = () => {
                      this.modalVisible = !1, e.remove()
                    }, null === (t = document.querySelector(".bundle-combination-container")) || void 0 === t || t.appendChild(e)
                  }
                }
                changeCheckBox(t) {
                  const {
                    index: e
                  } = t.detail, i = this.selectedInfo[e].is_selected;
                  this.selectedInfo[e].is_selected = !i, this.requestUpdate(), window.sa && window.sa.track("plugin_bundle_combination_product_select", {
                    block: !0
                  })
                }
                render() {
                  var t, e;
                  if (!this.bundleInfo) return;
                  const i = this.parentNode.offsetWidth > 960;
                  i && (null === (e = null === (t = document.querySelector(".bundle-combination-container")) || void 0 === t ? void 0 : t.classList) || void 0 === e || e.add("app-container")), this.selectedInfo = this.bundleInfo ? this
                    .bundleInfo.entitled_products.filter((t => t.published)) : [], this.clickSelect();
                  const {
                    salePrice: o,
                    savePrice: n
                  } = this.handlePriceValue();
                  let s = "";
                  return [Vt.FASHION_HORIZONTAL, Vt.FASHION_VERTICAL].includes(this.styleType) && (s = this.styleType),
                    R`<div class="main ${s}"><div class="header" style="${s?"margin-bottom: 20px;":""}"><div class="title" style="${i?"":"font-size: 20px;"}"><span style="color:${this.titleColor}">${this.titleText}</span></div>${this.switchable?R`<div class="switch" @click="${this.switch}" style="${i?"":"font-size: 14px;"}">Related Items</div>`:""}</div>${s?R`<bundle-fashion .overWidth="${i}" title-text="${this.titleText}" switchable="${this.switchable}" title-color="${this.titleColor}" btn-bg-color="${this.btnBgColor}" btn-text-color="${this.btnTextColor}" styleTypeClass="${s}" .isQuickShop="${"true"===this.isQuickShop}" .atcBtnStyle="${this.atcBtnStyle}" .select_one="${this.select_one}" .loading="${this.loading}" .success="${this.success}" .selected_all="${this.selected_all}" .selectedInfo="${this.selectedInfo}" .bundleInfo="${this.bundleInfo}" .salePrice="${o}" .savePrice="${n}" @clickSelect="${this.clickSelect}" @clickProduct="${this.clickProduct}" @changeCheckBox="${this.changeCheckBox}" @addToCart="${this.addSelectedToCart}" @buySelectedProduct="${this.buySelectedProduct}"></bundle-fashion>`:R`<bundle-sutra .overWidth="${i}" title-text="${this.titleText}" switchable="${this.switchable}" title-color="${this.titleColor}" btn-bg-color="${this.btnBgColor}" btn-text-color="${this.btnTextColor}" styleTypeClass="${s}" .isQuickShop="${"true"===this.isQuickShop}" .atcBtnStyle="${this.atcBtnStyle}" .select_one="${this.select_one}" .loading="${this.loading}" .success="${this.success}" .selected_all="${this.selected_all}" .selectedInfo="${this.selectedInfo}" .bundleInfo="${this.bundleInfo}" .salePrice="${o}" .savePrice="${n}" @clickSelect="${this.clickSelect}" @clickProduct="${this.clickProduct}" @changeCheckBox="${this.changeCheckBox}" @addToCart="${this.addSelectedToCart}" @buySelectedProduct="${this.buySelectedProduct}"></bundle-sutra>`}</div>${""}`
                }
              }
              Gt.styles = [
                l`.main{padding:20px 0;margin-left:auto;margin-right:auto;max-width:var(--layout-width,1366px)}.header{display:flex;align-items:center}.title{font-size:24px;line-height:24px}.switch{cursor:pointer;text-decoration:underline;font-size:16px;white-space:nowrap;margin-left:10px}.main--in.main{padding:20px 0}.main--in .header{flex-direction:column;align-items:flex-start}.main--in .switch{font-size:14px;margin-top:4px;margin-left:0}@media (max-width:960px){.main{padding:20px 0;max-width:unset}.header{flex-direction:column;align-items:flex-start;margin-bottom:8px}.title{font-size:16px!important}.switch{font-size:14px;margin-top:4px;margin-left:0}}`,
                l`.fashionHorizontal .title{font-size:22px;line-height:24px}.fashionHorizontal .switch{color:val(--color-body-text,#292929);font-weight:400}.fashionHorizontal .header{justify-content:space-between}.fashionVertical .header{flex-direction:column;align-items:flex-start}.fashionVertical .switch{margin-top:10px;margin-left:0}.fashionVertical.main{margin-right:initial}.main--in.fashionHorizontal .header{flex-direction:column;align-items:flex-start;justify-content:flex-start}.main--in.fashionHorizontal .switch{margin-top:4px;margin-left:0}.main--in.fashionHorizontal.main{padding:20px 0}.main--in.fashionVertical.main{padding:20px 0!important;margin-left:0}.main--in.fashionVertical.main{margin-right:auto}@media (max-width:960px){.fashionVertical.main{margin-right:auto}}`
              ], t([dt({
                type: String,
                attribute: "title-text"
              })], Gt.prototype, "titleText", void 0), t([dt()], Gt.prototype, "switchable", void 0), t([dt({
                type: String,
                attribute: "title-color"
              })], Gt.prototype, "titleColor", void 0), t([dt({
                type: String,
                attribute: "btn-bg-color"
              })], Gt.prototype, "btnBgColor", void 0), t([dt({
                type: String,
                attribute: "btn-text-color"
              })], Gt.prototype, "btnTextColor", void 0), t([dt({
                type: String,
                attribute: !1
              })], Gt.prototype, "pid", void 0), t([dt({
                type: String,
                attribute: !1
              })], Gt.prototype, "discount_ids", void 0), t([dt({
                attribute: !1
              })], Gt.prototype, "bundleInfo", void 0), t([dt({
                type: String,
                attribute: "style-type"
              })], Gt.prototype, "styleType", void 0), t([dt({
                attribute: "is-quick-shop"
              })], Gt.prototype, "isQuickShop", void 0), t([dt({
                attribute: !1
              })], Gt.prototype, "atcBtnStyle", void 0), t([ct()], Gt.prototype, "selected_all", void 0), t([ct()], Gt.prototype, "select_one", void 0), t([ct()], Gt.prototype, "selectedInfo", void 0), t([ct()], Gt.prototype, "modalProduct",
                void 0), t([ct()], Gt.prototype, "modalVisible", void 0), t([ct()], Gt.prototype, "loading", void 0), t([ct()], Gt.prototype, "success", void 0), t([ct()], Gt.prototype, "onResize", void 0), window.customElements.get(
                "bundle-product-list") || window.customElements.define("bundle-product-list", Gt);
              class Qt extends st {
                constructor() {
                  super(...arguments), this.src = "", this.href = "", this.styleTypeClass = "", this.isFirst = !1, this.isSelect = !0, this.isQuickShop = !1, this.count = 1, this.icon = R`<div class="icon"></div>`
                }
                updated() {
                  if (window.innerWidth < 960) return;
                  const {
                    isInProductInfo: t,
                    productInfoWidth: e
                  } = qt(!0);
                  if (!t) return;
                  this.item.classList.add("product-img--in");
                  const i = e || 500;
                  if (this.styleTypeClass === Vt.FASHION_HORIZONTAL) {
                    const t = (i - 32) / 3;
                    this.item.style.width = `${t}px`, this.item.style.height = 4 * t / 3 + "px"
                  } else if (this.styleTypeClass === Vt.FASHION_VERTICAL);
                  else {
                    const t = (i - 88) / 3;
                    this.item.style.height = `${t}px`, this.item.style.width = `${t}px`
                  }
                }
                render() {
                  return R`<div class="product-img"><a .href="${this.isQuickShop?"javascript:void(0);":It(this.href)}"><img src="${this.src}" class="${this.isSelect?"select":""} lazyload" alt="appbundle"> </a>${this.count>1?R`<div class="count notranslate ${this.isSelect?"select":""}">x ${this.count}</div>`:""}</div>`
                }
              }
              Qt.styles = [
                l`:host{display:flex;align-items:center}:host(.sutra) .product-img{position:relative;max-width:160px;max-height:160px;width:9vw;height:9vw;border-radius:4px;overflow:hidden}a{position:relative;display:block;width:100%;height:100%}img{position:absolute;left:0;right:0;top:0;bottom:0;max-width:100%;max-height:100%;display:block;margin:auto;opacity:.2}.product-img .select{opacity:1}.icon{padding:0 16px}.count{position:absolute;top:0;right:0;background-color:#ec9154;color:#fff;font-size:12px;line-height:1;padding:4px 6px;font-weight:800;border-bottom-left-radius:4px;opacity:.2}@media (max-width:960px){:host(.sutra) .product-img{width:90px!important;height:90px!important}}`,
                l`:host(.fashionHorizontal) .product-img{width:100%;height:260px;position:relative}:host(.fashionHorizontal) .count{top:initial;bottom:0;right:0;border-bottom-left-radius:0;padding:6px 10px;background:rgba(41,41,41,.4);font-family:Jost;font-size:14px;font-style:normal;font-weight:400;line-height:14px}:host(.fashionHorizontal) .product-img--in.product-img{height:200px}:host(.fashionHorizontal) .product-img--in .count{padding:2px 4px;font-size:12px}@media (max-width:960px){:host(.fashionHorizontal) .product-img{height:200px}:host(.fashionHorizontal) .count{padding:4px 8px;font-size:12px}}`,
                l`:host(.fashionVertical){height:100%;margin:0 16px;position:relative}:host(.fashionVertical) .product-img{width:103px;height:138px}:host(.fashionVertical) .count{top:initial;bottom:0;right:0;border-bottom-left-radius:0;padding:6px 10px;background:rgba(41,41,41,.4);font-family:Jost;font-size:14px;font-style:normal;font-weight:400;line-height:14px}:host(.fashionVertical) .product-img--in.product-img{width:85px;height:113px}:host(.fashionVertical) .product-img--in.count{padding:2px 4px;font-size:12px}@media (max-width:960px){:host(.fashionVertical) .product-img{width:85px;height:113px}:host(.fashionVertical) .count{padding:4px 8px;font-size:12px}}`
              ], t([dt({
                type: String
              })], Qt.prototype, "src", void 0), t([dt({
                type: String
              })], Qt.prototype, "href", void 0), t([dt()], Qt.prototype, "styleTypeClass", void 0), t([dt({
                type: Boolean,
                attribute: "is-first"
              })], Qt.prototype, "isFirst", void 0), t([dt({
                type: Boolean,
                attribute: "is-select"
              })], Qt.prototype, "isSelect", void 0), t([dt({
                type: Boolean
              })], Qt.prototype, "isQuickShop", void 0), t([dt({
                type: Number
              })], Qt.prototype, "count", void 0), t([ht(".product-img")], Qt.prototype, "item", void 0), window.customElements.get("bundle-product-img") || window.customElements.define("bundle-product-img", Qt);
              const Jt = R`<svg xmlns="http://www.w3.org/2000/svg" width="10" height="16" viewBox="0 0 10 16" fill="none"><path d="M8.5 0.928955L1.42893 8.00002L8.5 15.0711" stroke="#222222" stroke-width="2"/></svg>`,
                Yt = R`<svg xmlns="http://www.w3.org/2000/svg" width="10" height="16" viewBox="0 0 10 16" fill="none"><path d="M1.5 0.928955L8.57107 8.00002L1.5 15.0711" stroke="#222222" stroke-width="2"/></svg>`,
                Zt =
                R`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><rect x="1" y="1" width="22" height="22" rx="1" fill="#292929"/><path d="M5.3938 12.4719L10.8058 17.0053L18.6062 6.99475" stroke="white" stroke-width="2.2"/><rect x="1" y="1" width="22" height="22" rx="1" stroke="#292929" stroke-width="2"/></svg>`,
                Kt =
                R`<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect width="16" height="16" rx="2" fill="#2C77F6"/><path d="M12.328 3.75l1.422 1.408-7.163 7.092L2.25 7.956l1.422-1.409 2.915 2.886 5.74-5.683z" fill="#fff"/></svg>`,
                Xt =
                R`<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="1" width="14" height="14" rx="1" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M16 1.994C16 .894 15.107 0 14.006 0H1.994C.894 0 0 .893 0 1.994v12.012C0 15.106.893 16 1.994 16h12.012c1.1 0 1.994-.893 1.994-1.994V1.994zM1.994 1h12.012l.116.007a.996.996 0 0 1 .878.987v12.012l-.007.116a.996.996 0 0 1-.987.878H1.994l-.116-.007A.995.995 0 0 1 1 14.006V1.994l.007-.116A.996.996 0 0 1 1.994 1z" fill="#D8DBE6"/></svg>`,
                te =
                R`<svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path opacity=".01" fill="#fff" d="M0 0h16v16H0z"/><path d="M8 11.048a.748.748 0 0 0 .57-.26l4.555-4.556a.75.75 0 0 0-1.06-1.06L8 9.236 3.936 5.172a.75.75 0 0 0-1.061 1.06l4.555 4.556a.748.748 0 0 0 .57.26z" fill="#0A1533"/></svg>`,
                ee =
                R`<svg style="display:block;margin:auto" width="22" height="22" viewBox="0 0 50 50"><path fill="currentColor" fill-opacity=".6" d="M43.935 25.145c0-10.318-8.364-18.683-18.683-18.683-10.318 0-18.683 8.365-18.683 18.683h4.068c0-8.071 6.543-14.615 14.615-14.615s14.615 6.543 14.615 14.615h4.068z"><animateTransform attributeName="transform" attributeType="xml" dur="0.6s" from="0 25 25" repeatCount="indefinite" to="360 25 25" type="rotate"/></path></svg>`,
                ie = document.querySelector("bundle-product-list");
              class oe extends st {
                constructor() {
                  super(...arguments), this.backgroundColor = (null == ie ? void 0 : ie.getAttribute("btn-bg-color")) || "#EE7C30", this.textColor = (null == ie ? void 0 : ie.getAttribute("btn-text-color")) || "#FFFFFF", this.disabled = !1,
                    this.loading = !1, this.success = !1, this.successHtml =
                    R`<svg width="16" height="17" viewBox="0 0 16 17"><path d="M8 16.5a8 8 0 1 1 .001-16A8 8 0 0 1 8 16.5zM8 2.043c-3.787 0-6.457 2.67-6.457 6.457S4.213 14.957 8 14.957s6.457-2.67 6.457-6.457S11.787 2.043 8 2.043zm-.74 9.148l-.138.137-.027-.027a.555.555 0 0 1-.238.056.559.559 0 0 1-.321-.111l-.014.013-.068-.068-.001-.002-2.355-2.354.808-.808 1.951 1.95 4.306-4.306.808.809-4.71 4.71z" fill="currentColor"/></svg> Added`
                }
                render() {
                  let t = null;
                  return this.loading && (t = ee), this.success && (t = this.successHtml),
                    R`<div class="button" style="${`background-color: ${this.backgroundColor};color: ${this.textColor};${this.disabled?"background-color: #D9DADB;":""}`}">${t||R`<slot></slot>`}</div>`
                }
              }
              oe.styles = [
                l`.button{font-size:14px;line-height:24px;font-weight:500;justify-content:center;align-items:center;padding:12px 20px;border-radius:4px 4px 4px 4px;cursor:pointer;white-space:initial;word-break:keep-all}@media (max-width:960px){.button{text-align:center}}`,
                l`:host(.fashionHorizontal) .button{border-radius:0;text-align:center}`, l`:host(.fashionVertical) .button{border-radius:0}`
              ], t([dt({
                type: String,
                attribute: "bg-color"
              })], oe.prototype, "backgroundColor", void 0), t([dt({
                type: String,
                attribute: "text-color"
              })], oe.prototype, "textColor", void 0), t([dt({
                type: Boolean
              })], oe.prototype, "disabled", void 0), t([dt({
                type: Boolean
              })], oe.prototype, "loading", void 0), t([dt({
                type: Boolean
              })], oe.prototype, "success", void 0), window.customElements.get("bundle-button") || window.customElements.define("bundle-button", oe);
              const ne = l`:host(fashion-horizontal) .content_flex{display:flex}`;
              class se extends st {
                constructor() {
                  super(...arguments), this.index = 0, this.isSelect = !1, this.selectedOptions = {}, this.thisOne = !1, this.styleTypeClass = "", this.price = "", this.compare_at_price = "", this.modalWidth = 260, this.modalLeft = 0, this
                    .modalTop = 0, this.showModal = t => {
                      if (window.innerWidth < 960 || /none/.test(t.target.classList)) return;
                      const e = t.clientX - t.offsetX;
                      e + 300 > window.innerWidth ? this.modalLeft = e - (this.modalWidth - t.target.offsetWidth) : this.modalLeft = e, this.modalTop = t.clientY - t.offsetY + t.target.offsetHeight, this.isSelect = !0, this.eva(this.isSelect)
                    }, this.hideModal = () => {
                      window.innerWidth < 960 || (this.isSelect = !1, this.eva(this.isSelect))
                    }
                }
                requestUpdate() {
                  super.requestUpdate()
                }
                willUpdate() {
                  if (this.data.variants) {
                    if (this.data.selected_options) this.selectedOptions = Object.assign({}, this.data.selected_options);
                    else
                      for (let t of this.data.variants)
                        if (t.available) {
                          this.selectedOptions.option1 = t.option1, this.selectedOptions.option2 = t.option2, this.selectedOptions.option3 = t.option3;
                          break
                        } this.data.selected_id ? this.data.variants.forEach((t => {
                      t.id === this.data.selected_id && (this.price = t.price, this.compare_at_price = t.compare_at_price)
                    })) : (this.price = this.data.variants[0].price, this.compare_at_price = this.data.variants[0].compare_at_price)
                  }
                }
                updated() {
                  const {
                    isInProductInfo: t
                  } = qt();
                  t && this.bundleProductSelect && (t ? this.bundleProductSelect.classList.add("bundle-product-select--in") : this.bundleProductSelect.classList.remove("bundle-product-select--in"))
                }
                eva(t) {
                  const e = !document.querySelector('div[data-section-type*="//apps/appbundle/blocks/bundle-combination/"] bundle-product-list');
                  if ("Eva" === window.C_SETTINGS.theme.merchant_theme_name && e) {
                    const e = document.querySelector(".product-info__body");
                    e && (t ? e.classList.remove("tw-overflow-hidden") : e.classList.add("tw-overflow-hidden"))
                  }
                }
                clickBundle() {
                  if (window.innerWidth > 960) return;
                  const t = this.data.options && 0 === this.data.options.length,
                    e = this.data.options && this.data.options.length > 0 && 1 === this.data.variants.length;
                  t || e || (this.isSelect = !this.isSelect, this.eva(this.isSelect))
                }
                variantClick(t) {
                  var e, i;
                  const o = this;
                  Object.assign(this.selectedOptions, t.detail), null === (i = null === (e = this.data) || void 0 === e ? void 0 : e.variants) || void 0 === i || i.forEach((function(t) {
                    t.option1 === o.selectedOptions.option1 && t.option2 === ((null == o ? void 0 : o.selectedOptions.option2) || "") && t.option3 === ((null == o ? void 0 : o.selectedOptions.option3) || "") && (o.data.selected_id = t
                      .id, o.price = t.price, o.compare_at_price = t.compare_at_price)
                  })), this.data.selected_options = Object.assign({}, this.selectedOptions)
                }
                onChange() {
                  this.dispatchEvent(new CustomEvent("changeCheckBox", {
                    detail: {
                      index: this.index
                    },
                    bubbles: !0,
                    composed: !0
                  }))
                }
                render() {
                  var t;
                  const e = this.data.options && 0 === this.data.options.length || !this.data.options,
                    i = this.data.options && this.data.options.length > 0 && 1 === this.data.variants.length,
                    o = R`<div class="price money notranslate">${Nt(Number(this.price).toFixed(2))}</div>`;
                  return R`<div class="bundle-product-select"><div class="title" @click="${this.onChange}">${this.thisOne?R`<span style="font-weight:800">This item: </span>`:""}${this.data.title}</div>${this.styleTypeClass?R`<div class="price-wrap">${o}</div>`:""}<div class="content_flex select notranslate ${e||i?"none":""}" @mouseenter="${this.showModal}" @mouseleave="${this.hideModal}">${e?"":R`<div class="label ${this.isSelect?" lable-select":""} ${i?"one-option":""}" @click="${this.clickBundle}"><div class="selected-variant ${i?"white-space: normal;":""}">${Object.values(this.selectedOptions).filter((t=>!!t)).join("/")}</div>${i?"":te}</div>`} ${this.styleTypeClass?"":o} ${this.isSelect?R`<bundle-select-modal @variantClick="${this.variantClick}" @closeModal="${()=>{setTimeout((()=>{this.isSelect=!1,this.eva(this.isSelect)}),200)}}" class="option_overlay ${this.isSelect?"":"hidden"}" style="${window.innerWidth>960?`left: ${this.modalLeft}px; top: ${this.modalTop}px;`:""}width:${this.modalWidth}" .selectedOptions="${this.data.selected_options||this.selectedOptions}" .options="${null===(t=this.data)||void 0===t?void 0:t.options}" .data="${this.data}" .isSelect="${this.isSelect}" top="${document.documentElement.scrollTop.toString()}"></bundle-select-modal>`:""}<div class="dropdown-overlay ${this.isSelect?"":"hidden"}" @click="${()=>this.isSelect=!1}"></div></div></div>`
                }
              }
              se.styles = [ne, l`.content_flex{display:flex;align-items:center;position:relative;max-width:100%}.price{white-space:nowrap;color:var(--color_price)}.label{cursor:pointer}`,
                  l`:host(.sutra) .bundle-product-select{display:flex}:host(.sutra) .title{margin-left:16px;margin-right:16px;width:372px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;cursor:pointer;line-height:16px;color:#212b36;align-self:center}input{width:16px;height:16px;margin:0;padding:0;margin-right:12px;cursor:pointer}:host(.sutra) .label{display:flex;align-items:center;justify-content:space-between;width:260px;min-width:0;margin-right:16px;padding:6px 12px;border-radius:2px 2px 2px 2px;border:1px solid #d8dbe6;box-sizing:border-box}.one-option{padding-left:0;padding-right:0;border:none;width:auto!important}.label>svg{flex-shrink:0;margin-left:10px}.hidden{display:none!important}.lable-select{border:1px solid #30354d!important}.options{max-width:212px}:host(.sutra) .price{margin-right:auto;flex-shrink:0;font-size:16px}.selected-variant{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#212b36}.option_overlay{position:fixed;box-sizing:border-box;top:100%;left:0;max-height:300px;width:260px;overflow-y:scroll;background:#fff;box-shadow:0 2px 10px 1px rgba(0,0,0,.10000000149011612),0 0 4px 1px rgba(0,0,0,.03999999910593033);display:none;z-index:1100;padding:16px;padding-bottom:0;display:block;scrollbar-width:none;-ms-overflow-style:none}.option_overlay::-webkit-scrollbar{display:none}:host(.w-full) .bundle-product-select{flex-direction:column}:host(.w-full) .bundle-product-select .title{align-self:auto}:host(.w-full) .select{justify-content:space-between;margin-top:8px;margin-left:16px;box-sizing:border-box}:host(.w-full) .content,:host(.w-full) .content_flex,:host(.w-full) .title{width:auto}:host(.w-full) .label{flex:1}@media (max-width:960px){.bundle-product-select{flex-direction:column}.bundle-product-select .title{align-self:auto}.content,.content_flex,.title{width:auto}:host(.sutra) .label{flex:1}:host(.sutra) .bundle-product-select{flex-direction:column}.option_overlay{position:fixed;max-height:80vh;top:50%;left:50%!important;overflow-y:auto;transform:translate(-50%,-50%);z-index:1101;border-radius:4px;width:90%!important;padding:0}:host(.sutra) .title{width:auto}:host(.sutra) .price{font-size:14px}.dropdown-overlay{position:fixed;top:0;bottom:0;left:0;right:0;display:block;background-color:rgba(0,0,0,.5);z-index:1100}:host(.sutra) .select{justify-content:space-between;margin-top:8px;margin-left:16px;box-sizing:border-box}}`,
                  l`:host(.fashionHorizontal) .title,:host(.fashionVertical) .title{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(41,41,41,.75);font-family:Jost;font-size:14px;font-style:normal;font-weight:400;margin-bottom:10px}:host(.fashionHorizontal) .price-wrap{display:flex;flex-wrap:wrap;align-items:baseline;margin-bottom:20px}:host(.fashionHorizontal) .price,:host(.fashionVertical) .price{font-size:22px;margin-right:8px;line-height:18px;overflow:hidden;text-overflow:ellipsis}:host(.fashionHorizontal) .originPrice,:host(.fashionVertical) .originPrice{color:var(--color_price);color:#9f9f9f;font-family:Jost;font-size:16px;font-style:normal;font-weight:400;text-decoration:line-through;line-height:18px}:host(.fashionHorizontal) .label{display:flex;align-items:center;justify-content:center;width:100%;max-width:200px;border:1px solid #e6e6e6;box-sizing:border-box;padding:10px 20px}:host(.fashionHorizontal) .option_overlay{position:fixed}:host(.fashion-full.fashionHorizontal) .label{padding:4px 8px}:host(.fashion-full.fashionHorizontal) .price-wrap{display:block;margin-bottom:10px}:host(.fashion-full.fashionHorizontal) .price{margin-right:0;margin-bottom:8px;font-size:14px;white-space:initial}@media (max-width:960px){:host(.fashionHorizontal) .label{padding:4px 8px}:host(.fashionHorizontal) .price{font-size:14px}}`,
                  l`:host(.fashionVertical) .select{margin-right:auto}:host(.fashionVertical) .bundle-product-select{display:flex;flex-direction:column;min-height:128px;height:100%}:host(.fashionVertical) .price-wrap{display:flex;flex-wrap:wrap;align-items:baseline;margin-bottom:auto}:host(.fashionVertical) .label{display:flex;align-items:center;justify-content:center;width:auto;max-width:100%;border:1px solid #e6e6e6;box-sizing:border-box;padding:10px 20px;margin-top:10px}:host(.fashion-full.fashionVertical) .label{padding:4px 8px}:host(.fashionVertical) .bundle-product-select--in .price{font-size:14px}:host(.fashion-full.fashionVertical) .bundle-product-select{min-height:100px}:host(.fashion-full.fashionVertical) .select{width:auto}@media (min-width:960px){:host(.fashionVertical) .bundle-product-select--in .label>svg{margin-left:0}}@media (max-width:960px){:host(.fashionVertical) .label{padding:4px 8px}:host(.fashionVertical) .bundle-product-select{min-height:100px}:host(.fashionVertical) .select{margin-right:initial;width:auto}:host(.fashionVertical) .price{font-size:14px}}`
                ], t([dt()], se.prototype, "data", void 0), t([dt({
                  type: Number,
                  attribute: "index"
                })], se.prototype, "index", void 0), t([dt({
                  type: Boolean
                })], se.prototype, "isSelect", void 0), t([dt()], se.prototype, "selectedOptions", void 0), t([dt({
                  type: Boolean,
                  attribute: "this-one"
                })], se.prototype, "thisOne", void 0), t([dt()], se.prototype, "styleTypeClass", void 0), t([ht(".option_overlay")], se.prototype, "modalEl", void 0), t([ht(".label")], se.prototype, "labelEl", void 0), t([ht(
                  ".bundle-product-select")], se.prototype, "bundleProductSelect", void 0), t([ht(".dropdown-overlay")], se.prototype, "maskEl", void 0), t([ct()], se.prototype, "price", void 0), t([ct()], se.prototype, "compare_at_price",
                  void 0), t([ct()], se.prototype, "modalWidth", void 0), t([ct()], se.prototype, "modalLeft", void 0), t([ct()], se.prototype, "modalTop", void 0), window.customElements.get("bundle-product-select") || window.customElements
                .define("bundle-product-select", se);
              var re = !1;
              if ("undefined" != typeof window) {
                var le = {
                  get passive() {
                    re = !0
                  }
                };
                window.addEventListener("testPassive", null, le), window.removeEventListener("testPassive", null, le)
              }
              var ae = "undefined" != typeof window && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || "MacIntel" === window.navigator.platform && window.navigator.maxTouchPoints > 1),
                de = [],
                ce = !1,
                pe = -1,
                he = void 0,
                ue = void 0,
                fe = void 0,
                ve = function(t) {
                  return de.some((function(e) {
                    return !(!e.options.allowTouchMove || !e.options.allowTouchMove(t))
                  }))
                },
                me = function(t) {
                  var e = t || window.event;
                  return !!ve(e.target) || (e.touches.length > 1 || (e.preventDefault && e.preventDefault(), !1))
                },
                ge = function(t, e) {
                  if (t) {
                    if (!de.some((function(e) {
                        return e.targetElement === t
                      }))) {
                      var i = {
                        targetElement: t,
                        options: e || {}
                      };
                      de = [].concat(function(t) {
                        if (Array.isArray(t)) {
                          for (var e = 0, i = Array(t.length); e < t.length; e++) i[e] = t[e];
                          return i
                        }
                        return Array.from(t)
                      }(de), [i]), ae ? window.requestAnimationFrame((function() {
                        if (void 0 === ue) {
                          ue = {
                            position: document.body.style.position,
                            top: document.body.style.top,
                            left: document.body.style.left
                          };
                          var t = window,
                            e = t.scrollY,
                            i = t.scrollX,
                            o = t.innerHeight;
                          document.body.style.position = "fixed", document.body.style.top = -e, document.body.style.left = -i, setTimeout((function() {
                            return window.requestAnimationFrame((function() {
                              var t = o - window.innerHeight;
                              t && e >= o && (document.body.style.top = -(e + t))
                            }))
                          }), 300)
                        }
                      })) : function(t) {
                        if (void 0 === fe) {
                          var e = !!t && !0 === t.reserveScrollBarGap,
                            i = window.innerWidth - document.documentElement.clientWidth;
                          if (e && i > 0) {
                            var o = parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"), 10);
                            fe = document.body.style.paddingRight, document.body.style.paddingRight = o + i + "px"
                          }
                        }
                        void 0 === he && (he = document.body.style.overflow, document.body.style.overflow = "hidden")
                      }(e), ae && (t.ontouchstart = function(t) {
                        1 === t.targetTouches.length && (pe = t.targetTouches[0].clientY)
                      }, t.ontouchmove = function(e) {
                        1 === e.targetTouches.length && function(t, e) {
                          var i = t.targetTouches[0].clientY - pe;
                          !ve(t.target) && (e && 0 === e.scrollTop && i > 0 || function(t) {
                            return !!t && t.scrollHeight - t.scrollTop <= t.clientHeight
                          }(e) && i < 0 ? me(t) : t.stopPropagation())
                        }(e, t)
                      }, ce || (document.addEventListener("touchmove", me, re ? {
                        passive: !1
                      } : void 0), ce = !0))
                    }
                  } else console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.")
                },
                ye = function(t) {
                  t ? (de = de.filter((function(e) {
                    return e.targetElement !== t
                  })), ae && (t.ontouchstart = null, t.ontouchmove = null, ce && 0 === de.length && (document.removeEventListener("touchmove", me, re ? {
                    passive: !1
                  } : void 0), ce = !1)), ae ? function() {
                    if (void 0 !== ue) {
                      var t = -parseInt(document.body.style.top, 10),
                        e = -parseInt(document.body.style.left, 10);
                      document.body.style.position = ue.position, document.body.style.top = ue.top, document.body.style.left = ue.left, window.scrollTo(e, t), ue = void 0
                    }
                  }() : (void 0 !== fe && (document.body.style.paddingRight = fe, fe = void 0), void 0 !== he && (document.body.style.overflow = he, he = void 0))) : console.error(
                    "enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.")
                };
              let be;
              class xe extends st {
                constructor() {
                  super(...arguments), this.selectedOptions = {}, this.options = [], this.data = {}, this.top = "", this.price = "", this.compareAtPrice = "", this.image = {}, this.isSelect = !1, this.priceScope = "", this.backgroundColor =
                    "#EE7C30"
                }
                willUpdate() {
                  var t, e, i;
                  const o = this;
                  null === (e = null === (t = this.data) || void 0 === t ? void 0 : t.variants) || void 0 === e || e.forEach((function(t, e) {
                    t.option1 === o.selectedOptions.option1 && t.option2 === ((null == o ? void 0 : o.selectedOptions.option2) || "") && t.option3 === ((null == o ? void 0 : o.selectedOptions.option3) || "") && (o.image = (null == t ?
                      void 0 : t.image) || o.data.image, o.price = t.price, o.compareAtPrice = t.compare_at_price)
                  })), null === (i = this.modalInputEl) || void 0 === i || i.focus()
                }
                attributeChangedCallback(t, e, i) {
                  "top" === t && +i > 0 && (be = +i)
                }
                closeModal() {
                  var t;
                  window.innerWidth < 960 && ye(null === (t = this.shadowRoot) || void 0 === t ? void 0 : t.querySelector(".select")), document.documentElement.scrollTop = be, this.dispatchEvent(new CustomEvent("closeModal", {
                    bubbles: !0,
                    composed: !0,
                    cancelable: !0
                  }))
                }
                firstUpdated() {
                  window.innerWidth < 960 || (this.modalEl.addEventListener("mousedown", (t => {
                    this.closeIconEl.contains(t.target) || t.preventDefault()
                  })), this.modalInputEl.addEventListener("blur", (() => {
                    this.closeModal()
                  })))
                }
                variantChange(t) {
                  this.priceScope = t.detail
                }
                render() {
                  var t, e;
                  this.isSelect && window.innerWidth < 960 && ge(this.selectEl);
                  const i = (null === (t = this.selectEl) || void 0 === t ? void 0 : t.scrollHeight) > (null === (e = this.selectEl) || void 0 === e ? void 0 : e.clientHeight);
                  return R`<input id="modal" readonly="readonly"> <label class="modal notranslate" for="modal"><div class="modal_content"><div class="modal_header"><div class="modal_header_img"><img src="${this.image.src}" class="lazyload" alt="appbundle"></div><div class="modal_header_info"><div class="modal_header_title">${this.data.title}</div><div class="prices"><div class="modal_header_price money notranslate">${this.priceScope||Nt(this.price)}</div><div class="modal_compare_price money notranslate">${Nt(this.compareAtPrice)}</div></div></div><div class="modal_close_icon" @click="${this.closeModal}"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="none"><path fill="#000" d="m17.41 16.02 4.24 4.24a1.002 1.002 0 0 1-1.418 1.416l-4.241-4.24-4.269 4.269a1.009 1.009 0 0 1-1.427-1.427l4.27-4.27-4.24-4.24a1 1 0 0 1 1.414-1.416l4.241 4.241 4.298-4.298a1.009 1.009 0 0 1 1.427 1.427l-4.296 4.299Z"/></svg></div></div><div class="options"><bundle-product-option class="select" .isSelect="${this.isSelect}" .selectedOptions="${this.selectedOptions}" .options="${this.options}" .data="${this.data}" @variantClick="${()=>this.priceScope=""}" @variantChange="${this.variantChange}"></bundle-product-option></div></div></label><div class="btn" style="${i?"box-shadow: 0px 2px 10px 1px rgb(0 0 0 / 10%);":""}"><bundle-button @click="${this.closeModal}">confirm</bundle-button></div>`
                }
              }
              xe.styles =
                l`:host{position:relative}.modal_header{display:none}input#modal{height:0;opacity:0;border:0;position:absolute}.btn{display:none}@media(max-width:960px){.modal{display:flex;max-height:80vh;overflow:hidden}.modal_content{display:flex;flex-direction:column;overflow:hidden;width:100%}.modal_header{display:flex;position:relative;margin-bottom:16px;padding:16px;padding-bottom:0;flex-shrink:0}.modal_header .modal_close_icon{position:absolute;top:8px;right:6px}.modal_header_img img{margin-right:16px;flex-shrink:0}.modal_header_img{height:66px}.modal_header_img img{width:66px;height:66px;object-fit:cover;border-radius:4px 4px 4px 4px}.modal_header_info{margin-right:36px}.prices{display:flex;align-items:baseline}.modal_header_title{width:100%;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:16px}.modal_header_price{color:var(--color_price);font-size:16px;font-weight:500}.modal_compare_price{color:var(--color_origin_price);font-size:14px;margin-left:8px;text-decoration:line-through;font-weight:400}.options_wrap{padding:0 16px 78px 16px;flex:1;overflow:hidden}.options{flex:1;display:flex;overflow:hidden;padding-bottom:74px}.select{overflow:auto;padding:0 16px}.btn{display:block;position:fixed;bottom:0;left:0;width:100%;box-sizing:border-box;padding:16px;background-color:#fff;font-size:16px}}`,
                t([dt({})], xe.prototype, "selectedOptions", void 0), t([dt({
                  type: Array
                })], xe.prototype, "options", void 0), t([dt()], xe.prototype, "data", void 0), t([dt()], xe.prototype, "top", void 0), t([dt()], xe.prototype, "price", void 0), t([dt()], xe.prototype, "compareAtPrice", void 0), t([dt()], xe
                  .prototype, "image", void 0), t([dt({
                  type: Boolean
                })], xe.prototype, "isSelect", void 0), t([ht("label.modal")], xe.prototype, "modalEl", void 0), t([ht("input#modal")], xe.prototype, "modalInputEl", void 0), t([ht(".modal_close_icon")], xe.prototype, "closeIconEl", void 0), t(
                  [ht(".select")], xe.prototype, "selectEl", void 0), t([ct()], xe.prototype, "priceScope", void 0), t([dt({
                  type: String,
                  attribute: "background-color"
                })], xe.prototype, "backgroundColor", void 0), window.customElements.get("bundle-select-modal") || window.customElements.define("bundle-select-modal", xe);
              class we extends st {
                constructor() {
                  super(...arguments), this.options = [], this.selectedOptions = {}, this.overlay = !1, this.index = 0, this.isSelect = !1
                }
                variantsTypeChange(t) {
                  var e, i;
                  let o = t.currentTarget;
                  if (o.classList.contains("option_container_selected")) o.classList.remove("option_container_selected");
                  else {
                    null === (e = o.parentElement.querySelector(".option_container_selected")) || void 0 === e || e.classList.remove("option_container_selected"), o.classList.add("option_container_selected");
                    if (this.options.length === ((null === (i = this.shadowRoot.querySelectorAll(".option_container_selected")) || void 0 === i ? void 0 : i.length) || 0)) {
                      let t = {};
                      for (let e = 0; e < this.options.length; e++) t[`option${e+1}`] = this.contentEls[e].querySelector(".option_container_selected").getAttribute("val");
                      this.dispatchEvent(new CustomEvent("variantClick", {
                        detail: t,
                        bubbles: !0,
                        composed: !0,
                        cancelable: !0
                      }))
                    }
                  }
                  this.requestUpdate(), setTimeout((() => {
                    var t;
                    if (this.options.length === ((null === (t = this.shadowRoot.querySelectorAll(".option_container_selected")) || void 0 === t ? void 0 : t.length) || 0)) return;
                    let e = this.data.variants.slice();
                    const i = this.data.options;
                    this.shadowRoot.querySelectorAll(".option_container_selected").forEach((t => {
                      const o = t.id.split("-"),
                        n = parseInt(o[0].substring(6), 10) - 1,
                        s = parseInt(o[1], 10);
                      e = e.filter((t => t[o[0]] == i[n].values[s]))
                    }));
                    const o = e.reduce(((t, e) => parseFloat(t.price) > parseFloat(e.price) ? e : t), e[0]).price,
                      n = e.reduce(((t, e) => parseFloat(t.price) < parseFloat(e.price) ? e : t), e[0]).price,
                      s = o === n ? Nt(o) : `${Nt(o)} - ${Nt(n)}`;
                    this.dispatchEvent(new CustomEvent("variantChange", {
                      detail: s
                    }))
                  }), 50)
                }
                updated() {
                  var t = this.data.variants.slice();
                  const e = this.data.options;
                  let i = [];
                  this.shadowRoot.querySelectorAll(".option_container_selected").forEach((o => {
                    var n = o.id.split("-"),
                      s = parseInt(n[0].substring(6), 10) - 1,
                      r = parseInt(n[1], 10);
                    i.push(n[0]), t = t.filter((t => t[n[0]] == e[s].values[r]))
                  }));
                  this.shadowRoot.querySelectorAll(".option_container:not(.option_container_selected)").forEach((o => {
                    var n = o.id.split("-"),
                      s = parseInt(n[0].substring(6), 10) - 1,
                      r = parseInt(n[1], 10),
                      l = Object.assign({}, t[0]);
                    l[n[0]] = e[s].values[r];
                    var a = i.slice(); - 1 == a.indexOf(n[0]) && a.push(n[0]);
                    var d = 0 == this.data.variants.filter((t => (t.option1 == l.option1 || -1 === a.indexOf("option1")) && (t.option2 == l.option2 || -1 === a.indexOf("option2")) && (t.option3 == l.option3 || -1 === a.indexOf(
                      "option3")) && +t.available_quantity > 0)).length;
                    d ? o.classList.add("disabled") : o.classList.remove("disabled")
                  }))
                }
                render() {
                  var t;
                  return R`<div class="product_option notranslate">${null===(t=this.options)||void 0===t?void 0:t.map(((t,e)=>R`<div class="option_name">${t.name}</div><div class="option_content" index="${e}">${t.values.map(((t,i)=>R`<div val="${t}" option="${`option${e+1}`}" id="${`option${e+1}-${i}`}" class="option_container ${this.selectedOptions["option"+(+e+1)]===t?"option_container_selected":""}" @click="${this.variantsTypeChange}">${t}</div>`))}</div>`))}</div>`
                }
              }
              we.styles =
                l`@media(max-width:960px){:host(.select) .product_option{max-height:70vh}}.option_content{display:flex;flex-wrap:wrap;margin-bottom:8px;margin-top:8px}.option_name{font-size:12px;line-height:16px}.option_container{min-width:36px;min-height:36px;box-shadow:inset 0 0 0 1px rgba(33,43,54,.25),inset 0 0 0 3px transparent;padding:6px 12px;margin-right:8px;margin-bottom:8px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;border-radius:2px;font-size:14px;cursor:pointer;word-break:break-word}.option_container_selected{box-shadow:inset 0 0 0 2px var(--color-body-text,#212b36)}.disabled{background-color:#efefef;pointer-events:none}@media(max-width:960px){.option_name{font-size:14px}.option_content{font-size:16px}.option_container{min-width:42px;min-height:42px}.product_option{scrollbar-width:none;-ms-overflow-style:none}.product_option::-webkit-scrollbar{display:none}}`,
                t([function(t) {
                  return pt({
                    descriptor: e => ({
                      get() {
                        var e, i;
                        return null !== (i = null === (e = this.renderRoot) || void 0 === e ? void 0 : e.querySelectorAll(t)) && void 0 !== i ? i : []
                      },
                      enumerable: !0,
                      configurable: !0
                    })
                  })
                }(".option_content")], we.prototype, "contentEls", void 0), t([dt()], we.prototype, "options", void 0), t([dt()], we.prototype, "data", void 0), t([dt({})], we.prototype, "selectedOptions", void 0), t([dt({
                  type: Boolean
                })], we.prototype, "overlay", void 0), t([dt({
                  type: Number
                })], we.prototype, "index", void 0), t([dt({
                  type: Boolean
                })], we.prototype, "isSelect", void 0), window.customElements.get("bundle-product-option") || window.customElements.define("bundle-product-option", we);
              const _e = window.C_SETTINGS.shop.wholesale_enabled;
              class $e extends st {
                constructor() {
                  super(...arguments), this.data = {}, this.selectedOptions = {}, this.options = [], this.numDropDown = 1, this.imgList = [], this.currentImgIndex = 0, this.currentPosition = 1, this.loading = !1, this.priceScope = "", this
                    .icon =
                    R`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path opacity=".01" fill="#fff" d="M0 0h16v16H0z"/><path d="M8 11.048a.748.748 0 0 0 .57-.26l4.555-4.556a.75.75 0 0 0-1.06-1.06L8 9.236 3.936 5.172a.75.75 0 0 0-1.061 1.06l4.555 4.556a.748.748 0 0 0 .57.26z" fill="#0A1533"/></svg>`,
                    this.closeIcon =
                    R`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M3.404 2.343l4.595 4.595 4.597-4.595a.75.75 0 1 1 1.06 1.06L9.06 8l4.597 4.597a.75.75 0 1 1-1.06 1.06L7.998 9.06l-4.595 4.597a.75.75 0 1 1-1.06-1.06l4.594-4.598-4.595-4.595a.75.75 0 1 1 1.06-1.06z" fill="currentColor"/></svg>`
                }
                firstUpdated() {
                  var t, e, i, o, n;
                  if (ge(null === (t = this.shadowRoot) || void 0 === t ? void 0 : t.querySelector(".content")), this.imgList = this.data.images.map((t => t.src)) || [], null === (e = this.data) || void 0 === e ? void 0 : e.variants) {
                    if (this.data.selected_options) this.selectedOptions = Object.assign({}, this.data.selected_options);
                    else
                      for (let t of this.data.variants)
                        if (t.available) {
                          this.selectedOptions.option1 = t.option1, this.selectedOptions.option2 = t.option2, this.selectedOptions.option3 = t.option3;
                          break
                        } this.data.selected_id && this.data.variants.forEach(((t, e) => {
                      if (t.id === this.data.selected_id) {
                        let e = this.imgList.findIndex((e => {
                          var i;
                          return (null === (i = t.image) || void 0 === i ? void 0 : i.src) === e
                        }));
                        e > -1 && (this.currentImgIndex = e), this.changeNextOrPrev(0, 1)
                      }
                    }))
                  }
                  this.listEl.addEventListener("scroll", Lt((t => {
                    const e = this.listEl.scrollLeft,
                      i = .75 * document.body.offsetWidth;
                    this.currentPosition = Math.round(e / i) + 1
                  }), 100)), this.shadowRoot.querySelector(".modal").addEventListener("touchstart", (t => {
                    t.stopPropagation()
                  }));
                  (null === (i = this.shadowRoot) || void 0 === i ? void 0 : i.querySelector(".num_input")).addEventListener("blur", (t => {
                    if (t.target.value = t.target.value.replace(/[^\d]/g, ""), "" === t.target.value.trim() || +t.target.value.trim() < 1) return t.target.value = 1, void(this.numDropDown = 1);
                    this.numDropDown = +t.target.value
                  }));
                  const s = null === (o = this.shadowRoot) || void 0 === o ? void 0 : o.querySelector(".num_item_sub"),
                    r = null === (n = this.shadowRoot) || void 0 === n ? void 0 : n.querySelector(".num_item_add");
                  1 === this.numDropDown && s.classList.add("num_item_not_allow"), s.addEventListener("click", (t => {
                    this.numDropDown > 1 && this.numDropDown--
                  })), r.addEventListener("click", (t => {
                    var e, i, o;
                    const n = this.data.variants.find((t => t.id === this.data.selected_id)); + n.available_quantity > +this.numDropDown && (this.numDropDown++, null === (o = null === (i = null === (e = this.shadowRoot) || void 0 ===
                      e ? void 0 : e.querySelector(".num_item_not_allow")) || void 0 === i ? void 0 : i.classList) || void 0 === o || o.remove("num_item_not_allow"))
                  }))
                }
                variantChange(t) {
                  this.priceScope = t.detail
                }
                getQualifiedWPriceClassName(t) {
                  let e = "";
                  return t.max_quantity ? this.numDropDown <= t.max_quantity && this.numDropDown >= t.min_quantity && (e = "w-price-qualified") : this.numDropDown >= t.min_quantity && (e = "w-price-qualified"), e
                }
                variantClick(t) {
                  var e, i;
                  Object.assign(this.selectedOptions, t.detail), null === (i = null === (e = this.data) || void 0 === e ? void 0 : e.variants) || void 0 === i || i.forEach(((t, e) => {
                    if (t.option1 === this.selectedOptions.option1 && t.option2 === ((null == this ? void 0 : this.selectedOptions.option2) || "") && t.option3 === ((null == this ? void 0 : this.selectedOptions.option3) || "")) {
                      const e = this.imgList.findIndex((e => {
                        var i;
                        return (null === (i = t.image) || void 0 === i ? void 0 : i.src) === e
                      }));
                      this.data.selected_id = t.id, -1 !== e && (this.currentImgIndex = e)
                    }
                  })), this.data.selected_options = Object.assign({}, this.selectedOptions), this.scrollList(), this.changeNextOrPrev(0);
                  const o = this.data.variants.find((t => t.id === this.data.selected_id)); + this.numDropDown > +o.available_quantity && (this.numDropDown = +o.available_quantity), this.priceScope = "", this.requestUpdate()
                }
                changeImage(t) {
                  this.currentImgIndex = t, this.scrollList(), this.changeNextOrPrev(0)
                }
                scrollList() {
                  setTimeout((() => {
                    try {
                      const t = this.shadowRoot.querySelector(".img-item-selected");
                      t.parentElement.scrollTo({
                        left: t.offsetLeft,
                        behavior: "smooth"
                      })
                    } catch (t) {
                      console.error(t)
                    }
                  }))
                }
                changeNextOrPrev(t, e) {
                  const i = this.currentImgIndex + t;
                  i < 0 || i > this.imgList.length - 1 || (this.currentImgIndex += t, e ? setTimeout((() => {
                    this.shadowRoot.querySelector(".img-item-selected").scrollIntoView({
                      inline: "start"
                    })
                  })) : this.scrollList())
                }
                closeModal() {
                  var t;
                  ye(null === (t = this.shadowRoot) || void 0 === t ? void 0 : t.querySelector(".content")), document.documentElement.scrollTop = this.currentScrollTop, this.close()
                }
                buyNowProcess(t) {
                  var i;
                  return e(this, void 0, void 0, (function*() {
                    let e = t.properties || {};
                    const o = yield Bt.post("/api/checkout/order", {
                      body: {
                        line_items: [{
                          quantity: +this.numDropDown || 1,
                          variant_id: t.selected_id,
                          note: "",
                          properties: e
                        }],
                        refer_info: {
                          source: "buy_now"
                        }
                      }
                    });
                    if ("success" === o.state) return window.safeHref = It(`/checkout/${null===(i=o.data)||void 0===i?void 0:i.order_token}?step=contact_information`)
                  }))
                }
                addToCart() {
                  var t, i;
                  return e(this, void 0, void 0, (function*() {
                    if ("" !== this.priceScope) return void this.showToast('Please select a variant at least');
                    this.loading = !0;
                    const e = {
                        product_id: this.data.id,
                        variant_id: this.data.selected_id,
                        quantity: +this.numDropDown || 1
                      },
                      o = yield Bt.post("/api/cart/batch", {
                        body: {
                          line_items: [e]
                        }
                      });
                    if (o.errors) return this.showToast(o.errors[0]), this.loading = !1, void this.closeModal();
                    this.loading = !1;
                    const n = ((null === (t = window.SHOP_PARAMS) || void 0 === t ? void 0 : t.product_settings) || {}).add_to_cart_process;
                    "to_cart" === n && "page" === n || (Rt ? window.$(document).trigger("dj.common.cart.change") : document.dispatchEvent(new CustomEvent("dj.cartChange")));
                    const s = {
                      id: this.data.id,
                      product_id: this.data.id,
                      number: this.data.count || 1,
                      quantity: this.numDropDown || 1,
                      variant_id: this.data.selected_id,
                      childrenId: this.data.selected_id,
                      item_price: this.data.variants.find((t => t.id === this.data.selected_id)).price,
                      name: this.data.title,
                      type: "",
                      source: "bundle",
                      process: ((null === (i = window.SHOP_PARAMS) || void 0 === i ? void 0 : i.product_settings) || {}).add_to_cart_process
                    };
                    Rt ? window.$(document.body).trigger("dj.addToCart", s) : document.dispatchEvent(new CustomEvent("dj.addToCart", {
                      detail: s
                    })), this.closeModal(), "to_cart" === n || "page" === n ? window.safeHref ? window.safeHref = It("/cart") : window.location.href = It("/cart") : "to_checkout" === n && this.buyNowProcess(this.data), this
                    .showToast()
                  }))
                }
                showToast(t) {
                  const e = document.createElement("bundle-toast");
                  t && (e.text = t), document.body.appendChild(e)
                }
                render() {
                  const t = this.data.variants.find((t => t.id === this.data.selected_id)),
                    e = null == t ? void 0 : t.price,
                    i = null == t ? void 0 : t.compare_at_price,
                    o = window.innerWidth < 960,
                    n = this.currentImgIndex > 0,
                    s = this.currentImgIndex < this.imgList.length - 1;
                  return R`<div class="modal"><div class="content"><div class="slider"><div class="image"><img src="${this.imgList[this.currentImgIndex]}" class="lazyload" alt="appbundle"> ${n?R`<div class="arrow arrow-l" @click="${()=>this.changeNextOrPrev(-1)}"><svg viewBox="0 0 100 100"><path d="M30 50l25 25 5-5-20-20 20-20-5-5z" fill="#fff"/></svg></div>`:""} ${s?R`<div class="arrow arrow-r" @click="${()=>this.changeNextOrPrev(1)}"><svg viewBox="0 0 100 100"><path d="M70 50L45 25l-5 5 20 20-20 20 5 5z" fill="#fff"/></svg></div>`:""}</div><div class="list" style="grid-template-columns:repeat(${this.imgList.length},${o?this.imgList.length>1?"75%":"100%":"68px"})">${this.imgList.map(((t,e)=>R`<img alt="appbundle" class="lazyload img-item ${e===this.currentImgIndex?"img-item-selected":""} ${1===this.imgList.length?"lonely":""}" src="${t}" @click="${()=>this.changeImage(e)}">`))} ${this.imgList.length>1?R`<div class="position notranslate">${this.currentPosition}/${this.imgList.length}</div>`:""}</div></div><div class="body"><div class="header"><div class="title">${this.data.title}</div>${_e?R`<div><a href="${It(this.data.url)}" class="see-detail see-detail-trial">See detail${this.icon}</a></div><div class="w-price-list notranslate">${((null==t?void 0:t.wholesale_price)||[]).map((t=>R`<div class="w-price-item"><div class="w-price ${this.getQualifiedWPriceClassName(t)}">${Nt(t.price)}</div><div class="w-item">${t.max_quantity?`${t.min_quantity} - ${t.max_quantity} Pieces`:`>= ${t.min_quantity} Pieces`}</div></div>`))}</div>`:R`<div class="sub"><div class="prices"><span class="price money notranslate">${this.priceScope||Nt(e)}</span> <span class="compare-price money notranslate">${Nt(i)}</span></div><a href="${It(this.data.url)}" class="see-detail">See detail${this.icon}</a></div>`}</div>${o?R`<div class="divider"></div>`:""}<div class="options"><bundle-product-option .selectedOptions="${this.selectedOptions}" .options="${this.data.options}" .data="${this.data}" @variantClick="${this.variantClick}" @variantChange="${this.variantChange}"></bundle-product-option></div><div class="quantity"><div class="quantity_title">Quantity</div><div class="num_select_mobile"><div class="num_item_sub ${1==+this.numDropDown?"num_item_not_allow":""}"><svg fill="currentColor" width="13" height="14" xmlns="http://www.w3.org/2000/svg"><rect y="6" width="13" height="1" rx=".5" transform="translate(0 .5)" fill-rule="evenodd"></rect></svg></div><input type="tel" class="num_input" .value="${this.numDropDown}"><div class="num_item_add ${+this.numDropDown>=t.available_quantity?"num_item_not_allow":""}"><svg width="13" height="14" xmlns="http://www.w3.org/2000/svg"><path d="M6.5 0a.5.5 0 0 1 .5.5V6h5.5a.5.5 0 1 1 0 1H7v5.5a.5.5 0 1 1-1 0V7H.5a.5.5 0 0 1 0-1H6V.5a.5.5 0 0 1 .5-.5z" fill="currentColor"></path></svg></div></div></div><div class="btn"><bundle-button text-color="${this.btnTextColor}" bg-color="${this.btnBgColor}" @click="${this.addToCart}" ?loading="${this.loading}">Add to Cart</bundle-button></div></div><div class="close-icon" @click="${this.closeModal}">${this.closeIcon}</div></div><div class="mask" @click="${this.closeModal}"></div></div>`
                }
              }
              $e.styles =
                l`.content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1101;background-color:#fff;display:flex}@media (max-width:960px){.content{top:68px;left:0;right:0;bottom:0;transform:unset;flex-direction:column;overflow:scroll;padding-bottom:86px}}.slider{position:relative;flex-shrink:0;padding:24px;width:360px;user-select:none;padding-inline-end:0}@media (max-width:960px){.slider{width:100%;padding:0}}.title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#212b36;line-height:22px;font-size:16px}.price{font-size:22px;font-weight:500;color:var(--color_price);line-height:22px}.prices{display:flex;align-items:center}.compare-price{margin-left:8px;font-size:16px;font-weight:400;color:var(--color_origin_price);line-height:22px;text-decoration:line-through}@media (min-width:960px){.options{max-height:420px;overflow:scroll;scrollbar-width:none;-ms-overflow-style:none}.options::-webkit-scrollbar{display:none}}.image{position:relative;width:100%;height:480px}@media (max-width:960px){.image{display:none}}.image>img{width:100%;height:100%;object-fit:contain}.arrow{position:absolute;top:50%;width:40px;height:40px;background-color:rgba(0,0,0,.14);border-radius:50%;cursor:pointer;z-index:1}.arrow-not-allow{opacity:.7}.arrow-l{left:16px;transform:translate(0,-50%)}.arrow-r{right:16px;transform:translate(0,-50%)}.body{display:flex;flex-direction:column;width:350px;padding:24px 48px 24px 40px}.quantity{font-size:14px}.quantity_title{margin-bottom:8px}.num_select_mobile{display:none}.num_select_mobile{display:flex;align-items:center;justify-content:center;width:120px}.num_item_add,.num_item_sub{border:1px solid #ddd;cursor:pointer}.num_item_add,.num_item_sub,.num_item_val{display:flex;align-items:center;justify-content:center;width:38px;height:38px}.num_item_not_allow{background-color:#e6e6e6;color:rgba(16,16,16,.3)}.num_input{box-sizing:border-box;border:1px solid transparent;width:36px;height:40px;outline:0;font-size:16px;text-align:center}.quantity_select{display:flex}.select_icon{margin-top:10px;margin-left:-26px;pointer-events:none}@media (max-width:960px){.body{width:100%;padding:16px;box-sizing:border-box}}.header{display:flex;flex-direction:column}.sub{display:flex;align-items:center;padding:16px 0}.see-detail{display:flex;align-items:center;margin-left:auto;color:#30354d;font-size:14px;text-decoration:auto;cursor:pointer;white-space:nowrap;flex-shrink:0}.see-detail svg{margin-left:4px;transform:rotateZ(270deg)}.see-detail-trial{margin-top:8px}.w-price-list{display:flex;padding:12px 16px;background:#f9f9fa;border-radius:4px;overflow-x:scroll;margin-top:8px}.w-price-list::-webkit-scrollbar{height:4px}.w-price-list::-webkit-scrollbar-track{background:#f9f9fa}.w-price-list::-webkit-scrollbar-thumb{background:#cccbcb;border-radius:2px}.w-price-list::-webkit-scrollbar-thumb:hover{background:#888}.w-price-item{margin-right:32px;flex-shrink:0}.w-price-item:last-child{margin-right:0}.w-price{font-weight:500;font-size:16px;line-height:23px;color:val(--color-body-text,#292929)}.w-price-qualified{color:#ff3f02}.w-item{font-weight:400;font-size:12px;line-height:17px;color:rgba(41,41,41,.7);margin-top:4px}.list{display:grid;grid-column-gap:8px;overflow-x:scroll;width:100%;margin-top:8px;scrollbar-width:none;-ms-overflow-style:none}.list::-webkit-scrollbar{display:none}@media (max-width:960px){.list{scroll-snap-type:x mandatory;margin-top:0}.sub{padding:8px 0}.price{font-size:20px}.divider{border-bottom:1px solid #d8dbe6;margin:12px 0 20px 0}.see-detail{font-size:12px}}@media (min-width:960px){.position{display:none}}.position{position:absolute;right:12px;bottom:12px;z-index:1;background:rgba(0,0,0,.4);border-radius:17px 17px 17px 17px;padding:4px 8px;font-size:12px;color:#fff;line-height:14px}.img-item{width:68px;height:68px;object-fit:cover;border-radius:4px;box-sizing:border-box}@media (max-width:960px){.img-item{width:100%;height:75vw;scroll-snap-align:start;border-radius:0}.lonely{height:80vw;object-fit:contain;background-color:#f9f9f9}}@media (min-width:960px){.img-item-selected{padding:3px;border:1px solid #212b36}}.btn{margin-top:auto;text-align:center;padding-top:16px;margin-bottom:-8px}@media (max-width:960px){.btn{position:fixed;bottom:0;left:0;width:100%;box-sizing:border-box;padding:16px;box-shadow:0 2px 10px 1px rgb(0 0 0 / 10%);background-color:#fff;margin-bottom:0}.title{font-size:14px;line-height:16px}}.mask{position:fixed;top:0;left:0;bottom:0;right:0;z-index:1100;background-color:rgba(0,0,0,.7)}.close-icon{position:absolute;top:8px;right:8px;display:flex;justify-content:center;align-items:center;color:#0a1533;width:36px;height:36px;background-color:transparent;cursor:pointer;z-index:1}html[dir=rtl] .close-icon{left:8px;right:unset}@media (max-width:960px){.close-icon{position:fixed;top:80px;right:12px;color:#fff;border-radius:50%;background-color:rgba(0,0,0,.2)}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}`,
                t([ht(".list")], $e.prototype, "listEl", void 0), t([dt()], $e.prototype, "data", void 0), t([dt()], $e.prototype, "selectedOptions", void 0), t([dt({
                  type: Array
                })], $e.prototype, "options", void 0), t([dt()], $e.prototype, "close", void 0), t([dt()], $e.prototype, "numDropDown", void 0), t([dt({
                  attribute: "btn-bg-color"
                })], $e.prototype, "btnBgColor", void 0), t([dt({
                  attribute: "btn-text-color"
                })], $e.prototype, "btnTextColor", void 0), t([dt({
                  attribute: "top"
                })], $e.prototype, "currentScrollTop", void 0), t([ct()], $e.prototype, "imgList", void 0), t([ct()], $e.prototype, "currentImgIndex", void 0), t([ct()], $e.prototype, "currentPosition", void 0), t([ct()], $e.prototype,
                  "loading", void 0), t([ct()], $e.prototype, "priceScope", void 0), window.customElements.get("bundle-product-modal") || window.customElements.define("bundle-product-modal", $e);
              class Se extends st {
                updated() {
                  var t;
                  const e = window.innerWidth < 960,
                    i = !document.querySelector('div[data-section-type*="//apps/appbundle/blocks/bundle-combination/"] bundle-product-list'),
                    o = this.shadowRoot.querySelector(".wrap"),
                    n = this.shadowRoot.querySelector(".skeleton");
                  i && !e && (o.style.padding = "40px 0", n.style.padding = "40px 8px 12px", null === (t = this.shadowRoot.querySelector(".skeleton br")) || void 0 === t || t.remove()), i && e && (o.style.padding = "16px 0"), i || e || (o
                    .style.padding = "40px 0"), !i && e && (o.style.padding = "16px 0")
                }
                render() {
                  return R`<div class="wrap"><div class="skeleton">The current item does not participate in the bundling. Switch the participating items to check the design.<br>(This prompt will not be displayed on the client-side)</div></div>`
                }
              }
              Se.styles =
                l`.wrap{max-width:var(--layout-width,1000px);margin:0 auto}.skeleton{position:relative;border-radius:4px;border:2px dashed #000;color:#000;line-height:20px!important;text-align:center;font-size:14px;padding:24px 16px;font-weight:500}@media (max-width:960px){.skeleton{font-size:12px;padding:40px 8px 12px!important}.skeleton::before{font-size:12px}}.skeleton::before{content:"Bundle sales";position:absolute;top:-2px;left:-2px;padding:8px 12px;font-size:14px;background-color:#000;color:#fff;border-radius:4px 0 4px 0;text-align:center;font-weight:500}`,
                window.customElements.get("bundle-skeleton") || window.customElements.define("bundle-skeleton", Se);
              class Ce extends st {
                constructor() {
                  super(...arguments), this.text = "", this.successHtml =
                    R`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M12 24C5.373 24 0 18.628 0 12S5.373 0 12 0s12 5.373 12 12-5.373 12-12 12zm0-21.685c-5.68 0-9.686 4.006-9.686 9.686S6.32 21.686 12 21.686s9.686-4.005 9.686-9.685c0-5.68-4.006-9.686-9.686-9.686zm-1.11 13.721l-.207.207-.04-.04a.833.833 0 0 1-.357.084.838.838 0 0 1-.482-.168l-.02.02-.103-.103-.002-.001-3.532-3.533 1.212-1.212 2.927 2.927 6.458-6.46 1.213 1.213-7.064 7.065-.002.001z" fill="#EE7C30"/></svg>`
                }
                firstUpdated() {
                  setTimeout((() => {
                    const t = document.querySelector("bundle-toast");
                    null == t || t.remove()
                  }), 3e3)
                }
                render() {
                  return R`<div class="toast">${this.text?"":R`<div class="icon">${this.successHtml}</div>`} ${this.text||'Added'}</div>`
                }
              }
              Ce.styles =
                l`.toast{position:fixed;z-index:1250;left:50%;transform:translateX(-50%);display:flex;justify-content:center;align-items:center;padding:12px 120px;background-color:rgba(0,0,0,.8);font-size:16px;color:#fff;animation:fade_pc 3s;animation-fill-mode:forwards;border-radius:4px;text-align:center}.icon{display:flex;align-items:center;margin-right:12px}@media (max-width:960px){.toast{padding:12px 28px;animation:fade_mobile 3s;animation-fill-mode:forwards}}@keyframes fade_pc{0%{opacity:.1;top:20px}20%{opacity:1;top:100px}80%{opacity:1;top:100px}100%{opacity:0;top:20px}}@keyframes fade_mobile{0%{opacity:.1;top:0}20%{opacity:1;top:50px}80%{opacity:1;top:50px}100%{opacity:0;top:0}}`,
                t([dt()], Ce.prototype, "text", void 0), window.customElements.get("bundle-toast") || window.customElements.define("bundle-toast", Ce);
              class ke extends st {
                constructor() {
                  super(...arguments), this.overWidth = !1, this.titleText = "", this.savePrice = "", this.salePrice = "", this.switchable = !1, this.atcBtnStyle = 1, this.titleColor = "", this.btnBgColor = "", this.btnTextColor = "", this
                    .bundleInfo = {}, this.styleType = "sutra", this.isQuickShop = !1, this.selected_all = !1, this.select_one = !1, this.selectedInfo = [], this.loading = !1, this.success = !1, this.styleTypeClass = ""
                }
                renderImgs(t, e) {
                  var i;
                  const o = this.overWidth;
                  return null === (i = this.selectedInfo) || void 0 === i ? void 0 : i.slice(t, e).map(((e, i) => {
                    var n, s, r;
                    const l = null === (n = e.variants) || void 0 === n ? void 0 : n.find((t => t.id === e.selected_id)),
                      a = (null === (s = null == l ? void 0 : l.image) || void 0 === s ? void 0 : s.src) || (null === (r = e.image) || void 0 === r ? void 0 : r.src);
                    return R`<div class="img-item">${0!==i||3===t?R`<svg style="${o?"":"padding: 0 12px;"}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path d="M18.573 8.571h-7.145V1.428a1.427 1.427 0 1 0-2.856 0V8.57H1.428a1.428 1.428 0 0 0 0 2.856h7.144v7.144a1.428 1.428 0 0 0 2.856 0v-7.145h7.144a1.428 1.428 0 0 0 0-2.855z" fill="#C5C5C5"/></svg>`:""}<bundle-product-img class="sutra ${o?"":"w-full"}" ?is-select="${e.is_selected}" .isQuickShop="${this.isQuickShop}" .count="${e.count}" .href="${e.url}" .src="${a}" @click="${()=>this.clickProduct(e)}"></bundle-product-img></div>`
                  }))
                }
                clickProduct(t) {
                  this.dispatchEvent(new CustomEvent("clickProduct", {
                    detail: t
                  }))
                }
                clickSelect() {
                  this.dispatchEvent(new CustomEvent("clickSelect"))
                }
                render() {
                  const t = this.overWidth,
                    e =
                    R`<bundle-add-cart class="sutra ${t?"":"w-full"}" styleTypeClass="${this.styleTypeClass}" layer_type="${this.bundleInfo.layer_type}" total_price="${this.bundleInfo.totalPrice}" value="${this.bundleInfo.value}" value_type="${this.bundleInfo.value_type}" .atcBtnStyle="${this.atcBtnStyle}" .salePrice="${this.salePrice}" .savePrice="${this.savePrice}" .selectedInfo="${this.selectedInfo}" .selected_all="${this.selected_all}" .success="${this.success}" .loading="${this.loading}" .btnTextColor="${this.btnTextColor}" .btnBgColor="${this.btnBgColor}" .select_one="${this.select_one}"></bundle-add-cart>`;
                  return R`<div class="container"><div class="content-list"><div class="img-list" style="${t?"":"justify-content:center; flex-wrap: wrap"}"><div class="first-list">${this.renderImgs(0,3)}</div><div class="second-list">${this.renderImgs(3)}</div></div>${t?e:""}</div><div class="select-list">${this.selectedInfo.map(((e,i)=>R`<div class="content"><div class="checkbox-wrap ${t?"":"checkbox-top"}"><bundle-check-box class="${this.styleTypeClass}" styleTypeClass="${this.styleTypeClass}" .data="${e}" .index="${i}" ?this-one="${e.thisOne}"></bundle-check-box></div><div class="select-wrap"><bundle-product-select class="sutra ${t?"":"w-full"}" ?this-one="${e.thisOne}" .data="${e}" .index="${i}" @click="${this.clickSelect}"></bundle-product-select></div></div>`))}</div>${t?"":e}</div>`
                }
              }
              ke.styles =
                l`.select-list{width:100%}.container{display:flex;flex-wrap:wrap}.checkbox-wrap{flex-shrink:0}.select-wrap{flex:1;width:0}.content{position:relative;display:flex;flex-wrap:wrap;align-items:center;margin-bottom:16px;flex-wrap:wrap;font-size:14px}.content-list{display:flex;margin-bottom:24px}.content-list svg{width:20px;height:20px;padding:0 16px}.img-list{display:flex}.img-item{display:flex;align-items:center;margin-top:32px}.grow-1{flex-grow:1;text-align:center}.first-list,.second-list{display:flex}.checkbox-top{align-self:flex-start}@media (max-width:960px){.checkbox-wrap{align-self:flex-start}.content-list svg{width:12px;height:12px;padding:0 8px!important}.bundle_money{color:var(--color_price)}.origin_money{font-size:14px}.img-item{margin-top:16px}.first-list{width:100%;justify-content:center}.second-list{width:100%;margin-left:50px}}`,
                t([dt({
                  type: Boolean
                })], ke.prototype, "overWidth", void 0), t([dt({
                  type: String,
                  attribute: "title-text"
                })], ke.prototype, "titleText", void 0), t([dt({
                  attribute: "savePrice"
                })], ke.prototype, "savePrice", void 0), t([dt({
                  attribute: "salePrice"
                })], ke.prototype, "salePrice", void 0), t([dt()], ke.prototype, "switchable", void 0), t([dt({
                  attribute: "atcBtnStyle"
                })], ke.prototype, "atcBtnStyle", void 0), t([dt({
                  type: String,
                  attribute: "title-color"
                })], ke.prototype, "titleColor", void 0), t([dt({
                  type: String,
                  attribute: "btn-bg-color"
                })], ke.prototype, "btnBgColor", void 0), t([dt({
                  type: String,
                  attribute: "btn-text-color"
                })], ke.prototype, "btnTextColor", void 0), t([dt({
                  type: Object,
                  attribute: "bundleInfo"
                })], ke.prototype, "bundleInfo", void 0), t([dt({
                  type: String,
                  attribute: "style-type"
                })], ke.prototype, "styleType", void 0), t([dt({
                  type: Boolean
                })], ke.prototype, "isQuickShop", void 0), t([dt({
                  type: Boolean,
                  attribute: "selected_all"
                })], ke.prototype, "selected_all", void 0), t([dt({
                  type: Boolean,
                  attribute: "select_one"
                })], ke.prototype, "select_one", void 0), t([dt({
                  type: Object,
                  attribute: "selectedInfo",
                  reflect: !0
                })], ke.prototype, "selectedInfo", void 0), t([dt({
                  type: Boolean,
                  attribute: "loading"
                })], ke.prototype, "loading", void 0), t([dt({
                  type: Boolean,
                  attribute: "success"
                })], ke.prototype, "success", void 0), t([dt()], ke.prototype, "styleTypeClass", void 0), window.customElements.get("bundle-sutra") || window.customElements.define("bundle-sutra", ke);
              class Ee extends st {
                constructor() {
                  super(...arguments), this.overWidth = !1, this.titleText = "", this.salePrice = "", this.savePrice = "", this.switchable = !1, this.atcBtnStyle = 1, this.titleColor = "", this.btnBgColor = "", this.btnTextColor = "", this
                    .bundleInfo = {}, this.styleType = "sutra", this.isQuickShop = !1, this.selected_all = !1, this.select_one = !1, this.selectedInfo = [], this.loading = !1, this.success = !1, this.styleTypeClass = "", this.vertical = !1,
                    this.scrollTimer = null, this.isShowArrow = !1, this.isArSa = "ar-SA" === document.documentElement.lang
                }
                clickProduct(t) {
                  this.dispatchEvent(new CustomEvent("clickProduct", {
                    detail: t
                  }))
                }
                clickSelect() {
                  this.dispatchEvent(new CustomEvent("clickSelect"))
                }
                shiftMove(t) {
                  if (this.scrollContainer) {
                    let e = this.scrollContainer.scrollLeft;
                    if (t) e -= 230, this.isArSa || (e = e < 0 ? 0 : e);
                    else {
                      const t = this.scrollContainer.offsetWidth,
                        i = this.scrollContainer.scrollWidth - t;
                      e += 230, e = e > i ? i : e
                    }
                    this.scrollContainer.scrollTo ? this.scrollContainer.scrollTo({
                      left: e,
                      behavior: "smooth"
                    }) : this.scrollContainer.scrollLeft = e
                  }
                }
                shiftLeft() {
                  this.shiftMove(!0)
                }
                shiftRight() {
                  this.shiftMove(!1)
                }
                showArrow() {
                  this.isShowArrow = !0
                }
                hideArrow() {
                  this.isShowArrow = !1
                }
                updated() {
                  if (window.innerWidth < 960) return;
                  const {
                    isInProductInfo: t
                  } = qt(!1);
                  t ? this.fashionContainer.classList.add("fashion--in") : this.fashionContainer.classList.remove("fashion--in")
                }
                render() {
                  var t;
                  const e = this.styleTypeClass === Vt.FASHION_VERTICAL;
                  let i = !1;
                  return this.scrollContainer && (i = this.scrollContainer.scrollWidth > this.scrollContainer.offsetWidth),
                    R`<div class="fashion-container ${this.styleTypeClass}"><div class="container" @mouseenter="${this.showArrow}" @mouseleave="${this.hideArrow}"><div class="container-scroll"><div class="container-scroll-inner">${null===(t=this.selectedInfo)||void 0===t?void 0:t.map(((t,e)=>{var i,o,n;const s=null===(i=t.variants)||void 0===i?void 0:i.find((e=>e.id===t.selected_id)),r=(null===(o=null==s?void 0:s.image)||void 0===o?void 0:o.src)||(null===(n=t.image)||void 0===n?void 0:n.src);return R`<div class="container-img"><div class="img-checkbox"><bundle-check-box class="${this.styleTypeClass} ${this.overWidth?"":"fashion-full"}" styleTypeClass="${this.styleTypeClass}" .data="${t}" .index="${e}" ?this-one="${t.thisOne}"></bundle-check-box></div><div class="img-wrap"><bundle-product-img class="${this.styleTypeClass} ${this.overWidth?"":"fashion-full"}" styleTypeClass="${this.styleTypeClass}" ?is-select="${t.is_selected}" .isQuickShop="${this.isQuickShop}" .count="${t.count}" .href="${t.url}" .src="${r}" @click="${()=>this.clickProduct(t)}"></bundle-product-img></div><div class="select-specification"><bundle-product-select class="${this.styleTypeClass} ${this.overWidth?"":"fashion-full"}" styleTypeClass="${this.styleTypeClass}" ?this-one="${t.thisOne}" .data="${t}" .index="${e}" @click="${this.clickSelect}"></bundle-product-select></div></div>`}))}</div></div>${e?"":R`<div class="container-arrow-left container-arrow flex-center ${this.isShowArrow&&i?"container-arrow--show":""}" @mouseup="${this.shiftLeft}">${Jt}</div>`} ${e?"":R`<div class="container-arrow-right container-arrow flex-center ${this.isShowArrow&&i?"container-arrow--show":""}" @mouseup="${this.shiftRight}">${Yt}</div>`}</div><div class="interval"></div><div class="totalinfo">${R`<bundle-add-cart class="${this.styleTypeClass} ${this.overWidth?"":"fashion-full"}" styleTypeClass="${this.styleTypeClass}" total_price="${this.bundleInfo.totalPrice}" layer_type="${this.bundleInfo.layer_type}" value="${this.bundleInfo.value}" value_type="${this.bundleInfo.value_type}" .atcBtnStyle="${this.atcBtnStyle}" .salePrice="${this.salePrice}" .savePrice="${this.savePrice}" .selectedInfo="${this.selectedInfo}" .selected_all="${this.selected_all}" .success="${this.success}" .loading="${this.loading}" .btnTextColor="${this.btnTextColor}" .btnBgColor="${this.btnBgColor}" .select_one="${this.select_one}"></bundle-add-cart>`}</div></div>`
                }
              }
              Ee.styles = [l`.fashion-container{overflow:hidden;display:flex;border:1px solid #e6e6e6}.flex-center{display:flex;align-items:center;justify-content:center}`,
                l`.fashionHorizontal.fashion-container{flex-direction:row;padding:20px;display:inline-flex;max-width:100%;box-sizing:border-box}.fashionHorizontal .container{flex:1;min-width:0;position:relative}.fashionHorizontal .container-scroll{overflow:overlay;width:100%;height:100%}.fashionHorizontal .container-scroll::-webkit-scrollbar{width:0;height:0}.fashionHorizontal .container-scroll-inner{display:flex;height:100%}.fashionHorizontal .container-img{position:relative;width:210px;display:flex;flex-direction:column;flex-shrink:0}.fashionHorizontal .container-img:not(:first-child){margin-left:20px}.fashionHorizontal .img-checkbox{position:absolute;top:10px;right:10px;z-index:10}.fashionHorizontal .container-arrow{position:absolute;width:40px;height:40px;top:50%;border-radius:50%;border:1px solid #e6e6e6;transform:translateY(-50%);background-color:#fff;cursor:pointer;opacity:0;transition:opacity .3s cubic-bezier(.455,.03,.515,.955)}.fashionHorizontal .container-arrow--show{opacity:1}.fashionHorizontal .container-arrow-left{left:10px}.fashionHorizontal .container-arrow-right{right:10px}.fashionHorizontal .interval{border-left:1px solid #e6e6e6;margin:0 20px;flex-shrink:0}.fashionHorizontal .select-specification{margin-top:12px}.fashionHorizontal .totalinfo{display:flex;align-items:center;padding:0 30px;width:220px;flex-shrink:0;box-sizing:border-box}.fashion--in.fashionHorizontal.fashion-container{flex-direction:column;padding:16px;display:flex}.fashion--in.fashionHorizontal .container{width:auto}.fashion--in.fashionHorizontal .interval{border-top:1px solid #e6e6e6;margin:20px 0;flex-shrink:0}.fashion--in.fashionHorizontal .container-img{width:calc((100% - 32px)/ 3)}.fashion--in.fashionHorizontal .container-img:not(:first-child){margin-left:16px}.fashion--in.fashionHorizontal .select-specification{margin-top:10px}.fashion--in.fashionHorizontal .totalinfo{width:auto;padding:0}@media (max-width:960px){.fashionHorizontal.fashion-container{flex-direction:column;padding:16px;display:flex}.fashionHorizontal .container{width:auto}.fashionHorizontal .interval{border-top:1px solid #e6e6e6;margin:20px 0;flex-shrink:0}.fashionHorizontal .container-img{width:120px}.fashion--in.fashionHorizontal .container-img{width:120px}.fashionHorizontal .container-img:not(:first-child){margin-left:16px}.fashionHorizontal .select-specification{margin-top:10px}.fashionHorizontal .totalinfo{width:auto;padding:0}}`,
                l`.fashionVertical.fashion-container{flex-direction:column;padding:10px 0}.fashionVertical .container-img{display:flex;padding:20px}.fashionVertical .img-checkbox{flex-shrink:0;display:flex;align-items:center}.fashionVertical .select-specification{flex:1;width:0}.fashionVertical .interval{border-top:1px solid #e6e6e6;margin:10px 20px;flex-shrink:0}.fashionVertical .totalinfo{display:flex;flex-direction:column;padding:20px}.fashion--in.fashionVertical .container-img{padding:20px 16px}.fashion--in.fashionVertical .interval{margin:0 16px}.fashion--in.fashionVertical .totalinfo{padding:20px 16px}@media (max-width:960px){.fashionVertical .container-img{padding:20px 16px}.fashionVertical .interval{margin:0 16px}.fashionVertical .totalinfo{padding:20px 16px}}`
              ], t([dt({
                type: Boolean
              })], Ee.prototype, "overWidth", void 0), t([dt({
                type: String,
                attribute: "title-text"
              })], Ee.prototype, "titleText", void 0), t([dt({
                attribute: "salePrice"
              })], Ee.prototype, "salePrice", void 0), t([dt({
                attribute: "savePrice"
              })], Ee.prototype, "savePrice", void 0), t([dt()], Ee.prototype, "switchable", void 0), t([dt({
                attribute: "atcBtnStyle"
              })], Ee.prototype, "atcBtnStyle", void 0), t([dt({
                type: String,
                attribute: "title-color"
              })], Ee.prototype, "titleColor", void 0), t([dt({
                type: String,
                attribute: "btn-bg-color"
              })], Ee.prototype, "btnBgColor", void 0), t([dt({
                type: String,
                attribute: "btn-text-color"
              })], Ee.prototype, "btnTextColor", void 0), t([dt({
                type: Object,
                attribute: "bundleInfo"
              })], Ee.prototype, "bundleInfo", void 0), t([dt({
                type: String,
                attribute: "style-type"
              })], Ee.prototype, "styleType", void 0), t([dt({
                type: Boolean
              })], Ee.prototype, "isQuickShop", void 0), t([dt({
                type: Boolean,
                attribute: "selected_all"
              })], Ee.prototype, "selected_all", void 0), t([dt({
                type: Boolean,
                attribute: "select_one"
              })], Ee.prototype, "select_one", void 0), t([dt({
                type: Object,
                attribute: "selectedInfo",
                reflect: !0
              })], Ee.prototype, "selectedInfo", void 0), t([dt({
                type: Boolean,
                attribute: "loading"
              })], Ee.prototype, "loading", void 0), t([dt({
                type: Boolean,
                attribute: "success"
              })], Ee.prototype, "success", void 0), t([dt()], Ee.prototype, "styleTypeClass", void 0), t([ht(".fashion-container")], Ee.prototype, "fashionContainer", void 0), t([ht(".container-scroll")], Ee.prototype, "scrollContainer",
                void 0), t([ct()], Ee.prototype, "vertical", void 0), t([ct()], Ee.prototype, "scrollTimer", void 0), t([ct()], Ee.prototype, "isShowArrow", void 0), t([ct()], Ee.prototype, "isArSa", void 0), window.customElements.get(
                "bundle-fashion") || window.customElements.define("bundle-fashion", Ee);
              class Te extends st {
                constructor() {
                  super(...arguments), this.layer_type = Ft, this.value = "", this.value_type = "", this.total_price = "", this.atcBtnStyle = 1, this.selectedInfo = [], this.selected_all = !1, this.salePrice = "", this.savePrice = "", this
                    .loading = !1, this.success = !1, this.select_one = !1, this.btnTextColor = "", this.btnBgColor = "", this.styleTypeClass = ""
                }
                updated() {
                  if (window.innerWidth < 960) return;
                  const {
                    isInProductInfo: t
                  } = qt();
                  t && this.addCartPanel.classList.add("addCartPanel--in")
                }
                addToCart() {
                  this.dispatchEvent(new CustomEvent("addToCart", {
                    bubbles: !0,
                    composed: !0
                  }))
                }
                buySelectedProduct() {
                  this.dispatchEvent(new CustomEvent("buySelectedProduct", {
                    bubbles: !0,
                    composed: !0
                  }))
                }
                render() {
                  const t = this.layer_type === Wt && 0 !== Number(this.savePrice),
                    e = !t && this.selected_all,
                    i = t || e ? this.total_price : this.salePrice,
                    o = this.value_type === Mt && !t && Number(this.value) >= Number(this.salePrice),
                    n = !t && !this.selected_all || "none" === this.value_type || o ? "display: none" : "",
                    s = this.selectedInfo.every((t => !t.is_selected));
                  return R`<div class="addCartPanel ${this.styleTypeClass}">${this.styleTypeClass&&0!==Number(this.savePrice)&&(t||this.selected_all)?R`<div class="discountAmount"><span>save</span> <span class="money notranslate">${` ${Nt(this.savePrice)}`}</span></div>`:""}<div class="price"><span class="price-title">Total price:</span> <span class="bundle_money money notranslate">${Nt(i)}</span> <span class="origin_money money notranslate money_delete" style="${n}">${Nt(this.salePrice)}</span></div><div class="add-cart-btn"><bundle-button class="${this.styleTypeClass}" text-color="${this.btnTextColor}" bg-color="${this.btnBgColor}" ?disabled="${s}" ?loading="${this.loading}" ?success="${this.success}" @click="${2===this.atcBtnStyle?this.buySelectedProduct:this.addToCart}">${2===this.atcBtnStyle?'Buy Now':this.select_one?'Add to Cart':'Add selected to cart'}</bundle-button></div></div>`
                }
              }
              Te.styles = [
                  l`.addCartPanel{flex-shrink:0}.discountAmount{display:inline-block;border:1px solid var(--color-text-critical,#db393a);color:var(--color-text-critical,#db393a);font-size:14px;font-weight:400;padding:4px 8px}.price-title{white-space:nowrap}.bundle_money{color:var(--color_price,#db393a);font-weight:500;white-space:nowrap}.origin_money{color:var(--color_price);font-weight:500;font-size:16px;white-space:nowrap}.money_delete{text-decoration:line-through;color:var(--color_origin_price)}`,
                  l`:host(.sutra){width:100%}:host(.sutra) .addCartPanel{margin-top:56px;text-align:center;margin-left:60px;white-space:nowrap}:host(.sutra) .price{display:flex;justify-content:center;align-items:center;margin-bottom:16px;line-height:20px;font-size:16px}:host(.sutra) .price-title{margin-right:8px}:host(.sutra) .bundle_money{margin-right:8px}:host(.sutra) .origin_money{margin-right:8px}:host(.w-full) .addCartPanel{width:100%;text-align:center;margin-top:8px;margin-left:0}@media (max-width:960px){:host(.sutra) .addCartPanel{width:100%;text-align:center;margin-top:8px;margin-left:0}}`,
                  l`:host(.fashionHorizontal){width:100%}.fashionHorizontal .discountAmount{margin-bottom:20px}.fashionHorizontal .price{margin-bottom:40px;display:flex;flex-wrap:wrap;align-items:baseline}.fashionHorizontal .price-title{width:100%;margin-bottom:8px;color:val(--color-body-text,#292929);font-family:Jost;font-size:18px;font-style:normal;font-weight:500;line-height:20px;text-transform:capitalize}.fashionHorizontal .bundle_money{margin-right:10px;font-size:24px}.fashionHorizontal .origin_money{font-weight:400}.addCartPanel--in.fashionHorizontal .price-title{width:auto}.addCartPanel--in.fashionHorizontal.addCartPanel{display:flex;flex-direction:column;align-items:flex-end}.addCartPanel--in.fashionHorizontal .price{text-align:right;margin-bottom:30px;justify-content:flex-end}.addCartPanel--in.fashionHorizontal .bundle_money{margin:0 10px}.addCartPanel--in.fashionHorizontal .add-cart-btn{width:auto}@media (max-width:960px){.addCartPanel--in.fashionHorizontal.addCartPanel,.fashionHorizontal.addCartPanel{display:flex;flex-direction:column;align-items:center}.fashionHorizontal .price-title{width:auto}.fashionHorizontal .price{margin-bottom:30px}.fashionHorizontal .bundle_money{margin:0 10px}.addCartPanel--in.fashionHorizontal .add-cart-btn,.fashionHorizontal .add-cart-btn{width:100%}}`,
                  l`.fashionVertical{text-align:right;white-space:nowrap}.fashionVertical .discountAmount{margin-bottom:10px}.fashionVertical .price{margin-bottom:30px;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline}.fashionVertical .price-title{margin-bottom:8px;color:val(--color-body-text,#292929);font-family:Jost;font-size:18px;font-style:normal;font-weight:500;line-height:20px;text-transform:capitalize}.fashionVertical .bundle_money{margin:0 10px;font-size:22px}.fashionVertical .origin_money{font-weight:400}.fashionVertical .add-cart-btn{width:auto;display:inline-block;margin-left:auto}:host(.fashion-full) .fashionVertical .add-cart-btn{width:auto}@media (max-width:960px){.fashionVertical .add-cart-btn,:host(.fashion-full) .fashionVertical .add-cart-btn{width:100%}}`
                ], t([dt()], Te.prototype, "layer_type", void 0), t([dt()], Te.prototype, "value", void 0), t([dt()], Te.prototype, "value_type", void 0), t([dt()], Te.prototype, "total_price", void 0), t([dt({
                  attribute: "atcBtnStyle"
                })], Te.prototype, "atcBtnStyle", void 0), t([dt({
                  type: Object,
                  attribute: "selectedInfo",
                  reflect: !0
                })], Te.prototype, "selectedInfo", void 0), t([dt({
                  type: Boolean,
                  attribute: "selected_all"
                })], Te.prototype, "selected_all", void 0), t([dt({
                  attribute: "salePrice"
                })], Te.prototype, "salePrice", void 0), t([dt({
                  attribute: "savePrice"
                })], Te.prototype, "savePrice", void 0), t([dt({
                  type: Boolean,
                  attribute: "loading"
                })], Te.prototype, "loading", void 0), t([dt({
                  type: Boolean,
                  attribute: "success"
                })], Te.prototype, "success", void 0), t([dt({
                  type: Boolean,
                  attribute: "select_one"
                })], Te.prototype, "select_one", void 0), t([dt({
                  attribute: "btnTextColor"
                })], Te.prototype, "btnTextColor", void 0), t([dt({
                  attribute: "btnBgColor"
                })], Te.prototype, "btnBgColor", void 0), t([dt()], Te.prototype, "styleTypeClass", void 0), t([ht(".addCartPanel")], Te.prototype, "addCartPanel", void 0), window.customElements.get("bundle-add-cart") || window.customElements
                .define("bundle-add-cart", Te);
              class Pe extends st {
                constructor() {
                  super(...arguments), this.data = {}, this.styleTypeClass = "", this.thisOne = !1, this.index = 0
                }
                onChange() {
                  this.dispatchEvent(new CustomEvent("changeCheckBox", {
                    detail: {
                      index: this.index
                    },
                    bubbles: !0,
                    composed: !0
                  }))
                }
                requestUpdate() {
                  super.requestUpdate()
                }
                render() {
                  return R`<div class="content_flex"><input style="display:none" type="checkbox" class="bundle-checked" id="bundle-checked" .checked="${this.data.is_selected}" @click="${this.onChange}"> <label for="bundle-checked" class="check-label"><div class="close-icon">${this.data.is_selected?this.styleTypeClass?Zt:Kt:Xt}</div></label></div>`
                }
              }
              Pe.styles =
                l`.content_flex{display:flex;align-items:center;position:relative}.check-label{display:flex;align-items:center}.close-icon{display:flex;cursor:pointer}:host(.fashionHorizontal) .close-icon svg,:host(.fashionVertical) .close-icon svg{width:24px;height:24px}:host(.fashion-full.fashionHorizontal) .close-icon svg,:host(.fashion-full.fashionVertical) .close-icon svg{width:16px;height:16px}@media (max-width:960px){:host(.fashionHorizontal) .close-icon svg,:host(.fashionVertical) .close-icon svg{width:16px;height:16px}}`,
                t([dt()], Pe.prototype, "data", void 0), t([dt()], Pe.prototype, "styleTypeClass", void 0), t([dt({
                  type: Boolean,
                  attribute: "thisOne"
                })], Pe.prototype, "thisOne", void 0), t([dt({
                  type: Number,
                  attribute: "index"
                })], Pe.prototype, "index", void 0), window.customElements.get("bundle-check-box") || window.customElements.define("bundle-check-box", Pe), e(void 0, void 0, void 0, (function*() {
                  var t, i;
                  let o = [];
                  const n = t => e(void 0, void 0, void 0, (function*() {
                      if (!t) return [];
                      const {
                        data: e
                      } = yield Bt.get(
                        `/api/product/list?${function(t){var e=[],i=function(t,i){i=null==(i="function"==typeof i?i():i)?"":i,e[e.length]=encodeURIComponent(t)+"="+encodeURIComponent(i)};return function t(o,n){var s,r,l;if(o)if(Array.isArray(n))for(s=0,r=n.length;s<r;s++)t(o+"["+("object"==yt(n[s])&&n[s]?s:"")+"]",n[s]);else if("[object Object]"===Object.prototype.toString.call(n))for(l in n)t(o+"["+l+"]",n[l]);else i(o,n);else if(Array.isArray(n))for(s=0,r=n.length;s<r;s++)i(n[s].name,n[s].value);else for(l in n)t(l,n[l]);return e}("",t).join("&")}({ids:t,limit:t.length,page:1})}`
                        ), i = e.list;
                      return i.forEach((t => {
                        window.C_SETTINGS.store_trial && (t.variant || []).forEach((t => {
                          (t.wholesale_price || []).forEach(((e, i) => {
                            const o = t.wholesale_price[i + 1];
                            o && (e.max_quantity = o.min_quantity - 1)
                          }))
                        }))
                      })), i
                    })),
                    s = t => e(void 0, void 0, void 0, (function*() {
                      if (d && (d.style.cursor = "wait", d.pid = t, d.style.pointerEvents = "none", d.switchable = p.bundle_sales.length > 1), 0 === p.bundle_sales.length) return void r(d);
                      const e = p.bundle_sales[a];
                      e.entitled_products.forEach((t => Object.assign(t, o.find((e => e.id === t.id)))));
                      const i = e.entitled_products.find((e => e.id === t)),
                        n = e.entitled_products.findIndex((e => e.id === t));
                      e.entitled_products.splice(n, 1), e.entitled_products.unshift(i), e.isRequested = !0, d && (d.bundleInfo = e, d.discount_ids = p.bundle_sales.map((t => t.id)).join(","), d.bundleInfo.entitled_products.filter((t =>
                          t.price)).forEach((e => {
                          e.is_selected = !0, e.selected_id = e.variants.filter((t => t.available))[0].id, e.id === t && (e.thisOne = !0)
                        })), d.style.cursor = "", d.style.pointerEvents = ""),
                        function(t, e) {
                          var i = document.querySelector(t),
                            o = function() {
                              e()
                            };
                          i && !i.getAttribute("imprsd") ? i.addEventListener("impress", o) : o()
                        }("bundle-product-list", (() => {
                          var e, i;
                          const o = p.bundle_sales[a],
                            n = {
                              discount_id: o.id,
                              value_type: o.value_type,
                              popups_setting: o.popups_setting,
                              global_show_text: o.global_show_text,
                              target_selection: o.target_selection,
                              page: null === (e = window.SHOP_PARAMS) || void 0 === e ? void 0 : e.template_type,
                              product_id: t,
                              plugin_timestamp: Date.now(),
                              show_related_items: p.bundle_sales.length > 1,
                              block: !0,
                              discount_ids: p.bundle_sales.map((t => t.id)).join(","),
                              operation_type: o.operation_type,
                              entitled_product_ids: o.entitled_product_ids
                            };
                          window.sa && (null === (i = window.sa) || void 0 === i || i.track("plugin_bundle_combination_pv", n))
                        }))
                    })),
                    r = t => {
                      var e;
                      if (!document.querySelector("bundle-skeleton") && window.self !== window.top) {
                        const i = document.createElement("bundle-skeleton");
                        null === (e = null == t ? void 0 : t.parentElement) || void 0 === e || e.insertBefore(i, t)
                      }
                    };
                  let l = window.innerWidth;
                  window.addEventListener("resize", Ht((() => {
                    window.innerWidth !== l && window.top !== window.self && window.location.reload()
                  }), 500));
                  let a = 0;
                  const d = document.querySelector('[data-section-id="1539149753700"] .bundle-main'),
                    c = d.getAttribute("pid") || "",
                    p = yield Bt.get(`/api/bundle-sales?product_id=${c}`);
                  yield e(void 0, void 0, void 0, (function*() {
                    const t = yield Bt.get("/api/bundle-sales/setting?type=discount_code");
                    d && (d.atcBtnStyle = t.style || 1)
                  })), yield e(void 0, void 0, void 0, (function*() {
                    const t = p.bundle_sales.map((t => t.entitled_product_ids)).flat();
                    o = yield n(t);
                    const e = [];
                    p.bundle_sales.forEach((t => {
                      t.entitled_product_ids.every((t => null == o ? void 0 : o.find((e => e.id === t && e.available)))) && e.push(t)
                    })), p.bundle_sales = e
                  })), yield s(c);
                  const {
                    isInProductInfo: h
                  } = qt();
                  h || null === (i = null === (t = document.querySelector(".bundle-combination-container")) || void 0 === t ? void 0 : t.classList) || void 0 === i || i.add("tw-container", "container", "container-gap", "page-width"),
                    null == d || d.addEventListener("bundle-combination-switch", Ht((() => e(void 0, void 0, void 0, (function*() {
                      var t;
                      if (a = a === p.bundle_sales.length - 1 ? 0 : a + 1, p.bundle_sales[a].isRequested) return void(d.bundleInfo = p.bundle_sales[a]);
                      yield s(c);
                      const e = p.bundle_sales[a];
                      window.sa && (null === (t = window.sa) || void 0 === t || t.track("plugin_bundle_combination_related_item_click", {
                        discount_ids: p.bundle_sales.map((t => t.id)),
                        product_id: c,
                        block: !0,
                        discount_id: e.id,
                        operation_type: e.operation_type,
                        entitled_product_ids: e.entitled_product_ids.join(",")
                      }))
                    }))), 300))
                }))
            }));
          } catch (err) {
            console.log('bundle sales error' + err)
          }
        })()
      } catch (e) {
        console.error(e)
      }
    </script>
    <div class="tw-space-y-3 product-info__block tw-my-6">
      <div class="tw-flex tw-items-center">
        <svg class="tw-flex-shrink-0" width="20" height="20" xmlns="http://www.w3.org/2000/svg">
          <path
            d="M17.14 13.65h-3.457c.327-1.022.517-2.081.568-3.164h3.751a7.954 7.954 0 0 1-.862 3.165zm-5.784 4.259a13.405 13.405 0 0 0 1.968-3.285h3.226a8.038 8.038 0 0 1-5.194 3.285zM3.45 14.624h3.227a13.407 13.407 0 0 0 1.968 3.285 8.039 8.039 0 0 1-5.195-3.285zm-1.451-4.138h3.751c.051 1.083.24 2.142.568 3.165H2.86a7.97 7.97 0 0 1-.862-3.165zM2.86 6.35h3.457a12.244 12.244 0 0 0-.568 3.164H1.998A7.97 7.97 0 0 1 2.86 6.35zm5.784-4.258a13.416 13.416 0 0 0-1.968 3.285H3.449a8.04 8.04 0 0 1 5.195-3.285zm7.906 3.285h-3.226a13.414 13.414 0 0 0-1.968-3.285 8.04 8.04 0 0 1 5.194 3.285zm-4.3 0h-4.5A12.805 12.805 0 0 1 10 2.007a12.807 12.807 0 0 1 2.25 3.37zM6.734 9.513C6.79 8.43 7 7.37 7.358 6.35h5.284c.359 1.02.568 2.08.624 3.164H6.734zm.624 4.138a11.26 11.26 0 0 1-.624-3.165h6.532a11.26 11.26 0 0 1-.624 3.165H7.358zm.392.973h4.5A12.799 12.799 0 0 1 10 17.992a12.797 12.797 0 0 1-2.25-3.368zm10.252-5.11h-3.75a12.265 12.265 0 0 0-.569-3.165h3.457c.493.96.794 2.03.862 3.164zM1 10c0 4.963 4.037 9 9 9s9-4.037 9-9-4.037-9-9-9-9 4.037-9 9z"
            fill="currentColor"></path>
        </svg>
        <div class="product-info__sales_points-item tw-body-minus-1 tw-pl-3">Free Shipping for Orders Over $89</div>
      </div>
      <div class="tw-flex tw-items-center">
        <svg class="tw-flex-shrink-0" width="20" height="20" xmlns="http://www.w3.org/2000/svg">
          <path
            d="M18.41 14.672a1.811 1.811 0 0 0-1.743-1.359c-.834 0-1.538.578-1.743 1.359H13.81v-4.366h5.238v4.366h-.638zm-1.743 1.552a1.04 1.04 0 0 1-.929-.582 1.042 1.042 0 0 1 0-.97 1.04 1.04 0 0 1 .929-.582c.404 0 .757.237.928.582a1.042 1.042 0 0 1 0 .97 1.04 1.04 0 0 1-.928.582zm-3.81-1.552h-5.4a1.811 1.811 0 0 0-1.743-1.359c-.833 0-1.538.578-1.743 1.359H.952V4.97h11.905v9.702zm-7.143 1.552a1.04 1.04 0 0 1-.928-.582 1.042 1.042 0 0 1 0-.97 1.04 1.04 0 0 1 .928-.582c.405 0 .757.237.929.582a1.042 1.042 0 0 1 0 .97 1.04 1.04 0 0 1-.929.582zM16.9 6.91l1.699 2.426h-4.79V6.91H16.9zm.486-.97H13.81V4H0v11.642h3.971c.205.78.91 1.358 1.743 1.358.834 0 1.538-.577 1.743-1.358H14.924c.205.78.91 1.358 1.743 1.358.833 0 1.538-.577 1.743-1.358H20V9.666L17.386 5.94z"
            fill="currentColor"></path>
        </svg>
        <div class="product-info__sales_points-item tw-body-minus-1 tw-pl-3">Easy Returns - 30 Days Warranty</div>
      </div>
      <div class="tw-flex tw-items-center">
        <svg class="tw-flex-shrink-0" width="20" height="20" xmlns="http://www.w3.org/2000/svg">
          <path
            d="M9 1c2.303 0 4.494.87 6.17 2.448l-.667.708A7.994 7.994 0 0 0 9 1.973C4.574 1.973.973 5.573.973 10c0 4.426 3.6 8.027 8.027 8.027 4.426 0 8.027-3.6 8.027-8.027a8.03 8.03 0 0 0-.36-2.387l.928-.29C17.864 8.188 18 9.089 18 10c0 4.963-4.037 9-9 9s-9-4.037-9-9 4.037-9 9-9zm9.58 1.256.687.688L8.711 13.5l-.688-.688-2.752-2.752.688-.688 2.752 2.752 9.868-9.868z"
            fill="currentColor"></path>
        </svg>
        <div class="product-info__sales_points-item tw-body-minus-1 tw-pl-3">24 Hours Response</div>
      </div>
      <div class="tw-flex tw-items-center">
        <svg class="tw-flex-shrink-0" width="20" height="20" xmlns="http://www.w3.org/2000/svg">
          <path
            d="M9.5 1c2.757 0 5 2.243 5 5v.813H18v12.34H1V6.814h3.5V6c0-2.757 2.243-5 5-5zM17 7.813H2v10.34h15V7.814zM9.5 10.5a1.25 1.25 0 0 1 .5 2.394v2.318H9v-2.318a1.25 1.25 0 0 1 .5-2.394zm0-8.5c-2.205 0-4 1.794-4 4v.813h8V6c0-2.206-1.794-4-4-4z"
            fill="currentColor"></path>
        </svg>
        <div class="product-info__sales_points-item tw-body-minus-1 tw-pl-3">Secure Payments</div>
      </div>
    </div>
    <div class="product-info__share-wrapper tw-flex tw-space-x-5 product-info__block tw-my-6">
      <a target="_blank" data-track="social_share" href="//www.facebook.com/sharer.php?u=https://www.okaywear.com/products/formal-houndstooth-shawl-neck-chest-pocket-blazer" class="tw-flex tw-items-center tw-text-current tw-no-underline share-facebook dj_skin_text">
        <svg class="" width="20" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M11.605 2c-.48 0-.932.057-1.464.283-1.092.48-1.624 1.555-1.624 3.279V7.23H7V10h1.517v8h3.088v-8h2.102L14 7.23h-2.395V5.986c0-.396.026-.679.133-.82.133-.254.399-.367.825-.367h1.41v-2.77h-2.368V2z" fill="currentColor"></path></svg>
        <span class="product-info__share-item-label tw-pl-2 tw-body-sm">Share</span>
      </a>
      <a target="_blank" data-track="social_share" href="//twitter.com/share?text=&amp;url=https://www.okaywear.com/products/formal-houndstooth-shawl-neck-chest-pocket-blazer" class="tw-flex tw-items-center tw-text-current tw-no-underline share-twitter dj_skin_text">
        <svg class="" width="20" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M17.423 6.564c0 6.41-4.21 11.026-10.404 11.228C4.4 17.995 2.606 17.2 1 15.998c1.794.202 4.21-.39 5.397-1.606-1.794 0-2.807-1.013-3.4-2.388h1.606C2.997 11.397 1.78 10.196 1.78 8.2c.391.202.796.39 1.606.39-1.403-.795-2.199-3.4-1.2-5.006C3.98 5.58 6.18 7.39 9.811 7.577c-1.013-3.994 4.21-6.02 6.41-3.4 1.013-.203 1.606-.594 2.387-1.014-.202 1.013-.795 1.607-1.606 1.997.796 0 1.404-.202 1.997-.593-.188.796-.984 1.606-1.577 1.997z" fill="currentColor"></path></svg>
        <span class="product-info__share-item-label tw-pl-2 tw-body-sm">Tweet</span>
      </a>
      <a target="_blank" data-track="social_share" href="//pinterest.com/pin/create/button/?url=https://www.okaywear.com/products/formal-houndstooth-shawl-neck-chest-pocket-blazer&amp;media=&amp;description=" class="tw-flex tw-items-center tw-text-current tw-no-underline share-pinterest dj_skin_text">
        <svg class="" width="20" height="20" xmlns="http://www.w3.org/2000/svg"><path d="M11.719 13.817a2.784 2.784 0 0 1-2.34-1.132l-.636 2.338c-.304.912-.731 1.78-1.272 2.583-.045.132-.417.394-.417.394a1.716 1.716 0 0 1-.25-.653 9.155 9.155 0 0 1 .035-2.824c.185-.769 1.193-4.891 1.193-4.891a3.468 3.468 0 0 1-.304-1.462c0-1.367.82-2.391 1.84-2.391.705-.01 1.286.535 1.297 1.218.001.056-.002.112-.009.168a19.2 19.2 0 0 1-.842 3.278c-.2.765.28 1.542 1.07 1.735.14.035.287.05.432.042 1.807 0 3.199-1.844 3.199-4.506.067-2.144-1.676-3.934-3.892-4a3.83 3.83 0 0 0-.363.005c-2.43-.1-4.484 1.724-4.588 4.075a3.748 3.748 0 0 0 .747 2.445c.073.076.1.183.072.283-.076.308-.25.985-.284 1.12-.045.185-.145.223-.34.135-1.328-.837-2.11-2.282-2.065-3.814 0-3.102 2.333-5.956 6.723-5.956 3.295-.16 6.101 2.293 6.267 5.481.005.07.007.14.008.21.01 3.387-2.203 6.12-5.281 6.12" fill="currentColor"></path></svg>
        <span class="product-info__share-item-label tw-pl-2 tw-body-sm">Pin it</span>
      </a>
    </div>
  </div>
  <div class="plugin__buy_on_others empty:tw-hidden"></div>
</form>

<form class="zb-flex zb-flex-col zb-relative zb-w-full">
  <div class="zb-overflow-y-auto zb-pb-[100px]">
    <div class="zb-flex zb-items-center zb-pb-4 zb-border-b zb-border-t-0 zb-border-l-0 zb-border-r-0 zb-border-solid zb-border-[#eee] md:zb-border-none">
      <ljs-render layout="container" class="zb-flex-shrink-0 zb-w-[66px] zb-mr-4 rtl:zb-ml-4 rtl:zb-mr-0 zb-h-[70px] md:zb-hidden" id="smart_recommend_product_image" manual="" template="smart_recommend_product_image_template"></ljs-render>
      <div class="zb-w-full">
        <div class="zb-line-clamp-2 zb-mb-2 zb-text-sm md:zb-text-base">${product.title}</div>
        <div class="zb-flex zb-justify-between zb-items-center">
          <spz-render layout="container" template="smart_recommend_price_template" id="smart_recommend_modal_price" manual="">
            <div class="zb-flex zb-items-center">
              <ljs-currency class="zb-font-semibold zb-text-[22px] zb-text-[#CD201A] zb-mr-2" layout="container" value="${product.min_price_variant.price}"></ljs-currency>
              <ljs-currency class="zb-text-[#93989D] zb-text-xs zb-line-through" layout="container" value="${product.min_price_variant.compare_at_price}"
                spz-if="${product.min_price_variant.compare_at_price > product.min_price_variant.price ? true : false}"></ljs-currency>
            </div>
          </spz-render>
          <a class="zb-flex zb-items-center zb-cursor-pointer zb-text-[#212B36] zb-no-underline" href="${product.url}?${toQuery({ aid: 'smart_recommend.' + data.show_type + '.' + data.rule_id, ifb: product.ifb || '', cfb: product.cfb || '', scm: data.scm || '', ssp: data.ssp || '' })}">
                          <span class="zb-text-[13px]">See detail</span>
                          <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path d="M13.1714 12.0007L8.22168 7.05093L9.63589 5.63672L15.9999 12.0007L9.63589 18.3646L8.22168 16.9504L13.1714 12.0007Z" fill="#93989D"></path></svg>
                        </a>
        </div>
      </div>
    </div>
    <ljs-variants id="smart_recommend_product_variants" layout="container" template="smart_recommend_product_variant_template" slide="smart_recommend_carousel" disabled-dj-event="" interference="">
    </ljs-variants>
    <div class="zb-text-sm zb-mb-2">Quantity</div>
    <ljs-quantity disabled-dj-event="" layout="fixed" width="150" height="52" min="1" max="999999" value="1" input-class="!zb-text-base" icon-class="!zb-p-3"></ljs-quantity>
  </div>
  <div class="zb-absolute zb-bottom-0 zb-flex md:zb-flex-col zb-w-full zb-bg-white">
    <button class="zb-flex zb-items-center zb-mr-2 rtl:zb-ml-2 rtl:zb-mr-0 md:zb-mb-2 zb-justify-center zb-cursor-pointer zb-w-full zb-border zb-border-solid zb-border-[#313131] zb-bg-white zb-rounded zb-h-[42px]" role="addToCart" type="button"
      @tap="smart_recommend_func.addATCHook(rule_id='${data.rule_id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${data.scm}',ssp='${data.ssp}',spmIndex='${data.productIndex}');">
      <span>Add To Cart</span>
    </button>
    <button class="zb-flex zb-items-center zb-justify-center zb-cursor-pointer zb-w-full zb-bg-[#292929] zb-text-white zb-rounded zb-h-[42px] zb-border-none" type="button" role="buyNow"
      @tap="smart_recommend_loading.showLoading;smart_recommend_func.addATCHook(rule_id='${data.rule_id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${data.scm}',ssp='${data.ssp}',spmIndex='${data.productIndex}');">
      <span>Buy Now</span>
    </button>
  </div>
</form>

<form id="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-submit-form" class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-sections-container" style="" novalidate="">
  <style type="text/css">
    .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-section-624ab2f927652f651edfd0ac {
      position: relative;
      display: flex;
      flex-wrap: wrap;
      padding-left: 20px;
      padding-right: 20px;
      padding-top: 0px;
      padding-bottom: 0px;
      ;
    }

    .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-section-624ab2f927652f651edfd0ac-opacity-layer {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      background-color: #C7EFD5;
      opacity: 0;
      ;
    }
  </style>
  <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-section-624ab2f927652f651edfd0ac">
    <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-section-624ab2f927652f651edfd0ac-opacity-layer"></div>
    <style type="text/css">
      .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-column-624ab2f927652f651edfd0ae {
        width: 100%;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        position: relative;
      }

      @media screen and (max-width: 600px) {
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-column-624ab2f927652f651edfd0ae {
          width: 100%;
        }
      }
    </style>
    <div class="omnisend-mobile-container omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-column-624ab2f927652f651edfd0ae">
      <!--Line/space content block starts -->
      <style type="text/css">
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-line-container-650a640796e18d75fcc99cae {
          padding-top: 6px;
          padding-bottom: 6px;
          padding-left: 12px;
          padding-right: 12px;
          ;
          justify-content: center;
          display: flex;
          flex-direction: row;
        }
      </style>
      <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-line-container-650a640796e18d75fcc99cae">
        <style type="text/css">
          .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-line-650a640796e18d75fcc99cae {
            width: 1%;
            border-top: 2px solid #DA946E
          }
        </style>
        <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-line-650a640796e18d75fcc99cae"></div>
      </div>
      <!--Text content block starts -->
      <style type="text/css">
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-text-650a5f7496e18d75fcc99ca9 {
          padding-top: 0px;
          padding-bottom: 0px;
          padding-left: 0px;
          padding-right: 0px;
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-text-650a5f7496e18d75fcc99ca9 a {
          color: #0094EB;
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-text-650a5f7496e18d75fcc99ca9,
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-text-650a5f7496e18d75fcc99ca9 p,
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-text-650a5f7496e18d75fcc99ca9 li {
          margin: 0px;
          color: #FFFFFF !important;
          font-family: Poppins, Helvetica Neue, Helvetica, Arial, sans-serif !important;
          font-size: 38px !important;
          line-height: 150% !important;
          word-break: break-word;
        }
      </style>
      <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-text-650a5f7496e18d75fcc99ca9">
        <p style="text-align: center;"><strong style="background-color: transparent; color: unset; font-family: unset; font-size: unset; text-align: center;">Lucky Gift</strong></p>
      </div>
      <!--Text content block ends -->
      <!--Text content block starts -->
      <style type="text/css">
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-text-650a601796e18d75fcc99cac {
          padding-top: 12px;
          padding-bottom: 12px;
          padding-left: 12px;
          padding-right: 12px;
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-text-650a601796e18d75fcc99cac a {
          color: #0094EB;
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-text-650a601796e18d75fcc99cac,
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-text-650a601796e18d75fcc99cac p,
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-text-650a601796e18d75fcc99cac li {
          margin: 0px;
          color: #FFFFFF !important;
          font-family: Poppins, Helvetica Neue, Helvetica, Arial, sans-serif !important;
          font-size: 14px !important;
          line-height: 150% !important;
          word-break: break-word;
        }
      </style>
      <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-text-650a601796e18d75fcc99cac">
        <p style="text-align: center;">JOIN US NOW*</p>
      </div>
      <!--Text content block ends -->
      <style type="text/css">
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-block-container-650a5f5196e18d75fcc99ca3 {
          padding-top: 0px;
          padding-bottom: 0px;
          padding-left: 0px;
          padding-right: 0px;
          ;
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-container-650a5f5196e18d75fcc99ca3 {
          position: relative;
          min-width: 200px;
          height: 100%;
          width: 100%
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-pointer,
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-pointer-shadow,
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor,
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-shadow {
          transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-shadow-container {
          width: 100%;
          height: 100%;
          opacity: .3;
          -webkit-transform: translate(3%, 3%);
          -moz-transform: translate(3%, 3%);
          -ms-transform: translate(3%, 3%);
          -o-transform: translate(3%, 3%);
          transform: translate(3%, 3%);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label {
          box-sizing: border-box;
          position: absolute;
          top: 50%;
          left: 50%;
          text-align: right;
          padding-left: 15%;
          width: 43%;
          transform-origin: 0 0;
          font-family: 'open sans', Arial, sans-serif;
          font-weight: 700;
          text-shadow: 0 0 5px rgb(0 0 0 / 10%);
          overflow: hidden;
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label:nth-child(1) {
          transform: rotate(-72deg) translate(0px, -50%);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label:nth-child(2) {
          transform: rotate(-36deg) translate(0px, -50%);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label:nth-child(3) {
          transform: rotate(0deg) translate(0px, -50%);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label:nth-child(4) {
          transform: rotate(-324deg) translate(0px, -50%);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label:nth-child(5) {
          transform: rotate(-288deg) translate(0px, -50%);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label:nth-child(6) {
          transform: rotate(-252deg) translate(0px, -50%);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label:nth-child(7) {
          transform: rotate(-216deg) translate(0px, -50%);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label:nth-child(8) {
          transform: rotate(-180deg) translate(0px, -50%);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label:nth-child(9) {
          transform: rotate(-144deg) translate(0px, -50%);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label:nth-child(10) {
          transform: rotate(-108deg) translate(0px, -50%);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-pointer-shadow {
          top: 14%;
          right: -3%;
          opacity: .3;
          position: absolute;
          width: 10%;
          height: 16%;
          transform-origin: 50% 28.44%;
          transform: rotate(50deg);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-pointer {
          position: absolute;
          top: 11%;
          right: -1%;
          width: 10%;
          height: 16%;
          transform-origin: 50% 28.44%;
          transform: rotate(50deg);
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-pointer-body {
          fill: #383838;
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof--rotor-shadow-inner {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          opacity: .3;
          -webkit-transform: translate(3%, 3%);
          -moz-transform: translate(3%, 3%);
          -ms-transform: translate(3%, 3%);
          -o-transform: translate(3%, 3%);
          transform: translate(3%, 3%);
        }
      </style>
      <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-block-container-650a5f5196e18d75fcc99ca3">
        <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-container-650a5f5196e18d75fcc99ca3">
          <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-shadow-container">
            <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-shadow">
              <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="-73.5 634 476 476" enable-background="new -73.5 634 476 476" xml:space="preserve">
                <path fill="#000" d="M387.409,938.95c-0.268-0.089-0.524-0.177-0.787-0.177
        c13.021-43.188,13.286-89.875,0.088-133.938c0.262,0,0.438-0.088,0.699-0.176c2.534-0.787,3.846-3.496,3.059-6.033
        c-0.786-2.535-3.496-3.846-6.027-3.06c-0.266,0.086-0.438,0.175-0.61,0.263c-7.344-21.07-17.83-41.44-31.554-60.5
        c-13.726-18.886-29.721-35.06-47.373-48.522c0.087-0.177,0.262-0.263,0.35-0.438c1.572-2.099,1.051-5.07-1.05-6.646
        c-2.097-1.572-5.067-1.05-6.646,1.051c-0.087,0.177-0.175,0.351-0.264,0.438c-37.932-26.402-82.687-40.654-127.961-41.617
        c0.088-0.262,0.088-0.609,0.088-0.873c0-2.623-2.099-4.721-4.72-4.721s-4.721,2.098-4.721,4.721c0,0.264,0,0.611,0.088,0.873
        c-44.313,0.875-88.89,14.43-127.872,41.617c-0.088-0.262-0.263-0.521-0.438-0.787c-1.573-2.098-4.545-2.623-6.643-1.049
        c-2.099,1.574-2.623,4.545-1.049,6.646c0.175,0.262,0.35,0.438,0.611,0.697c-37.844,28.68-64.501,66.885-79.012,108.764
        c-0.087-0.086-0.262-0.086-0.35-0.176c-2.535-0.787-5.156,0.523-6.03,3.061c-0.787,2.535,0.524,5.158,3.06,6.033
        c0.088,0,0.263,0.088,0.349,0.088c-13.372,43.625-13.722,90.486-0.261,134.727c-0.175,0-0.35,0.088-0.524,0.176
        c-2.536,0.787-3.847,3.496-3.06,6.031c0.786,2.537,3.496,3.85,6.03,3.062c0.176-0.088,0.351-0.088,0.525-0.178
        c7.342,20.982,17.743,41.18,31.465,60.062c13.637,18.799,29.631,34.973,47.199,48.35c-0.088,0.09-0.263,0.268-0.35,0.354
        c-1.574,2.1-1.05,5.07,1.049,6.645s5.069,1.05,6.643-1.051c0.088-0.174,0.175-0.262,0.263-0.438
        c37.846,26.403,82.423,40.653,127.698,41.704c0,0.087,0,0.264,0,0.352c0,2.621,2.098,4.721,4.72,4.721
        c2.623,0,4.722-2.1,4.722-4.721c0-0.088,0-0.264,0-0.352c44.49-0.786,89.064-14.34,128.137-41.615
        c0.087,0.262,0.262,0.523,0.438,0.787c1.572,2.098,4.546,2.622,6.646,1.049c2.099-1.574,2.622-4.547,1.05-6.646
        c-0.175-0.264-0.35-0.438-0.611-0.698c37.936-28.765,64.682-67.06,79.104-109.11c0.264,0.088,0.521,0.264,0.787,0.353
        c2.531,0.787,5.153-0.523,6.027-3.062C391.258,942.445,389.856,939.823,387.409,938.95z">
                </path>
              </svg>
            </div>
          </div>
          <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor">
            <div>
              <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label" id="650a5f5196e18d75fcc99ca4">
                <style type="text/css">
                  .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text {
                    font-size: 15px;
                    line-height: 1;
                    display: flex;
                    justify-content: flex-end;
                    align-items: center;
                    width: 100%;
                    height: 100%;
                    color: #383838;
                  }
                </style>
                <svg width="100%" height="100%" viewBox="0 0 100 60">
                  <foreignObject width="100" height="60" xmlns="http://www.w3.org/1999/xhtml">
                    <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text"> Free Shipping </div>
                  </foreignObject>
                </svg>
              </div>
              <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label" id="650a5f5196e18d75fcc99ca4">
                <style type="text/css">
                  .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text {
                    font-size: 15px;
                    line-height: 1;
                    display: flex;
                    justify-content: flex-end;
                    align-items: center;
                    width: 100%;
                    height: 100%;
                    color: #383838;
                  }
                </style>
                <svg width="100%" height="100%" viewBox="0 0 100 60">
                  <foreignObject width="100" height="60" xmlns="http://www.w3.org/1999/xhtml">
                    <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text"> Sorry... </div>
                  </foreignObject>
                </svg>
              </div>
              <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label" id="650a5f5196e18d75fcc99ca5">
                <style type="text/css">
                  .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text {
                    font-size: 15px;
                    line-height: 1;
                    display: flex;
                    justify-content: flex-end;
                    align-items: center;
                    width: 100%;
                    height: 100%;
                    color: #383838;
                  }
                </style>
                <svg width="100%" height="100%" viewBox="0 0 100 60">
                  <foreignObject width="100" height="60" xmlns="http://www.w3.org/1999/xhtml">
                    <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text"> 10% off </div>
                  </foreignObject>
                </svg>
              </div>
              <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label" id="650a5f5196e18d75fcc99ca5">
                <style type="text/css">
                  .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text {
                    font-size: 15px;
                    line-height: 1;
                    display: flex;
                    justify-content: flex-end;
                    align-items: center;
                    width: 100%;
                    height: 100%;
                    color: #383838;
                  }
                </style>
                <svg width="100%" height="100%" viewBox="0 0 100 60">
                  <foreignObject width="100" height="60" xmlns="http://www.w3.org/1999/xhtml">
                    <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text"> Sorry... </div>
                  </foreignObject>
                </svg>
              </div>
              <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label" id="650a5f5196e18d75fcc99ca6">
                <style type="text/css">
                  .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text {
                    font-size: 15px;
                    line-height: 1;
                    display: flex;
                    justify-content: flex-end;
                    align-items: center;
                    width: 100%;
                    height: 100%;
                    color: #383838;
                  }
                </style>
                <svg width="100%" height="100%" viewBox="0 0 100 60">
                  <foreignObject width="100" height="60" xmlns="http://www.w3.org/1999/xhtml">
                    <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text"> $89-$5 Off </div>
                  </foreignObject>
                </svg>
              </div>
              <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label" id="650a5f5196e18d75fcc99ca6">
                <style type="text/css">
                  .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text {
                    font-size: 15px;
                    line-height: 1;
                    display: flex;
                    justify-content: flex-end;
                    align-items: center;
                    width: 100%;
                    height: 100%;
                    color: #383838;
                  }
                </style>
                <svg width="100%" height="100%" viewBox="0 0 100 60">
                  <foreignObject width="100" height="60" xmlns="http://www.w3.org/1999/xhtml">
                    <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text"> Sorry... </div>
                  </foreignObject>
                </svg>
              </div>
              <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label" id="650a5f5196e18d75fcc99ca7">
                <style type="text/css">
                  .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text {
                    font-size: 15px;
                    line-height: 1;
                    display: flex;
                    justify-content: flex-end;
                    align-items: center;
                    width: 100%;
                    height: 100%;
                    color: #383838;
                  }
                </style>
                <svg width="100%" height="100%" viewBox="0 0 100 60">
                  <foreignObject width="100" height="60" xmlns="http://www.w3.org/1999/xhtml">
                    <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text"> $129-$15 </div>
                  </foreignObject>
                </svg>
              </div>
              <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label" id="650a5f5196e18d75fcc99ca7">
                <style type="text/css">
                  .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text {
                    font-size: 15px;
                    line-height: 1;
                    display: flex;
                    justify-content: flex-end;
                    align-items: center;
                    width: 100%;
                    height: 100%;
                    color: #383838;
                  }
                </style>
                <svg width="100%" height="100%" viewBox="0 0 100 60">
                  <foreignObject width="100" height="60" xmlns="http://www.w3.org/1999/xhtml">
                    <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text"> Sorry... </div>
                  </foreignObject>
                </svg>
              </div>
              <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label" id="650a5f5196e18d75fcc99ca8">
                <style type="text/css">
                  .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text {
                    font-size: 15px;
                    line-height: 1;
                    display: flex;
                    justify-content: flex-end;
                    align-items: center;
                    width: 100%;
                    height: 100%;
                    color: #383838;
                  }
                </style>
                <svg width="100%" height="100%" viewBox="0 0 100 60">
                  <foreignObject width="100" height="60" xmlns="http://www.w3.org/1999/xhtml">
                    <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text"> $500-$100 </div>
                  </foreignObject>
                </svg>
              </div>
              <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label" id="650a5f5196e18d75fcc99ca8">
                <style type="text/css">
                  .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text {
                    font-size: 15px;
                    line-height: 1;
                    display: flex;
                    justify-content: flex-end;
                    align-items: center;
                    width: 100%;
                    height: 100%;
                    color: #383838;
                  }
                </style>
                <svg width="100%" height="100%" viewBox="0 0 100 60">
                  <foreignObject width="100" height="60" xmlns="http://www.w3.org/1999/xhtml">
                    <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slice-label-text"> Sorry... </div>
                  </foreignObject>
                </svg>
              </div>
            </div>
            <style type="text/css">
              .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slices path:nth-child(5),
              .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slices path:nth-child(10) {
                fill: #7FD299;
              }

              .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slices path:nth-child(4),
              .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slices path:nth-child(9) {
                fill: #C549A2;
              }

              .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slices path:nth-child(3),
              .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slices path:nth-child(8) {
                fill: #C2C1F3;
              }

              .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slices path:nth-child(2),
              .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slices path:nth-child(7) {
                fill: #B8B8B8;
              }

              .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slices path:nth-child(1),
              .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slices path:nth-child(6) {
                fill: #BFDCFE;
              }
            </style>
            <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="-73.5 634 476 476" enable-background="new -73.5 634 476 476" xml:space="preserve">
              <path fill="#fff" d="M387.409,938.95c-0.268-0.089-0.524-0.177-0.787-0.177
        c13.021-43.188,13.286-89.875,0.088-133.938c0.262,0,0.438-0.088,0.699-0.176c2.534-0.787,3.846-3.496,3.059-6.033
        c-0.786-2.535-3.496-3.846-6.027-3.06c-0.266,0.086-0.438,0.175-0.61,0.263c-7.344-21.07-17.83-41.44-31.554-60.5
        c-13.726-18.886-29.721-35.06-47.373-48.522c0.087-0.177,0.262-0.263,0.35-0.438c1.572-2.099,1.051-5.07-1.05-6.646
        c-2.097-1.572-5.067-1.05-6.646,1.051c-0.087,0.177-0.175,0.351-0.264,0.438c-37.932-26.402-82.687-40.654-127.961-41.617
        c0.088-0.262,0.088-0.609,0.088-0.873c0-2.623-2.099-4.721-4.72-4.721s-4.721,2.098-4.721,4.721c0,0.264,0,0.611,0.088,0.873
        c-44.313,0.875-88.89,14.43-127.872,41.617c-0.088-0.262-0.263-0.521-0.438-0.787c-1.573-2.098-4.545-2.623-6.643-1.049
        c-2.099,1.574-2.623,4.545-1.049,6.646c0.175,0.262,0.35,0.438,0.611,0.697c-37.844,28.68-64.501,66.885-79.012,108.764
        c-0.087-0.086-0.262-0.086-0.35-0.176c-2.535-0.787-5.156,0.523-6.03,3.061c-0.787,2.535,0.524,5.158,3.06,6.033
        c0.088,0,0.263,0.088,0.349,0.088c-13.372,43.625-13.722,90.486-0.261,134.727c-0.175,0-0.35,0.088-0.524,0.176
        c-2.536,0.787-3.847,3.496-3.06,6.031c0.786,2.537,3.496,3.85,6.03,3.062c0.176-0.088,0.351-0.088,0.525-0.178
        c7.342,20.982,17.743,41.18,31.465,60.062c13.637,18.799,29.631,34.973,47.199,48.35c-0.088,0.09-0.263,0.268-0.35,0.354
        c-1.574,2.1-1.05,5.07,1.049,6.645s5.069,1.05,6.643-1.051c0.088-0.174,0.175-0.262,0.263-0.438
        c37.846,26.403,82.423,40.653,127.698,41.704c0,0.087,0,0.264,0,0.352c0,2.621,2.098,4.721,4.72,4.721
        c2.623,0,4.722-2.1,4.722-4.721c0-0.088,0-0.264,0-0.352c44.49-0.786,89.064-14.34,128.137-41.615
        c0.087,0.262,0.262,0.523,0.438,0.787c1.572,2.098,4.546,2.622,6.646,1.049c2.099-1.574,2.622-4.547,1.05-6.646
        c-0.175-0.264-0.35-0.438-0.611-0.698c37.936-28.765,64.682-67.06,79.104-109.11c0.264,0.088,0.521,0.264,0.787,0.353
        c2.531,0.787,5.153-0.523,6.027-3.062C391.258,942.445,389.856,939.823,387.409,938.95z"></path>
              <g class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slices">
                <path d="M164.501,871.997L32.578,689.985C72.671,660.744,114.954,647,164.501,647V871.997z"></path>
                <path d="M164.501,871.997l-213.509-69.512c15.319-47.276,41.407-83.26,81.586-112.5L164.501,871.997z"></path>
                <path d="M164.501,871.997L-49.01,941.601c-15.319-47.274-15.319-91.751,0-139.115L164.501,871.997z"></path>
                <path d="M164.501,871.997L32.578,1054.099c-40.093-29.24-66.18-65.226-81.586-112.502L164.501,871.997z"></path>
                <path d="M164.501,871.997v224.999c-49.548,0-91.83-13.748-131.923-42.987L164.501,871.997z"></path>
                <path d="M164.501,871.997l131.922,182.016C256.33,1083.252,214.047,1097,164.501,1097V871.997z"></path>
                <path d="M164.501,871.997L378.01,941.51c-15.318,47.279-41.407,83.26-81.587,112.503L164.501,871.997z"></path>
                <path d="M164.501,871.997l213.509-69.512c15.319,47.274,15.319,91.749,0,139.115L164.501,871.997z"></path>
                <path d="M164.501,871.997l131.922-182.012c40.093,29.24,66.18,65.224,81.587,112.5L164.501,871.997z"></path>
                <path d="M164.501,871.997V647.002c49.546,0,91.829,13.744,131.922,42.986L164.501,871.997z"></path>
              </g>
            </svg>
          </div>
          <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-pointer-shadow">
            <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 66 116" enable-background="new 0 0 66 116" xml:space="preserve">
              <path fill="#000000" d="M66,33C66,14.774,51.227,0,33,0C14.775,0,0,14.774,0,33c0,11.604,5.994,21.801,15.05,27.685h-0.015
        L24.5,107.5c0,4.694,3.806,8.5,8.5,8.5s8.5-3.806,8.5-8.5l9.466-46.815h-0.015C60.007,54.801,66,44.604,66,33z"></path>
            </svg>
          </div>
          <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-pointer">
            <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 66 116" enable-background="new 0 0 66 116" xml:space="preserve">
              <path fill="#FFFFFF" d="M66,33C66,14.774,51.227,0,33,0C14.775,0,0,14.774,0,33c0,11.604,5.994,21.801,15.05,27.685h-0.015
        L24.5,107.5c0,4.694,3.806,8.5,8.5,8.5s8.5-3.806,8.5-8.5l9.466-46.815h-0.015C60.007,54.801,66,44.604,66,33z"></path>
              <path class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-pointer-body" fill="#C13A4A" d="M57.5,33C57.5,19.469,46.531,8.5,33,8.5S8.5,19.469,8.5,33c0,9.17,5.041,17.158,12.501,21.358H21l7,52.392
        c0,2.762,2.238,5,5,5s5-2.238,5-5l7-52.391h-0.002C52.458,50.16,57.5,42.171,57.5,33z"></path>
            </svg>
          </div>
        </div>
      </div>
      <style>
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa {
          padding-left: 0px;
          padding-right: 0px;
          padding-top: 0px;
          padding-bottom: 0px;
          display: flex;
          flex-direction: column;
        }
      </style>
      <div id="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-650a5f7b96e18d75fcc99caa" class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa">
        <style>
          label[for^=omnisend].omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-label {
            color: #21095D;
            padding-left: 0px;
            padding-right: 0px;
            padding-top: 12px;
            padding-bottom: 12px;
            ;
            font-family: Poppins, Helvetica Neue, Helvetica, Arial, sans-serif;
            font-size: 14px;
            line-height: 120%;
            word-break: break-word;
          }

          label[for^=omnisend].omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-label.error {
            color: #FF0000;
          }
        </style>
        <style>
          #omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-emailField-input.omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-input {
            -webkit-appearance: none;
            -moz-appearance: none;
            -ms-appearance: none;
            -o-appearance: none;
            appearance: none;
            outline: none;
            border: none;
            background-color: transparent;
            padding: 0;
            margin: 0;
            width: 100%;
            height: auto;
            flex-basis: 0;
            flex-grow: 1;
            box-sizing: border-box;
            border-radius: 8px !important;
            padding-left: 16px;
            padding-right: 16px;
            padding-top: 16px;
            padding-bottom: 16px;
            color: #161717;
            background-color: #FFFFFF;
            border-style: solid;
            border-color: #21095D;
            border-width: 2px;
            ;
          }

          #omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-emailField-input.omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-input:focus {
            outline: auto;
          }

          #omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-emailField-input.omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-input::placeholder {
            opacity: 1;
            color: #21095D;
            ;
          }

          #omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-emailField-input.omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-input {
            font-family: Poppins, Helvetica Neue, Helvetica, Arial, sans-serif;
            font-size: 14px;
            line-height: 120%;
          }

          #omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-emailField-input.omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-input.error {
            border-color: #FF0000;
          }
        </style>
        <input id="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-emailField-input" class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-input" type="email"
          placeholder="Please Enter Your Email" name="emailField" required="" aria-required="true" maxlength="" oninput="" aria-label="Email field" autocomplete="email">
        <style>
          .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-required {
            padding-top: 12px;
            padding-bottom: 12px;
            padding-left: 0px;
            padding-right: 0px;
            ;
            font-family: Poppins, Helvetica Neue, Helvetica, Arial, sans-serif;
            font-size: 14px;
            line-height: 120%;
            color: #FF0000;
          }
        </style>
        <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-required" style="display: none;">This field is required</div>
        <style>
          .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-error {
            padding-top: 12px;
            padding-bottom: 12px;
            padding-left: 0px;
            padding-right: 0px;
            ;
            font-family: Poppins, Helvetica Neue, Helvetica, Arial, sans-serif;
            font-size: 14px;
            line-height: 120%;
            color: #FF0000;
          }
        </style>
        <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-field-container-650a5f7b96e18d75fcc99caa-error" style="display: none;">The email address must contain @ and a valid domain</div>
      </div>
      <!--Button content block starts -->
      <style type="text/css">
        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-action-container-650a5f8696e18d75fcc99cab {
          padding-top: 12px;
          padding-bottom: 12px;
          padding-left: 0px;
          padding-right: 0px;
          ;
          display: flex;
          flex-direction: column;
          word-break: break-word;
        }

        #omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-action-650a5f8696e18d75fcc99cab.omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-action-650a5f8696e18d75fcc99cab {
          align-self: center;
          width: 100%;
          box-sizing: border-box;
          text-align: center;
          cursor: pointer;
          line-height: 120%;
          margin: 0;
          letter-spacing: normal;
          font-family: Poppins, Helvetica Neue, Helvetica, Arial, sans-serif;
          font-size: 16px;
          font-weight: normal;
          font-style: normal;
          text-decoration: none;
          color: #383838;
          background-color: #C7EFD5;
          border-radius: 8px;
          border-width: 2px;
          border-style: solid;
          border-color: #21095D;
          padding-bottom: 16px;
          padding-top: 16px;
          padding-left: 16px;
          padding-right: 16px;
        }

        #omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-action-650a5f8696e18d75fcc99cab.omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-action-650a5f8696e18d75fcc99cab:disabled {
          cursor: default;
          opacity: 0.6;
        }

        .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-error {
          padding-top: 12px;
          padding-bottom: 12px;
          padding-left: 0px;
          padding-right: 0px;
          ;
          font-family: Poppins, Helvetica Neue, Helvetica, Arial, sans-serif;
          font-size: 14px;
          line-height: 120%;
          color: #FF0000;
        }
      </style>
      <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-action-container-650a5f8696e18d75fcc99cab">
        <div class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-error" style="display: none;">Something went wrong!</div>
        <button class="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-action-650a5f8696e18d75fcc99cab" id="omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-action-650a5f8696e18d75fcc99cab" type="submit">Let's start spinning</button>
      </div>
    </div>
  </div>
</form>

<form class="">
  <div class="zb-flex">
    <a href="${product.url}?${toQuery({ aid: 'smart_recommend.2.' + data.id, ifb: product.ifb || '', cfb: product.cfb || '', scm: product.scm || data.scm || '', ssp: data.ssp || '' })}" impr="1" imprevt="1" class="zb-w-[132px] zb-mr-4 rtl:zb-ml-4 rtl:zb-mr-0" data-prdct="${product.id}" data-ifb="${product.ifb || ''}" data-cfb="${product.cfb || ''}" data-scm="${product.scm || data.scm || ''}" data-spm="${productIndex}"> <ljs-render layout="container" id="smart_cart_pop_image_${product.id}" template="smart_cart_pop_image_template" manual=""></ljs-render> </a>
    <div class="zb-flex zb-flex-col zb-flex-grow zb-justify-between">
      <div>
        <div class="zb-line-clamp-2 zb-text-sm zb-mb-2">${product.title}</div> <ljs-render layout="container" id="smart_cart_pop_price_${product.id}" template="smart_cart_pop_price_template" manual=""></ljs-render>
      </div>
      <div>
        <div class="zb-relative zb-w-full zb-cursor-pointer">
          <div class="zb-border zb-border-solid zb-border-[#eee] zb-px-3 zb-py-[10px] zb-flex zb-items-center zb-justify-between zb-font-semibold zb-text-sm zb-rounded-sm"
            @tap="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);smart_cart_pop_variant_${product.id}_mobile.toggleClass(class=zb-hidden);smart_cart_pop_variant_${product.id}_pc.toggleClass(class=smart_cart_pop_variant_pc_show,force=true);smart_cart_pop_variant_modal_${product.id}.open"
            spz-if="${!!(product.options &amp;&amp; product.options.length &amp;&amp; product.options.length > 0) &amp;&amp; data.config.variant_select_visible}"> <ljs-render manual="" layout="container" id="smart_cart_pop_variant_text_${product.id}"
              template="smart_cart_pop_variant_text_template"></ljs-render> <svg id="smart_pop_variant-select-${product.id}" width="12" height="8" class="zb-ml-2" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg">
              <path
                d="M6.00002 7.06738C6.19244 7.06775 6.38498 6.99453 6.5318 6.84772C6.54504 6.83447 6.55769 6.82086 6.56973 6.8069L11.1251 2.25152C11.418 1.95863 11.418 1.48375 11.1251 1.19086C10.8322 0.897968 10.3573 0.897968 10.0645 1.19086L6.00003 5.25529L1.9356 1.19086C1.64271 0.897968 1.16784 0.897968 0.874943 1.19086C0.58205 1.48375 0.58205 1.95863 0.874943 2.25152L5.43033 6.8069C5.44237 6.82086 5.45502 6.83447 5.46826 6.84772C5.61507 6.99453 5.8076 7.06775 6.00002 7.06738Z"
                fill="#0A1533"></path>
            </svg> </div> <ljs-lightbox layout="nodisplay" disable-unmount="" class="smart_cart_pop_lightbox_pc" id="smart_cart_pop_variant_modal_${product.id}" @close="smart_pop_variant-select-${product.id}.toggleClass(class=zb-rotate-180);">
            <div id="smart_cart_pop_variant_${product.id}_pc" class="zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
                class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template"
                onclick="event.stopPropagation()" disabled-dj-event="" interference=""> </ljs-variants></div>
          </ljs-lightbox>
        </div>
        <div class="zb-mt-3"> <button product-id="${product.id}" id="smart_cart_pop_atc_btn_${product.id}"
            class="zb-flex zb-items-center zb-justify-center zb-w-full zb-text-white zb-py-[10px] zb-h-9 zb-text-xs zb-font-normal zb-border-none zb-rounded-[4px] smart_cart_pop_atc_btn_bg" type="button" role="addToCart"
            @tap="smart_cart_pop_loading_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_${product.id}.toggleClass(class=zb-hidden);smart_cart_pop_atc_btn_${product.id}.toggleClass(class=zb-pointer-events-none);custom-func.addATCHook(activity_id='${data.id}',ifb='${product.ifb}',cfb='${product.cfb}',scm='${product.scm || data.scm}',ssp='${data.ssp}',spm='${data.spmBase}.${productIndex}')">
            <ljs-render layout="container" id="smart_cart_pop_atc_${product.id}" template="smart_cart_pop_atc_template" mamual="" class="notranslate"> </ljs-render>
            <div id="smart_cart_pop_added_${product.id}" class="zb-hidden"><span class="zb-flex zb-justify-center zb-gap-1"><svg width="14" height="15" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
                  <path
                    d="M8 16.5006C3.58171 16.5006 0 12.9183 0 8.5C0 4.08171 3.58171 0.5 8 0.5C12.4183 0.5 16 4.08171 16 8.5C16 12.9183 12.4183 16.5006 8 16.5006ZM8 2.04344C4.21314 2.04344 1.54287 4.71371 1.54287 8.50057C1.54287 12.2874 4.21314 14.9577 8 14.9577C11.7869 14.9577 14.4571 12.2874 14.4571 8.50057C14.4571 4.71371 11.7869 2.04344 8 2.04344ZM7.26057 11.1909L7.12229 11.3286L7.09543 11.3017C7.02286 11.336 6.94286 11.3577 6.85714 11.3577C6.73543 11.3577 6.62857 11.3109 6.536 11.2463L6.52229 11.2594L6.45371 11.1909C6.45314 11.1903 6.45314 11.1903 6.45257 11.1897L4.09771 8.83486L4.90629 8.02686L6.85714 9.97771L11.1629 5.67143L11.9714 6.48L7.26171 11.1897C7.26114 11.1903 7.26114 11.1903 7.26057 11.1909Z"
                    fill="white"></path>
                </svg>Added</span></div>
            <div id="smart_cart_pop_loading_${product.id}" class="zb-hidden">
              <div class="smart_cart_pop_loading"></div>
            </div>
          </button> </div>
      </div>
    </div>
  </div>
  <div id="smart_cart_pop_variant_${product.id}_mobile" class="zb-hidden md:zb-hidden"><ljs-variants id="smart_cart_pop_variants_${product.id}"
      class="md:!zb-absolute md:zb-top-[50px] md:zb-w-full md:zb-left-0 md:zb-z-30 md:zb-bg-white zb-max-h-[280px] zb-overflow-y-auto md:zb-shadow-pop" layout="container" template="smart_cart_pop_variant_template" onclick="event.stopPropagation()"
      disabled-dj-event="" interference=""> </ljs-variants></div>
</form>

POST //translate.googleapis.com/translate_voting?client=te

<form id="goog-gt-votingForm" action="//translate.googleapis.com/translate_voting?client=te" method="post" target="votingFrame" class="VIpgJd-yAWNEb-hvhgNd-aXYTce"><input type="text" name="sl" id="goog-gt-votingInputSrcLang"><input type="text"
    name="tl" id="goog-gt-votingInputTrgLang"><input type="text" name="query" id="goog-gt-votingInputSrcText"><input type="text" name="gtrans" id="goog-gt-votingInputTrgText"><input type="text" name="vote" id="goog-gt-votingInputVote"></form>

Text Content

FREE SHPPING FOR ORDER OVER $89



Powered by Google Übersetzer
English,日本語,Español,Français,Italiano,Deutsch


Search

OKAYWEAR


English,日本語,Español,Français,Italiano,Deutsch

Search Search
Account
 * Log in
 * Create an account

WISHLIST
0 Cart
Close


 * NEW
    * NEW
    * New Trending
    * NEW IN TODAY
      * NEW IN TODAY
      * New In 7 Days
      * New In 15 Days
      * New In 30 Days
    * NEW IN CLOTHING
      * NEW IN CLOTHING
      * New In Blazers
      * New In Sets
      * New In Tops
      * New In Bottoms
      * New In Shoes & Acc

 * BEST SELLER
 * 2024S/S
 * TREND
    * TREND
    * SHOP BY STYLE
      * SHOP BY STYLE
      * Business Style Hot
      * Casual Style
      * Vacation Style
    * SHOP BY COLOR
      * SHOP BY COLOR
      * White
      * Purple
      * Green
      * Khaki
      * Black
      * Pink
      * Blue
    * SHOP BY FARBIC
      * SHOP BY FARBIC
      * Leather
      * Velvet
      * Denim
      * Knitted
      * Linen

 * CLOTHING
    * CLOTHING
    * TWO PIECE OUTFITS
      * TWO PIECE OUTFITS
      * Casual Sets
      * Blazer Sets
    * OUTERWEAR
      * OUTERWEAR
      * Blazers Hot
      * Men's VEST
      * Trench Coat
      * Coats & Jackets
      * Downs & Parkas
    * TOPS
      * TOPS
      * Shirts
      * T-shirts
      * Polo Shirts
      * Tees & Tanks
      * Sweaters
      * Hoodies & Sweatshirts
    * BOTTOMS
      * BOTTOMS
      * Suit Pants
      * Casual Pants
      * Shorts Pants
    * SHOES & ACC
      * SHOES & ACC
      * Shoes
      * Accessories
    * Swimwear

 * BLAZERS Hot
 * TWO PIECE OUTFITS
    * TWO PIECE OUTFITS
    * Blazer Sets
    * Casual Sets

 * TOPS
    * TOPS
    * Shirts
    * T-shirts
    * Polo Shirts
    * Tees & Tanks
    * Sweaters
    * Hoodies & Sweatshirts

 * SALE
    * SALE
    * Under $9.99
    * Ships within 24Hrs

   Log in
   
   English,日本語,Español,Français,Italiano,Deutsch
   

 * NEW
    * New Trending
    * NEW IN TODAY New In 7 Days New In 15 Days New In 30 Days
    * NEW IN CLOTHING New In Blazers New In Sets New In Tops New In Bottoms New
      In Shoes & Acc

 * BEST SELLER
 * 2024S/S
 * TREND
    * SHOP BY STYLE Business Style Hot Casual Style Vacation Style
    * SHOP BY COLOR White Purple Green Khaki Black Pink Blue
    * SHOP BY FARBIC Leather Velvet Denim Knitted Linen

 * CLOTHING
    * TWO PIECE OUTFITS Casual Sets Blazer Sets
    * OUTERWEAR Blazers Hot Men's VEST Trench Coat Coats & Jackets Downs &
      Parkas
    * TOPS Shirts T-shirts Polo Shirts Tees & Tanks Sweaters Hoodies &
      Sweatshirts
    * BOTTOMS Suit Pants Casual Pants Shorts Pants
    * SHOES & ACC Shoes Accessories
    * Swimwear

 * BLAZERS
   Hot
 * TWO PIECE OUTFITS
   Blazer Sets
   Casual Sets
 * TOPS
   Shirts
   T-shirts
   Polo Shirts
   Tees & Tanks
   Sweaters
   Hoodies & Sweatshirts
 * SALE
   Under $9.99
   Ships within 24Hrs
 * More links


Top search terms
Red Purple💜 Suits Shoes👞 Leopard Sets Plaid Houndstooth Dating💞
Top searched


BUSINESS GRADIENT SINGLE BREASTED POCKETS LAPEL COLLAR BLAZER

$52.79

+1


BUSINESS CASUAL HOUNDSTOOTH POCKET TURNDOWN COLLAR BLAZER

$52.79



OKAYWEAR HOUNDSTOOTH CHEST POCKET DOUBLE BREASTED BLAZER

$56.79



FORMAL VELVET PATCHWORK SHAWL NECK SINGLE BREASTED BLAZER

$59.79



LAPEL COLLAR SINGLE BREASTED SHIRT & PANTS 2PCS SET

$69.79



OKAYWEAR SINGLE BREASTED DENIM PATTERN BLAZER & PANTS 2PCS SET

$85.79





FORMAL HOUNDSTOOTH SHAWL NECK CHEST POCKET BLAZER

SKU: K621988881298460672
Price
$52.79
$52.79
Save  $0.00
COUPON
80% off
50% off
20% off
COUPON

Buy 4+ items Get 1 at 80% off

Go for it OKB80 OKB80
Copy code
Buy 3+ items Get 1 at 50% off

Go for it OKB50 OKB50
Copy code
Buy 2+ items Get 1 at 20% off

Go for it OKB20 OKB20
Copy code
Close


GIFT OFFER

View the GIFT OFFER
Spend $199 to get 1 free gift(s)
CLOSE
Spend $199 to get 1 free gift(s)


Color — Black

Please select a color
Size Guide Size
S
M
L
XL
2XL
3XL
4XL
Please select a size
Quantity

Add to cart - $52.79

Buy it now

Buy $89.00 more to enjoy FREE Shipping

Free Shipping for Orders Over $89
Easy Returns - 30 Days Warranty
24 Hours Response
Secure Payments
Share Tweet Pin it





${function(){ const rules = data.data.rules; return `

` }()}
You May Also Like
 * OK Fashion Pink Plaid Print Notch Lapel Two Button Blazer
   $33.45
   $47.79
   Quick Shop
 * Formal Double Breasted Chest Pocket Plaid Turndown Collar Blazer
   $54.79
   Quick Shop
 * Business Casual Houndstooth Pocket Turndown Collar Blazer
   $52.79
   Quick Shop
 * Formal Tunrdown Collar Belt Pocket Long Sleeve Blazer
   $59.79
   Quick Shop
 * Polka Dot Print Double Breasted Blazer & Pant 2Pcs Set
   $89.79
   Quick Shop
 * Business Houndstooth Notch Lapel Cuff Button Blazer
   $52.79
   Quick Shop
 * Formal Shawl Neck Chain Long Sleeve Chest Pocket Blazer
   
   Quick Shop
 * Business Casual Single Breasted Chest Pocket Patchwork Blazer
   
   Quick Shop
 * Business Shawl Neck Wrap Blazer & Pant 2Pcs Set
   
   Quick Shop
 * Business Turndown Collar Double Breasted Houndstooth Blazer
   
   Quick Shop
 * OK Elegant Allover Print Lapel Collar One Button Blazer
   
   Quick Shop
 * Allover Houndstooth Pattern Notch Lapel Pocket Button Blazer
   
   Quick Shop
 * Okaywear Casual Allover Print Lapel Collar Long Sleeve Shirt
   
   Quick Shop
 * Patchwork Stand Collar Double Breasted Blazer & Pants 2Pcs Set
   
   Quick Shop
 * Formal Stripe Two-button Notch Lapel Chest Pocket Blazer
   
   Quick Shop
 * Formal Double Breasted Plaid Long Sleeve Blazer
   
   Quick Shop
 * Formal Shawl Neck Polka Dot Print Long Sleeve Blazer
   
   Quick Shop
 * Business Houndstooth Stitching Blazer
   
   Quick Shop
 * Single Breasted Pockets Safari Jacket & Pant 2Pcs Set
   
   Quick Shop
 * Retro Floral Pattern Lapel Collar Single Breasted Blazer
   
   Quick Shop
 * Formal Animal Pattern Shawl Neck Single Breasted Blazer
   
   Quick Shop
 * Formal Plaid Notch Lapel Blazer & Pant 2Pcs Set
   
   Quick Shop
 * Single Breasted Houndstooth Chest Pocket Long Sleeve Blazer
   
   Quick Shop
 * Formal Turndown Collar Pockets Blazer & Pant 2Pcs Set
   
   Quick Shop
 * Retro Floral Pattern Contrast Collar Blazer & Pants 2Pcs Set
   
   Quick Shop
 * Casual Lapel Collar Two Button Chest Pocket Plain Blazer
   
   Quick Shop
 * Formal Velvet Patchwork Shawl Neck Single Breasted Blazer
   
   Quick Shop
 * Party Checkered Pattern Buttons Stand Collar Welt Pocket Blazer
   
   Quick Shop
 * PU Leather Notch Lapel Single Breasted Blazer & Pants 2Pcs Set
   
   Quick Shop
 * OK Casual Leopard Print Notch Lapel Pocket Two Button Blazer
   
   Quick Shop
 * Retro Square Toe Zipper Stone Pattern PU Leather Boots
   
   Quick Shop
 * Okaywear Business Houndstooth Gradient Blazers
   
   Quick Shop
 * Okaywear Houndstooth Chest Pocket Double Breasted Blazer
   
   Quick Shop
 * Lapel Collar Single Breasted Shirt & Pants 2Pcs Set
   
   Quick Shop
 * OK Casual Striped Print Notch Lapel Two Button Blazer
   
   Quick Shop
 * Fashion Shawl Lapel Contrast Color Single Breasted Blazer
   
   Quick Shop
 * Fashion Totem Pattern Stand Collar Blazer & Pants 2Pcs Set
   
   Quick Shop
 * Formal Striped Double Breasted Pocket Blazer & Pant 2Pcs Set
   
   Quick Shop
 * OK Classic Blue Plaid Notch Lapel Two Button Slim Fit Blazer
   
   Quick Shop
 * Business Turndown Collar Chest Pocket Washed Denim pattern Blazer
   
   Quick Shop
 * Tassel Sewing Line Solid Color Shallow Mouth Shoes
   
   Quick Shop
 * Formal Lapel Collar Long Sleeve Blazer & Pant 2Pcs Set
   
   Quick Shop
 * Formal Turndown Collar Long Sleeve Plaid Blazer
   
   Quick Shop
 * Notch Lapel Single Breasted Belt Design Herringbone Jacket
   
   Quick Shop
 * Business Notch Lapel Splash Ink Pattern Long Sleeve Blazer
   
   Quick Shop
 * Okaywear Camouflage Pattern Lapel Collar Blazer & Pants 2Pcs Set
   
   Quick Shop
 * Versatile Grid Flat Half Slip-on Shoes
   
   Quick Shop
 * Houndstooth Turndown Collar Single Breasted Blazer
   
   Quick Shop
 * Houndstooth Pattern Single Breasted Casual Blazer
   
   Quick Shop
 * Basic Solid Velvet Lapel Collar Chest Pocket Blazer
   
   Quick Shop
 * Business Allover Pattern Lapel Collar Long Sleeve Blazer
   
   Quick Shop
 * Casual Plain V Neck Half Sleeve Loose Shirt & Drawstring Pants 2Pcs Set
   
   Quick Shop
 * Formal Pockets Chain Button Blazer & Pant 2Pcs Set
   
   Quick Shop
 * Fashion Colorblock Plaid Lapel Collar Button Blazer & Pants 2Pcs Set
   
   Quick Shop
 * Daily Multi-Pocket Turndown Collar Buttons Plaid Jacket
   
   Quick Shop
 * PU Leather Notch Lapel Two Buttons Jacket & Pants 2Pcs Set
   
   Quick Shop
 * Plaid Notch Lapel Collar Buttons Design Utility Pockets Blazer
   
   Quick Shop
 * OK Casual Plain Hollow Breathable Polo Shirt & Pants 2Pcs Set
   
   Quick Shop
 * Daily Herringbone Single Breasted Pockets Notch Lapel Patchwork Blazer
   
   Quick Shop
 * OK Elegant Vertical Stripe Lapel Collar Two Button Pocket Blazer
   
   Quick Shop
 * OK Casual Plaid Lapel Collar Slim Fit Blazer & Pants 2Pcs Set
   
   Quick Shop
 * Retro Floral Pattern Stand Collar Jacket & Pants 2Pcs Set
   
   Quick Shop
 * OK Fashion Color Block Plaid Print Slim Fit Pencil Pants
   
   Quick Shop
 * Formal Notch Lapel Double Breasted Pockets Blzer & Pant 2Pcs Set
   
   Quick Shop
 * Men Luxury Lapel Fuzzy Overcoat
   
   Quick Shop
 * OK Casual Plain Lapel Collar Linen Blazer & Shorts 2Pcs Set
   
   Quick Shop
 * OK Casual Polka Dot Long Sleeve Shirt & Pants 2Pcs Set
   
   Quick Shop
 * Daily Fleece Lapel Collar Double Breasted Chest Pocket Blazer
   
   Quick Shop
 * OK Fashion Polka Dot Print Short Sleeve Shirt & Pants 2Pcs Set
   
   Quick Shop



${function(){ const isCart = data.data.isCart; const isCollection =
data.data.isCollection; const isProduct = data.data.isProduct; const isIndex =
data.data.isIndex; return `
${isCart ? 'The items in the shopping cart do not participate in any
recommendation rule. Add the participating items to your shopping cart to check
the design.' : ''} ${isProduct ? 'This product did not participated in any
recommendation rule. Switch to another product to check the design.' : ''}
${isCollection ? 'The items in this collection do not participate in any
recommendation rule. Switch the participating items to check the design.' : ''}
${isIndex ? 'The home page do not participate in any recommendation rule.' : ''}
(This prompt would not display on client-side)
Recommended Products
` }()} ${function(){ const rule = data.data; const getImageHeight =
function(image){ const image_size = rule.config.image_size || 0; const
imageWidth = image.width || 600; const imageHeight = image.height || 800; let
ratio = 0; if(image_size == 0){ ratio = (imageHeight / imageWidth).toFixed(2);
}else if(image_size == 1){ ratio = 1.5; }else if(image_size == 2){ ratio = 1;
}else if(image_size == 3){ ratio = 0.75; } return imageWidth * ratio; }; const
toQuery = obj => Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v
=> `${k}[]=${encodeURIComponent(v)}`).join('&') :
`${k}=${encodeURIComponent(obj[k])}` ) .join('&'); return `
${rule.config.title}
 * ${product.title}
   
   ${rule.config.quick_shop_button_text}



` }()}


class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) {
super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {};
this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = '';
this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ =
''; this.order_id_ = ''; } static deferredMount() { return false; }
isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; }
buildCallback() { const template_type =
window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) {
this.show_type_ = 3; this.product_resource_id_ =
window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) {
this.show_type_ = 4; this.collection_resource_id_ =
window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){
this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; }
else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ =
window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){
this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop();
} this.templates_ = SPZServices.templatesForDoc(this.element);
this.setAction_(); } mountCallback() { console.log('smart mounted'); const that
= this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const
isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res &&
res.rules && res.rules.length) { const blockEl =
document.getElementById('smart_recommend_block');
SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res},
true).then(() => { if (isGeek && that.show_type_ === 6) {
blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; }
const recommendStyle = document.createElement('style'); recommendStyle.innerHTML
= ` .plugin__recommend_container,.app-recommend-card { display: none !important;
} `; document.head.appendChild(recommendStyle); const fetchList = [];
res.rules.forEach((rule) => {
fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll =
Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule,
index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl
= document.getElementById('smart_recommend_rule_' + rule.id);
SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule},
true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`,
function(){ that.trackRuleImpress(rule); }); const btnElList =
document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`);
btnElList.forEach((btnEl) => { if (btnEl && rule.config &&
rule.config.quick_shop_button_bg_color &&
rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor =
rule.config.quick_shop_button_bg_color; btnEl.style.color =
rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if
(window.top !== window.self) { const template_type =
window.SHOPLAZZA.meta.page.template_type; const holderEl =
document.getElementById('smart_recommend_preview_no_data_placeholder');
SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart:
template_type === 13, isCollection: template_type === 2, isProduct:
template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); }
setAction_() { this.registerAction('quickShop', (data) => { const that = this;
const product_id = data.args.product_id; const productIndex =
data.args.productIndex; const rule_id = data.args.rule_id; const ssp =
data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb =
data.args.ifb; const modalRender =
document.getElementById('smart_recommend_product_modal_render'); if (product_id)
{ this.fetchProductData(product_id).then((res) => { const product = res.products
&& res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb
= ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product:
product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm,
show_type: that.show_type_}, true).then(() => { const modalEl =
document.getElementById('smart_recommend_product_modal');
SPZ.whenApiDefined(modalEl).then((modal) => {
that.impressListen('#smart_recommend_product_modal', function(){
that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); });
modal.open(); }); const formEl =
document.getElementById('smart_recommend_product_form');
SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const
variantEl = document.getElementById('smart_recommend_product_variants');
SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product);
}); }); }) }); } }); this.registerAction('handleScroll', (data) => {
this.directTo(data.args.rule_id, data.args.direction); });
this.registerAction('handleProductChange', (data) => { const variant =
data.args.data.variant; const product = data.args.data.product; const
imageRenderEl = document.getElementById('smart_recommend_product_image');
SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant,
product: product }, true); }); }); this.registerAction('handleAtcSuccess',
(detail) => { const data = detail.args; data.data.product = data.data.product ||
{}; data.data.variant = data.data.variant || {}; const product_id =
data.data.product.id; const product_title = data.data.product.title; const
variant_id = data.data.variant.id; const price = data.data.variant.price; const
rule_id = data.rule_id; const aid =
`smart_recommend.${this.show_type_}.${rule_id}`; const ifb =
data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp;
const scm = data.scm; const spm =
`smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id:
product_id, product_id: product_id, number: 1, name: product_title, variant_id:
variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart',
_extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm:
`..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } };
this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => {
const params = data.args; const spm =
`smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ =
window.djInterceptors && window.djInterceptors.track.use({ event:
'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` +
params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm:
`..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); }
tranckAddToCart(detail) { if (window.$) {
window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() {
const payload = { show_type: this.show_type_, }; let that = this; if
(this.show_type_ === 6) { let line_items = []; return
this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) {
line_items = res.cart.line_items.map((item) => { return { product_id:
item.product_id, variant_id: item.variant_id, quantity: item.quantity, price:
item.price } }); } payload.line_items = line_items; that.cart_items_ =
line_items; return that.fetchRulesRequest(payload); }); } else { if
(this.show_type_ === 3) { payload.line_items = [{ product_id:
this.product_resource_id_ }]; } else if (this.show_type_ === 4) {
payload.collection_id = this.collection_resource_id_; } else if (this.show_type_
=== 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ ===
8) { payload.order_id = this.order_id_; } return
this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return
fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method:
"POST", headers: { "Content-Type": "application/json" }, body:
JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); }
}); } fetchCart() { return
fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`)
.then((res) => { if (res.ok) { return res.json(); } }); }
fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields:
["title", "url", "image", "min_price_variant.price",
"min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_
=== 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; }
else if (this.show_type_ === 4) { payload.collection_id =
this.collection_resource_id_; } else if (this.show_type_ === 6) {
payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) {
payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) {
payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root +
"/api/possum/recommend_products", { method: "POST", headers: { "Content-Type":
"application/json" }, body: JSON.stringify(payload) }).then(function(res){
if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); }
fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root +
"/api/possum/products", { method: "POST", headers: { "Content-Type":
"application/json" }, body: JSON.stringify({ product_ids: [product_id], fields:
[ "images", "options", "min_price_variant", "variants"] })
}).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){
console.log(err); const loadingEl =
document.getElementById('smart_recommend_loading'); if (loadingEl) {
loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele)
return; if (window.getComputedStyle) { return
window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; }
directTo(id, direction) { const scrollElement =
document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth =
parseInt(this.getStyle(scrollElement, 'width')); const scrollLength =
(blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth -
scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left')
{ if (document.dir === 'rtl') { scrollElement.scrollTo({ left:
Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 :
scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; }
scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength,
0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') {
scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint
+ 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' });
return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint
- 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } }
trackRuleImpress(rule) { if (window.sa && window.sa.track) {
window.sa.track("plugin_common", { plugin_name: "upsell", event_type:
"impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type:
this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block });
window.sa.track("module_impressions", { aid:
`smart_recommend.${this.show_type_}.${rule.id}`, support_app_block:
window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) {
window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell",
event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id,
show_type: this.show_type_, }); } impressListen(selector, cb) { const el =
document.querySelector(selector); const onImpress = (e) => { if (e) {
e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) {
el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } }
SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);
${(function(){ const product = data.product; const toQuery = obj =>
Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v =>
`${k}[]=${encodeURIComponent(v)}`).join('&') :
`${k}=${encodeURIComponent(obj[k])}` ) .join('&'); return `
${product.images.map((image) => { return `` }).join('')}

${product.title}

See detail
Quantity
Add To Cart Buy Now
`; })()}
${(function(){ const product = data.product; const avail_variants =
product.variants.filter(function(variant){ return variant.available; }); const
selected_variant = product.min_price_variant.available ?
product.min_price_variant : avail_variants.length && avail_variants[0]; return `
${option.name}
${ option.values.map(function(value, index){ const checked =
selected_variant["option"+option.position] == value ? "checked": ""; return `
${value}
` }).join("") }
` })()}
Description

Style: Business, Formal

Color: As Picture

Material: Cotton Blends

Fit Type: Regular Fit

Pattern Type: Houndstooth

Neckline: Shawl Neck

Details: Long Sleeve, Single Breasted, Pocket

Product Type: PresellOne

Item ID: NN0000389

Shipping Policy

We provide FREE STANDARD SHIPPING on orders over US$89


BELOW ARE OKAYWEAR STORE SHIPPING TIMES AND COST DETAILS:

Delivery Time = Processing Time + Shipping Time

Processing time: 3-8 Business Days

Shipping Countries: Worldwide

Shipping time: The waiting time frame will depend on where you're located and on
the service type you're choosing.

Shipping Methods

Shipping Time

Costs

Standard Shipping

10-25 Business Day

$9.99 (Free for US$89+)

Note: “okaywear” will ship according to the shipping method you choose(Standard
Shipping & Express Shipping)

ABOUT SHIPPING COUNTRIES:

Our logistics providers support shipping your order to USA, Canada, Australia,
UK, and Europe.

Non-shippable country/region: Shipping is not supported to countries/regions
other than those listed above.


DO I NEED TO PAY CUSTOMS DUTIES?

Each country has its own customs rules and policies. Please contact local
customs for more information. If, in rare cases, import duties or taxes are
charged, the customer is responsible for paying them.


HOW DO I TRACK MY ORDER?

Once your order is shipped, we will send you an email with the corresponding
information. After that you will be able to track your order at
https://www.17track.net/en. Please allow 1-2 business days for tracking
information to be available.


UNCONTROLLABLE FACTORS IN SHIPPING FOR OKAYWEAR ORDERS:

In most cases, packages will arrive within the estimated time of arrival.
However, the actual delivery date may be affected by external factors such as
flight arrangements and weather conditions. Please refer to the tracking
information for the most accurate delivery date and be patient.


WHAT IF THE PACKAGE DOESN’T ARRIVE?

If you don’t get your package 60 days after it was shipped, please contact us at
support@okaywear.com . We’ll either resent a new one to you or give you a full
refund.

Returns Policy & Refunds

Your comfort, performance, and happiness is our top priority.If you have any
questions and comments, If you do not satisfied with our goods and want to send
them back to get a refund or an exchange, you can send a message to our
after-sale Customer Service (email address: support@okaywear.com), they will
reply you in 24 hours(except weekends) and give you further information and some
useful advice.Any returns not authorized by Customer Service will not be
entertained.


30 DAY RETURNS 

If you have any reason or suggestion that you are not satisfied with the order,
please contact our customer service at support@okaywear.com within 30 days after
receiving the product to request a return. Our customer service team will
provide you with our return address. And all return shipping fees are at
customers' own expense. Our customer service will always provide the best
service for our customers.Return packages should be authorized. Any return
request not authorized by the customer service will not be honored.
Note: Due to external factors such as equipment and screen brightness, the
product image will be different from the actual product.


GET A SOLUTION

 STEPS TO CONTACT US:

Please email us at support@okaywear.com describing the issue in detail,
including the return reason, along with your order number and sku product
number. for defective, incorrect or not as described items, please send us a
clear picture or video of the problem. please keep the picture below 2 mb.
-

OUR SOLUTIONS:

1. Okaywear's responsibility
· If our company is responsible for the issue, we will allow a return to our
warehouse for a refund and/or an exchange.
· Once we receive the item, we will offer compensation or resend for free a
replacement at our expense.
2.Customer's responsibility
· If the customer has ordered an incorrect size, product or simply wants to
exchange the item, we can also allow a return.
· The customer is responsible for the shipping fee for an exchange, and we will
refund the original product cost upon receiving the returned item. all shipping
fees are non-refundable.



COMPENSATION TIME-FRAME

For returned items or items for exchange, we will need 3-6 business days upon
receiving your item(s) to process the solution.
After this time, the refund time-frame is as below:
Paypal account refunds: Up to 48 hours
Credit card refunds: Between 7-14 business days
Wallet refunds: Up to 24 hours.

Please feel free to email us anytime, Okaywear is at your service!

Email: support@okaywear.com

Be sure to contact our customer service before returning the goods, do not
return the goods privately!

If the return is caused by the consumer, consumer should be responsible for the
shipping fee. The specific fee should be based on the express company you
choose. If due to our reasons, the goods received are damaged or not correct,
and the consumer is not required to bear the shipping fee for this reason. No
restocking fee to be charged to the consumers for the return of a product.


Customer Reviews

Here are what our customers say.

Write a Review
Write a Review
Reviews With Photos

Newest
Newest

Most liked
Highest ratings
Lowest ratings

No reviews yet, why don't you leave the first review?
Write a Review
Customer Reviews
Reviews With Photos


Newest

Most liked
Highest ratings
Lowest ratings

×





${function(){ const limit = typeof data === 'number' ? data : 0; return `
Pictures/Videos (${limit || 0}/5)
` }()}
${(function(){ const closeIcon = ' '; if (item.type === 'image') { return `
${closeIcon}
` } return `
${closeIcon}
` })()}
Submit Comments Anonymously
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) {
super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() {
this.action = SPZServices.actionServiceForDoc(this.element);
this.registerAction('upload', (data) => {
this.handleFileUpload_(data.event?.detail?.data || []); });
this.registerAction('delete', (data) => {
this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview',
(data) => { this.handleFilePreview_(data?.args?.data); });
this.registerAction('limit', (data) => { this.handleFileLimit_(); });
this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); }
isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; }
setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; }
handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url
=== i.url)) return; this.fileList_.push(i); }) this.uploadCount_++;
sessionStorage.setItem('fileList', JSON.stringify(this.fileList_));
this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files:
this.fileList_}); if(this.fileList_.length >= 5){
document.querySelector('#review_upload').style.display = 'none'; }
if(this.fileList_.length > 0){
document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop =
'8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1);
this.uploadCount_--; sessionStorage.setItem('fileList',
JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count:
this.uploadCount_, files: this.fileList_});
document.querySelector('#review_upload').style.display = 'block';
if(this.fileList_?.length === 0){
document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop =
'132px'; } } handleFilePreview_(index) { const finalPreviewData =
this.fileList_[index]; const filePreviewModal =
document.getElementById('filePreviewModal'); const fullScreenVideo =
document.getElementById('fullScreenVideo'); const fullScreenImage =
document.getElementById('fullScreenImage'); const previewModalClose =
document.getElementById('previewModalClose'); const previewLoading =
document.getElementById('previewLoading'); filePreviewModal.style.display =
'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type ===
'video'){ const media = this.mediaParse_(this.fileList_[index]?.url);
fullScreenVideo.addEventListener('canplaythrough', function() {
previewLoading.style.display = 'none'; }); fullScreenImage.src = '';
fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block';
fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload =
function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = '';
fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block';
fullScreenImage.src = finalPreviewData.url; }
previewModalClose.addEventListener('click', function() {
filePreviewModal.style.display = 'none'; }); } handleFileLimit_() {
alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files
more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() {
alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not
exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0;
sessionStorage.setItem('fileList', JSON.stringify(this.fileList_));
this.triggerEvent_("handleClear", { count: this.uploadCount_, files:
this.fileList_}); document.querySelector('#review_upload').style.display =
'block'; } mediaParse_(url) { var result = {}; try {
url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try {
result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; }
}); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; }
triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name,
data); this.action.trigger(this.element, name, event); } }
SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not
support to.


NEW IN

View all


 * VINTAGE FLORAL PRINT PATCHWORK SHAWL LAPEL & PANTS 2PCS SET
   
   $93.79
   
   NEW
   
   
   


 * SOLID SINGLE BREASTED LAPEL SHIRT & PANTS 2PCS SET
   
   $69.79
   
   NEW
   
   
   


 * DAILY LAPEL COLLAR BUTTON POCKETS STRIPE SHIRT
   
   $39.79
   
   NEW
   
   
   


 * STAND COLLAR POCKETS SINGLE BREASTED SOLID SHIRT
   
   $37.79
   
   NEW
   
   
   


 * OKAYWEAR LINEN OMBRE PRINT BLAZER & SHORTS 2PCS SET
   
   $79.79
   
   NEW
   
   
   


 * OKAYWEAR SATIN GRADIENT FLORAL PRINT LAPEL COLLAR BLAZER
   
   $59.79
   
   NEW
   
   
   


BLAZERS

View all


 * BUSINESS GRADIENT SINGLE BREASTED POCKETS LAPEL COLLAR BLAZER
   
   $52.79
   


 * OKAYWEAR BUSINESS CHECKERBOARD JACQUARD CHEST POCKET BUTTON BLAZER
   
   $59.79
   


 * OKAYWEAR SINGLE BREASTED LINEN GRADIENT NOTCH LAPEL BLAZER
   
   $59.79
   


 * BUSINESS TRIBAL PATTERN NOTCH LAPEL LONG SLEEVE BLAZER
   
   $52.79
   


 * OKAYWEAR HOUNDSTOOTH CHEST POCKET DOUBLE BREASTED BLAZER
   
   $56.79
   


 * SEERSUCKER PEAK LAPEL DOUBLE BREASTED POCKET BLAZER
   
   $59.79
   


TOPS

View all
 * +8
   
   
   DAILY LINEN LOOSE SINGLE BREASTED LONG SLEEVE SHIRT
   
   $20.79
   


 * DAILY LAPEL COLLAR PATCHWORK BUTTON SHIRT
   
   $26.79
   
 * +4
   
   
   DAILY LINEN POCKETS LAPEL COLLAR LACE UP SHORT SLEEVE SHIRT
   
   $29.79
   


 * CASUAL KNITTED COLORBLOCK CREW NECK SLEEVELESS VEST
   
   $29.79
   


 * SPORTY COLORBLOCK U NECK VERTICAL STRIPED KNITTED VEST
   
   $16.79
   


 * VACATION ELASTIC LEATHER U NECK SLIM FIT VEST
   
   $18.79
   



Subscribe and Get 10%OFF || Code:OKAYWEAR10
Subscribe
Thanks for subscribing

OKAYWEAR INFO
 * About Us
 * Privacy Policy
 * Affiliate Program
 * Terms & Conditions
 * Intellectual Property Policy

HELP & SUPPORT
 * Shipping Policy
 * Payment Policy
 * Refund & Returns
 * Bulk Purchaser Policy
 * How To Orders
 * Size Guide

CUSTOMER SERVICE
 * Contact Us
 * FAQs

Get in touch
support@okaywear.com
Follow us

We accept
PayPal Visa Discover Diners Club Maestro Mastercard

© 2024 Okaywear © Copyright-Okaywear.com. All rights reserved.


SIGN UP AND SAVE

Entice customers to sign up for your mailing list with discounts or exclusive
offers. Include an image for extra impact.
Subscribe
Thanks for subscribing
Optional button




const TAG = 'spz-custom-painter-button-animation'; const MAX_ITERATION_COUNT =
99999999; const SITE = (window.C_SETTINGS && window.C_SETTINGS.routes &&
window.C_SETTINGS.routes.root) || ''; const ADD_TO_CART_ANIMATION_SETTING =
`${SITE}/api/marketing_atmosphere_app/add_to_cart_btn_animation/setting`; class
SpzCustomPainterButtonAnimation extends SPZ.BaseElement { /**@override */ static
deferredMount() { return false; } /** @param {!SpzElement} element */
constructor(element) { super(element); /** @private
{!../../src/service/xhr-impl.Xhr} */ this.xhr_ = SPZServices.xhrFor(this.win);
/** @private {Object} */ this.data_ = null; /** @private {Element} */
this.addToCartButton_ = null; /** @private {boolean} */ this.productAvailable_ =
true; /** @private {number} */ this.timerId_ = null; /** @private {number} */
this.animationExecutionCount_ = 0; /** @private {boolean} */
this.selectedVariantAvailable_ = true; /** @private {number} */ this.delay_ =
5000; /** @private {number} */ this.iterationCount_ = 5; /** @private {string}
*/ this.animationClass_ = ''; } /** @override */ isLayoutSupported(layout) {
return layout == SPZCore.Layout.LOGIC; } /** @override */ buildCallback() {
this.productAvailable_ = this.element.hasAttribute('product-available');
this.selectedVariantAvailable_ =
this.element.hasAttribute('selected-variant-available'); } /** @override */
mountCallback() { this.render_(); } /** @private */ render_() { if
(!this.productAvailable_) { return; } this.fetch_().then((data) => { if (!data)
{ return; } this.data_ = data; this.animationClass_ =
`painter-${data.animation_name}-animation`; this.iterationCount_ =
data.animation_iteration_count === 'infinite' ? MAX_ITERATION_COUNT :
data.animation_iteration_count; const animationDuration = 1; const
animationDelay = data.animation_delay || 5; this.delay_ = (animationDuration +
animationDelay) * 1000; this.handleButtonEffect_(); }); } /** * @param
{JsonObject} data * @return {(null|Object)} * @private */ parseJson_(data) { try
{ return JSON.parse(data); } catch (e) { return null; } } /** * @return
{Promise} * @private */ fetch_() { return
this.xhr_.fetchJson(ADD_TO_CART_ANIMATION_SETTING).then((data) => { if (!data ||
!data.enabled) { return null; } return this.parseJson_(data.detail); }); } /**
@private */ getAddToCartButton_() { this.addToCartButton_ =
SPZCore.Dom.scopedQuerySelector( document.body, '[data-section-type="product"]
[role="addToCart"], [data-section-type="product_detail"] [role="addToCart"],
[data-section-type="product_detail"] [data-click="addToCart"],
[data-section-type="product"] [data-click="addToCart"]' ); } /** @private */
restartAnimation_() {
this.addToCartButton_.classList.remove(this.animationClass_);
this.addToCartButton_./* OK */ offsetWidth;
this.addToCartButton_.classList.add(this.animationClass_);
this.animationExecutionCount_++; } /** @private */ clearTimer_() {
this.win.clearInterval(this.timerId_); this.timerId_ = null; } /** @private */
setupTimer_() { this.timerId_ = this.win.setInterval(() => {
this.restartAnimation_(); if (this.animationExecutionCount_ >=
this.iterationCount_) { this.removeAnimationClass_(); this.clearTimer_(); } },
this.delay_); } /** @private */ restartTimer_() { if
(this.animationExecutionCount_ >= this.iterationCount_) {
this.removeAnimationClass_(); return; } this.setupTimer_(); } /** @private */
listenVariantChange_() { SPZUtils.Event.listen(self.document,
'dj.variantChange', (e) => { const selectedVariant = e.detail &&
e.detail.selected; if (!selectedVariant) { return; } const {available} =
selectedVariant; if (this.selectedVariantAvailable_ !== available) {
this.selectedVariantAvailable_ = available; this.clearTimer_(); if (available) {
this.restartTimer_(); } } }); } /** @private */ removeAnimationClass_() {
this.win.setTimeout(() => {
this.addToCartButton_.classList.remove(this.animationClass_); }, 1000); } /**
@private */ handleButtonEffect_() { this.getAddToCartButton_(); if
(!this.addToCartButton_) { return; } if (this.selectedVariantAvailable_) {
++this.animationExecutionCount_;
this.addToCartButton_.classList.add(this.animationClass_); if
(this.iterationCount_ === 1) { this.removeAnimationClass_(); return; }
this.setupTimer_(); } this.listenVariantChange_(); } } SPZ.defineElement(TAG,
SpzCustomPainterButtonAnimation);

Lucky Gift

JOIN US NOW*

Free Shipping
Sorry...
10% off
Sorry...
$89-$5 Off
Sorry...
$129-$15
Sorry...
$500-$100
Sorry...


This field is required
The email address must contain @ and a valid domain
Something went wrong!
Let's start spinning







Welcome to OKAYWEAR!

Congratulations on getting a coupon



Please don’t forget to fill in the discount code when checking out!

You are already subscribed

Shop now



111
GIFTS

POINTS

Formal Houndstooth Shawl Neck Chest Pocket Blazer $52.79
$52.79
Black/S
Add to Cart
Formal Houndstooth Shawl Neck Chest Pocket Blazer $52.79
$52.79
Black/S
Black
Black
S
S
M
L
XL
2XL
3XL
4XL

Add to Cart

111

$0.00



1


Item has been added
${(function(){ const products = data.products; const getDefaultVariant =
function(product){ if (product.min_price_variant.available){ return
product.min_price_variant; }else { const avail_variants =
product.variants.filter(function(variant){ return variant.available; }); if
(avail_variants.length) { return avail_variants[0]; } } }; const toQuery = obj
=> Object.keys(obj) .map(k => Array.isArray(obj[k]) ? obj[k].map(v =>
`${k}[]=${encodeURIComponent(v)}`).join('&') :
`${k}=${encodeURIComponent(obj[k])}` ) .join('&'); const getDefaultTrackParams =
function(product, index){ const variant = getDefaultVariant(product); const
params = { aid: 'smart_recommend.2.' + data.id, scm: product.scm || data.scm ||
'', spm: data.spmBase + '.' + index, ssp: data.ssp || '', }; const trackParams =
Object.keys(params).map(function(key){ return params[key]; }).join('__'); return
trackParams; }; const hasMore = (data.products.length -
data.target_top_product_num - data.page * data.limit) === 0; return `
${(function(){ return `
${data.config.pop_title}

${data.rebate_tips || ''}
`; })()}
${product.title}
Added




`; })()}

class SpzCustomComponent extends SPZ.BaseElement { constructor(element) {
super(element); this.templates_ = null; this.container_ = null;
this._atcLineItem = {}; this.cart_ = {}; this.top_product_ids_ = [];
this.products_ = []; this.activityId_ = null; this.rendered_ = false;
this.myInterceptor_ = null; this.i18n_ = {}; this.config_ = {}; this.page_ = 1;
this.limit_ = 10; this.loading_ = false; } static deferredMount() { return
false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER;
} buildCallback() { this.templates_ = SPZServices.templatesForDoc(this.element);
this.setAction_(); } mountCallback() { console.log('pop mounted'); this.i18n_ =
window.smartRecommendI18n &&
window.smartRecommendI18n[document.documentElement.lang || 'en-US'] || {}; const
cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const
modalEl = document.getElementById("smart_cart_pop_modal"); const spmBase =
`smart_recommend_2`; const extra = { spmBase: spmBase, i18n: this.i18n_, };
const that = this; document.addEventListener('dj.addToCart', (event) => { try {
const e = event.detail; if (e.source === 'buy_now' || window.__upsell_block ||
this.rendered_) return; that.fetchActivityData({product_id: e.product_id,
variant_id: e.variant_id}).then(data => { if (!data || !data.products ||
!data.products.length) return; that.config_ = data.config; const recommendStyle
= document.createElement('style'); recommendStyle.innerHTML = `
#plugin_recommend_atc_pop { display: none !important; } `;
document.head.appendChild(recommendStyle); if (data.config.pop_frequency ===
'once' && window.sessionStorage.getItem('smart_pop_times') > 0) return;
SPZ.whenApiDefined(cartPopRenderEl).then(function(api){
api.render(Object.assign({}, data, extra), true).then(function() {
that.rendered_ = true; if (data.products.length) { const headEl =
document.getElementById("smart_cart_pop_head_render"); if (headEl) {
SPZ.whenApiDefined(headEl).then(function(head){ head.render({ data: data }); });
} SPZ.whenApiDefined(modalEl).then(function(api){
that.impressListen('#smart_cart_pop_activity', function(){
that.trackPluginImpression_(data); }); api.open(); const intersectionObserver =
new IntersectionObserver( function (entries) { if (entries[0].intersectionRatio
> 0){ !that.loading_ && (that.products_.length - that.target_top_product_num_)
=== that.page_ * that.limit_ && that.viewMore(); } }, { threshold: [0.1] } );
intersectionObserver.observe(
document.querySelector('#smart_cart_pop_view_more_text') ); }); } }) }); }) }
catch (e) { console.error(e); } }); } unmountCallback() { } viewMore () { const
cartPopRenderEl = document.getElementById("smart_cart_pop_render"); const that =
this; const data = {}; SPZ.whenApiDefined(cartPopRenderEl).then(function(api){
that.fetchActivityData({ page: that.page_ + 1, limit: that.limit_
}).then(function(data) { data.products = that.products_;
data.target_top_product_num = that.target_top_product_num_; data.i18n =
that.i18n_; data.spmBase = `smart_recommend_2`; api.render(data); }) }) }
fetchActivityData(data) { const that = this; if (data.product_id) {
that._atcLineItem = data; } that.loading_ = true; return
that.getCart().then(cart => { that.cart_ = cart.cart; return
fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_activities", {
method: "POST", headers: { "Content-Type": "application/json", "store-id":
window.SHOPLAZZA.shop.shop_id, }, body: JSON.stringify({ "show_type": 2,
"line_item": { "product_id": that._atcLineItem.product_id, "variant_id":
that._atcLineItem.variant_id, }, line_items: cart.cart.line_items, "page":
data.page || 1, "limit": data.limit || 10, }) }).then(function(res){ if(res.ok){
return res.json(); } }).then(function(data){ data.cart = cart.cart; if
(data.page === 1) { that.target_top_product_num_ = data.target_top_product_num
|| 0; } that.products_ = that.products_.concat(data.products || []); that.page_
= data.page || 1; that.limit_ = data.limit || 10; return data;
}).catch(function(e){ console.log(e); }).finally(function(){ that.loading_ =
false; }) }); }; setAction_() { this.registerAction('changeBannerColor', (data)
=> { if (!data.args.data || !data.args.data.data || !data.args.data.data.data)
return false; const config = data.args.data.data.data.config; const bannerBgEl =
document.querySelector('.smart_cart_pop_banner_bg'); if (bannerBgEl && config) {
bannerBgEl.style.background = config.banner_bg_color; bannerBgEl.style.color =
config.banner_text_color; } }); this.registerAction('handleProductChange',
(data) => { const that = this; const imageEl =
document.getElementById(`smart_cart_pop_image_${data.args.data.product_id}`);
SPZ.whenApiDefined(imageEl).then(function(api){ api.render({ data:
data.args.data, config: that.config_ }); }); const atcTextEl =
document.getElementById(`smart_cart_pop_atc_${data.args.data.product_id}`);
SPZ.whenApiDefined(atcTextEl).then(function(api){ api.render({ data:
data.args.data, defaultText: data.args.defaultText, soldOutText:
that.i18n_.sold_out }); }); if (data.args.data.variant.available) {
document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.remove('zb-pointer-events-none');
} else {
document.getElementById(`smart_cart_pop_atc_btn_${data.args.data.product_id}`).classList.add('zb-pointer-events-none');
} }); this.registerAction('handleProduct', (detail) => { const that = this;
this.renderProductsForm_(detail.args.data.data); });
this.registerAction('addATCHook', (data) => { const params = data.args;
this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({
event: 'dj.addToCart', params: { aid: 'smart_recommend.2.' + params.activity_id,
ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm:
`..${window.SHOPLAZZA.meta.page.template_name}.${params.spm}`, }, once: true });
}); this.registerAction('handleAtcSuccess', (detail) => {
detail.args.data.product = detail.args.data.product || {};
detail.args.data.variant = detail.args.data.variant || {}; const defParams =
detail.args.product.split('__'); const product_id = detail.args.data.product.id;
const product_title = detail.args.data.product.title; const variant_id =
detail.args.data.variant.id; const price = detail.args.data.variant.price; const
aid = defParams[0]; const ifb = detail.args.data.product.ifb; const cfb =
detail.args.data.product.cfb; const scm = defParams[1]; const spm =
defParams[2]; const ssp = defParams[3]; const params = { id: product_id,
product_id: product_id, number: 1, name: product_title, variant_id: variant_id,
childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid:
aid, ifb: ifb, cfb: cfb, scm: scm, spm:
`..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; const
activity_id = `${detail.args.activity_id}`; const target_drive_way =
detail.args.target_drive_way;
document.getElementById(`smart_cart_pop_loading_${product_id}`).classList.add('zb-hidden');
document.getElementById(`smart_cart_pop_added_${product_id}`).classList.remove('zb-hidden');
setTimeout(() => {
document.getElementById(`smart_cart_pop_added_${product_id}`).classList.add('zb-hidden');
document.getElementById(`smart_cart_pop_atc_${product_id}`).classList.remove('zb-hidden');
document.getElementById(`smart_cart_pop_atc_btn_${product_id}`).classList.remove('zb-pointer-events-none');
}, 1000); this.tranckAddToCart(params); if (target_drive_way === 'rebate') {
const bannerEl = document.getElementById(`smart_cart_pop_banner`);
this.getRecommendInfo(activity_id).then(res => { if (res && res.rebate_tips) {
bannerEl.innerHTML = res.rebate_tips; } }) } });
this.registerAction('handleCartSummary', (event) => { const that = this; const
checkoutButtonEle = document.getElementById("smart_cart_pop_checkout_button");
if (checkoutButtonEle) {
SPZ.whenApiDefined(checkoutButtonEle).then(function(api){ api.render({ i18n:
that.i18n_ }, false); }); } const tipEl =
document.getElementById("smart_cart_pop_tip_info"); const cart = event &&
event.args && event.args.data && event.args.data.data; if (!tipEl || !cart)
return; let total_price = cart.total_price; if (!total_price) {
SPZ.whenApiDefined(tipEl).then(function(api){ api.render({ total_price:
total_price, i18n: that.i18n_ }, false); }); } else {
this.getBindDiscount_(cart.line_items).then(res => { if (res &&
res.discount_code){ const total = cart.line_price - cart.total_discount -
res.bundle_discount_value; if (total > 0) { total_price = total; } else {
total_price = 0; } } SPZ.whenApiDefined(tipEl).then(function(api){ api.render({
total_price: total_price, i18n: that.i18n_ }, false); }); }) } });
this.registerAction('open', () => {
window.sessionStorage.setItem('smart_pop_times',
Number(window.sessionStorage.getItem('smart_pop_times')) + 1); });
this.registerAction('close', () => { this.rendered_ = false; this.products_ =
[]; window.djInterceptors &&
window.djInterceptors.track.eject(this.myInterceptor_); }); } getCart() { return
fetch(`${window.SHOPLAZZA.routes.root || ''}/api/cart`, { method: 'GET',
headers: { 'Content-Type': 'application/json; charset=UTF-8', }, }).then(res =>
res.json()) } getRecommendInfo (activity_id) { return this.getCart().then(cart
=> { this.cart_ = cart.cart; return fetch(`${window.SHOPLAZZA.routes.root ||
''}/api/possum/recommend_info`, { method: 'POST', headers: { 'Content-Type':
'application/json; charset=UTF-8', }, body: JSON.stringify({ show_type: 2,
rule_id: `${activity_id}`, line_items: cart.cart.line_items, line_item:
this._atcLineItem, }) }).then(res => res.json()) }) } renderProductsForm_(data)
{ const products = data.products; const listPopRenderEl =
document.getElementById("smart_cart_pop_render"); if (!listPopRenderEl) return;
listPopRenderEl.querySelectorAll('.smart_cart_pop_atc_btn_bg').forEach(function(el){
el.style.background = data.config.add_to_cart_button_color; });
products.forEach(function(product){ const productId = product.id; const
productFormEls =
listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]`);
let variantsEl =
listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]
#smart_cart_pop_variant_${productId}_mobile ljs-variants`); if
(window.innerWidth > 768) { variantsEl =
listPopRenderEl.querySelectorAll(`ljs-product-form[product-id="${productId}"]
#smart_cart_pop_variant_${productId}_pc ljs-variants`); }
productFormEls.forEach(function(el){ SPZ.whenApiDefined(el).then(function(api){
api.setProduct(product); }); }); variantsEl.forEach(function(el){
SPZ.whenApiDefined(el).then(function(api){ api.handleRender(product); }); }) });
} tranckAddToCart(detail) { if (window.$) {
window.$(document.body).trigger('dj.addToCart', detail); } }
trackPluginImpression_(rule){ if (window.sa && window.sa.track) {
window.sa.track("module_impressions", { aid: `smart_recommend.2.${rule.id}` });
} } getBindDiscount_(carts) { let bundle_sale_ids = []; try { bundle_sale_ids =
sessionStorage['bundle_sale_ids'] &&
JSON.parse(sessionStorage['bundle_sale_ids']).filter((item, index, arr) =>
arr.indexOf(item, 0) === index).slice(-5); } catch (err) { console.error(err); }
if (!carts.length) { Promise.resolve(); } return
fetch(`${window.SHOPLAZZA.routes.root || ''}/api/bundle-sales/cart`, { method:
'POST', headers: { 'Content-Type': 'application/json; charset=UTF-8',
'store-id': window.SHOPLAZZA.shop.shop_id, }, body: JSON.stringify({ cart:
carts, action_type: 'cart', bundle_sale_ids }) }).then(res => res.json()) }
impressListen(selector, cb) { const el = document.querySelector(selector); const
onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el &&
!el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else
if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart',
SpzCustomComponent); ${function(){ return `
${data.data.rebate_tips || ''}
`; }()} ${function(){ const getImageHeight = function(image){ const width =
image.width || 500; const height = image.height || 500; const image_size =
data.config.image_size || 0; let ratio = 0; if(image_size == 0){ ratio = (height
/ width).toFixed(2); }else if(image_size == 1){ ratio = 1.5; } return 132 *
ratio; }; const image = data.data.variant.image || data.data.product.image;
return ` `; }()}
${(function(){ const product = data.product; const avail_variants =
product.variants.filter(function(variant){ return variant.available; }); const
selected_variant = product.min_price_variant.available ?
product.min_price_variant : avail_variants.length && avail_variants[0]; return `
${option.name}
${ option.values.map(function(value, index){ const checked =
selected_variant["option"+option.position] == value ? "checked": ""; return `
${value}
` }).join("") }
` })()}
${(function(){ const variant = data.variant; return `

`; })()} ${(function(){ const variant = data.variant; return `
${ variant.options.map(function(option){ return option.value; }).join("/") ||
'Not exist' }
`; })()} ${(function(){ const variant = data.data && data.data.variant; const
defaultText = data.defaultText || 'Add To Cart'; const text = (!variant ||
variant.available) ? defaultText: data.soldOutText; return `
${text}
`; })()} ${(function(){ let cart = data; if(data.data) { cart = data.data; }
return `
${cart.item_count >=0 ? cart.item_count : '..'}
`; })()} ${(function(){ return `
${data.i18n.checkout}
`; })()}
Ends in:
0
0
:
0
0
:
0
$0.00

Buy now
Buy now


See detail
$0.00



Quantity

1




We care about your privacy
We use cookies to give you the best shopping experience. If you continue to use
our services, we will assume that you agree to the use of such cookies. Click
here for more information on our Privacy Policy. Privacy policy
DECLINE ACCEPT
Success
Copy successfully, use at checkout

Originaltext

Diese Übersetzung bewerten
Mit deinem Feedback können wir Google Übersetzer weiter verbessern