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

Submitted URL: http://www.okaywear.com/products/retro-floral-pattern-stand-collar-jacket-pants-2pcs-set
Effective URL: https://www.okaywear.com/products/retro-floral-pattern-stand-collar-jacket-pants-2pcs-set
Submission: On March 28 via api from US — Scanned from US

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-0aec2223-09d1-4704-93f4-c2329b6ae235">
  <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="0aec2223-09d1-4704-93f4-c2329b6ae235">
  <input type="hidden" name="variant_id" id="selected_variant_id_0aec2223-09d1-4704-93f4-c2329b6ae235" class="selected_variant_id_0aec2223-09d1-4704-93f4-c2329b6ae235" value="97be01f9-ae35-4695-a8fc-78fddf90a7f6">
  <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">Retro Floral Pattern Stand Collar Jacket &amp; Pants 2Pcs Set</h1>
      <div class="shoplazza-reviews-rating-wrap d-inline-flex align-items-center notranslate">
        <span data-grade="5" class="shoplazza-reviews-rating" data-comment_avg_star="5">
          <span class="shoplazza-reviews__rating-active _click_area" style=" color:rgba(250, 210, 12, 1);">
            <svg xmlns="http://www.w3.org/2000/svg" width="14px" height="13px" viewBox="0 0 14 13" fill="none">
              <path fill-rule="evenodd" clip-rule="evenodd"
                d="M7 10.024L3.54178 12.2422C3.30844 12.3918 3.01281 12.1771 3.08305 11.9089L4.12399 7.93447L0.94575 5.33096C0.731302 5.15529 0.844223 4.80775 1.12097 4.79168L5.22253 4.55352L6.71649 0.726304C6.81729 0.468066 7.18271 0.468067 7.28351 0.726305L8.77747 4.55352L12.879 4.79168C13.1558 4.80775 13.2687 5.15529 13.0542 5.33096L9.87601 7.93447L10.917 11.9089C10.9872 12.1771 10.6916 12.3918 10.4582 12.2422L7 10.024Z"
                fill="rgba(250, 210, 12, 1)" id="star"></path>
            </svg>
          </span>
          <span class="shoplazza-reviews__rating-active _click_area" style=" color:rgba(250, 210, 12, 1);">
            <svg xmlns="http://www.w3.org/2000/svg" width="14px" height="13px" viewBox="0 0 14 13" fill="none">
              <path fill-rule="evenodd" clip-rule="evenodd"
                d="M7 10.024L3.54178 12.2422C3.30844 12.3918 3.01281 12.1771 3.08305 11.9089L4.12399 7.93447L0.94575 5.33096C0.731302 5.15529 0.844223 4.80775 1.12097 4.79168L5.22253 4.55352L6.71649 0.726304C6.81729 0.468066 7.18271 0.468067 7.28351 0.726305L8.77747 4.55352L12.879 4.79168C13.1558 4.80775 13.2687 5.15529 13.0542 5.33096L9.87601 7.93447L10.917 11.9089C10.9872 12.1771 10.6916 12.3918 10.4582 12.2422L7 10.024Z"
                fill="rgba(250, 210, 12, 1)" id="star"></path>
            </svg>
          </span>
          <span class="shoplazza-reviews__rating-active _click_area" style=" color:rgba(250, 210, 12, 1);">
            <svg xmlns="http://www.w3.org/2000/svg" width="14px" height="13px" viewBox="0 0 14 13" fill="none">
              <path fill-rule="evenodd" clip-rule="evenodd"
                d="M7 10.024L3.54178 12.2422C3.30844 12.3918 3.01281 12.1771 3.08305 11.9089L4.12399 7.93447L0.94575 5.33096C0.731302 5.15529 0.844223 4.80775 1.12097 4.79168L5.22253 4.55352L6.71649 0.726304C6.81729 0.468066 7.18271 0.468067 7.28351 0.726305L8.77747 4.55352L12.879 4.79168C13.1558 4.80775 13.2687 5.15529 13.0542 5.33096L9.87601 7.93447L10.917 11.9089C10.9872 12.1771 10.6916 12.3918 10.4582 12.2422L7 10.024Z"
                fill="rgba(250, 210, 12, 1)" id="star"></path>
            </svg>
          </span>
          <span class="shoplazza-reviews__rating-active _click_area" style=" color:rgba(250, 210, 12, 1);">
            <svg xmlns="http://www.w3.org/2000/svg" width="14px" height="13px" viewBox="0 0 14 13" fill="none">
              <path fill-rule="evenodd" clip-rule="evenodd"
                d="M7 10.024L3.54178 12.2422C3.30844 12.3918 3.01281 12.1771 3.08305 11.9089L4.12399 7.93447L0.94575 5.33096C0.731302 5.15529 0.844223 4.80775 1.12097 4.79168L5.22253 4.55352L6.71649 0.726304C6.81729 0.468066 7.18271 0.468067 7.28351 0.726305L8.77747 4.55352L12.879 4.79168C13.1558 4.80775 13.2687 5.15529 13.0542 5.33096L9.87601 7.93447L10.917 11.9089C10.9872 12.1771 10.6916 12.3918 10.4582 12.2422L7 10.024Z"
                fill="rgba(250, 210, 12, 1)" id="star"></path>
            </svg>
          </span>
          <span class="shoplazza-reviews__rating-active _click_area" style=" color:rgba(250, 210, 12, 1);">
            <svg xmlns="http://www.w3.org/2000/svg" width="14px" height="13px" viewBox="0 0 14 13" fill="none">
              <path fill-rule="evenodd" clip-rule="evenodd"
                d="M7 10.024L3.54178 12.2422C3.30844 12.3918 3.01281 12.1771 3.08305 11.9089L4.12399 7.93447L0.94575 5.33096C0.731302 5.15529 0.844223 4.80775 1.12097 4.79168L5.22253 4.55352L6.71649 0.726304C6.81729 0.468066 7.18271 0.468067 7.28351 0.726305L8.77747 4.55352L12.879 4.79168C13.1558 4.80775 13.2687 5.15529 13.0542 5.33096L9.87601 7.93447L10.917 11.9089C10.9872 12.1771 10.6916 12.3918 10.4582 12.2422L7 10.024Z"
                fill="rgba(250, 210, 12, 1)" id="star"></path>
            </svg>
          </span>
        </span>
        <span class="shoplazza-reviews__rating-view notranslate">(21)<span style="color: rgba(32, 32, 32, 0.7);font-family: Montserrat;font-size: 14px;line-height: 16px;margin-left: 8px;">View</span></span>
      </div>
    </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>K568621630451093504</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 product-info__header_compare-at-price money notranslate">$102.79</del>
          <div class="tw-text-price-color tw-mr-3 product-info__header_price money notranslate">$82.79</div>
          <div class="tw-flex   tw-items-center tw-text-save-color product-info__save"> Save&nbsp; <span class="product-info__header_save-amount money notranslate">$20.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.staticdj.com/oss/operation/28f67e75f0dd78f6e658aeaa4d41cc05_330x.svg) 6/6px/0 stretch"> 80% off </div>
              <div class="app-coupon-label-item" style="border-image: url(//img.staticdj.com/oss/operation/28f67e75f0dd78f6e658aeaa4d41cc05_330x.svg) 6/6px/0 stretch"> 50% off </div>
              <div class="app-coupon-label-item" style="border-image: url(//img.staticdj.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>
    </div>
    <div class="tw-space-y-6  product-info__variants product-info__block tw-my-6" data-soldout="Sold out">
      <div class="variants_combination_box" impr="1" imprevt="1" imprsd="true">
        <div class="combination_title product-info__variants_title" data-role="plugin-variants"> Another Choices </div>
        <div class="combination_list_container">
          <a class="combination_list_item " href="/products/patchwork-stand-collar-double-breasted-blazer-pants-2pcs-set">
        <img class="combination_list_item_img" src="//img.staticdj.com/7845ab8725943142351f7e2dfc2bb1bb.jpeg" alt="">
			</a>
          <a class="combination_list_item " href="/products/fashion-totem-pattern-stand-collar-blazer-pants-2pcs-set">
        <img class="combination_list_item_img" src="//img.staticdj.com/c8512dfd9ca2da7c9d17e9553f6750bc.jpeg" alt="">
			</a>
          <a class="combination_list_item " href="/products/pu-leather-patchwork-notch-lapel-blazer-vest-pants-3pcs-set">
        <img class="combination_list_item_img" src="//img.staticdj.com/58b3b1e12114fd067b75d6dde5a4c578.jpeg" alt="">
			</a>
          <a class="combination_list_item  combination_list_item_selectd " href="/products/retro-floral-pattern-stand-collar-jacket-pants-2pcs-set">
        <img class="combination_list_item_img" src="//img.staticdj.com/aaeca9ebb7a6a7d7e0bde3383d0cec48.jpeg" alt="">
			</a>
          <a class="combination_list_item " href="/products/retro-floral-pattern-contrast-collar-blazer-pants-2pcs-set">
        <img class="combination_list_item_img" src="//img.staticdj.com/363e96e0ef077e7282766efe043d450f.jpeg" alt="">
			</a>
        </div>
      </div>
      <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;white"> Color<span class="variant_color-label-wrapper ">&nbsp;—&nbsp;<span
              class="tw-font-normal variant_color-label">White</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-0aec2223-09d1-4704-93f4-c2329b6ae235" id="option1-0-0aec2223-09d1-4704-93f4-c2329b6ae235-1539149753700" value="White" checked="">
            <label optvalue="White" data-bgset="//img.staticdj.com/aaeca9ebb7a6a7d7e0bde3383d0cec48_180.jpeg" style="width: 40px; height: 40px; background-image: url(&quot;https://img.staticdj.com/aaeca9ebb7a6a7d7e0bde3383d0cec48_180.jpeg&quot;);"
              for="option1-0-0aec2223-09d1-4704-93f4-c2329b6ae235-1539149753700" data-variants-value="White" 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.staticdj.com/aaeca9ebb7a6a7d7e0bde3383d0cec48_180.jpeg" sizes="40px" srcset="//img.staticdj.com/aaeca9ebb7a6a7d7e0bde3383d0cec48_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="0aec2223-09d1-4704-93f4-c2329b6ae235" 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-0aec2223-09d1-4704-93f4-c2329b6ae235" id="option2-0-0aec2223-09d1-4704-93f4-c2329b6ae235-1539149753700" value="M" checked="">
            <label for="option2-0-0aec2223-09d1-4704-93f4-c2329b6ae235-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="0" 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-0aec2223-09d1-4704-93f4-c2329b6ae235" id="option2-1-0aec2223-09d1-4704-93f4-c2329b6ae235-1539149753700" value="L">
            <label for="option2-1-0aec2223-09d1-4704-93f4-c2329b6ae235-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="1" 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-0aec2223-09d1-4704-93f4-c2329b6ae235" id="option2-2-0aec2223-09d1-4704-93f4-c2329b6ae235-1539149753700" value="XL">
            <label for="option2-2-0aec2223-09d1-4704-93f4-c2329b6ae235-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="2" 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-0aec2223-09d1-4704-93f4-c2329b6ae235" id="option2-3-0aec2223-09d1-4704-93f4-c2329b6ae235-1539149753700" value="2XL">
            <label for="option2-3-0aec2223-09d1-4704-93f4-c2329b6ae235-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="3" 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-0aec2223-09d1-4704-93f4-c2329b6ae235" id="option2-4-0aec2223-09d1-4704-93f4-c2329b6ae235-1539149753700" value="3XL">
            <label for="option2-4-0aec2223-09d1-4704-93f4-c2329b6ae235-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="4" 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-0aec2223-09d1-4704-93f4-c2329b6ae235" id="option2-5-0aec2223-09d1-4704-93f4-c2329b6ae235-1539149753700" value="4XL">
            <label for="option2-5-0aec2223-09d1-4704-93f4-c2329b6ae235-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="5" 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_0aec2223-09d1-4704-93f4-c2329b6ae235" 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">$82.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="0aec2223-09d1-4704-93f4-c2329b6ae235" 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 = {
                    isInProductInfo: !document.querySelector('div[data-section-type*="//apps/appbundle/blocks/bundle-combination/"] bundle-product-list'),
                    productInfo: n || null
                  };
                if (t) {
                  var r = Number(window.getComputedStyle(n).paddingLeft.replace(/\D/g, "")),
                    l = n.offsetWidth - r;
                  return Ot(Ot({}, s), {}, {
                    productInfoWidth: l
                  })
                }
                return s
              }
              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
                }
                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, 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();
                  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&&this.overWidth?R`<div class="container-arrow-left container-arrow flex-center ${this.isShowArrow&&i?"container-arrow--show":""}" @mouseup="${this.shiftLeft}">${Jt}</div>`:""} ${!e&&this.overWidth?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), 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/retro-floral-pattern-stand-collar-jacket-pants-2pcs-set" 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/retro-floral-pattern-stand-collar-jacket-pants-2pcs-set" 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/retro-floral-pattern-stand-collar-jacket-pants-2pcs-set&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: #FFFFFF;
      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: #0094EB !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: #004D7D !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: #FFFFFF;
                  }
                </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: #FFFFFF;
                  }
                </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: #FFFFFF;
                  }
                </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: #FFFFFF;
                  }
                </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: #FFFFFF;
                  }
                </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: #FFFFFF;
                  }
                </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: #FFFFFF;
                  }
                </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: #FFFFFF;
                  }
                </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: #FFFFFF;
                  }
                </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: #FFFFFF;
                  }
                </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: #0076BC;
              }

              .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: #EC4C4B;
              }

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

              .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slices path:nth-child(1),
              .omnisend-form-65d55bb2ce1b1bf0aa7ab0ba-wof-650a5f5196e18d75fcc99ca3-rotor-slices path:nth-child(6) {
                fill: #49B467;
              }
            </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: #FFFFFF;
          background-color: #55ADFF;
          border-radius: 0px;
          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 Translate
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
    * SHOP BY FARBIC
      * SHOP BY FARBIC
      * Leather
      * Velvet
      * Denim
      * Knitted
      * Linen
    * SHOP BY TREND
      * SHOP BY TREND
      * Wedding Season
      * Summer Sale
      * Swimwear

 * 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

 * 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
    * SHOP BY FARBIC Leather Velvet Denim Knitted Linen
    * SHOP BY TREND Wedding Season Summer Sale Swimwear

 * 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

 * 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 CASUAL HOUNDSTOOTH POCKET TURNDOWN COLLAR BLAZER

$52.79



FORMAL TUNRDOWN COLLAR BELT POCKET LONG SLEEVE BLAZER

$59.79



DOTS PATTERN DOUBLE BREASTED BLAZER & PANT 2PCS SET

$89.79



FORMAL VELVET PATCHWORK SHAWL NECK SINGLE BREASTED BLAZER

$59.79



BUSINESS POCKETS SINGLE BREASTED LONG SLEEVE PLAID BLAZER

$52.79



OK CASUAL LEOPARD PRINT NOTCH LAPEL POCKET TWO BUTTON BLAZER

$59.79





RETRO FLORAL PATTERN STAND COLLAR JACKET & PANTS 2PCS SET

(21)View
SKU: K568621630451093504
Price
$102.79
$82.79
Save  $20.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

Another Choices

Color — White

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

Add to cart - $82.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
 * Patchwork Stand Collar Double Breasted Blazer & Pants 2Pcs Set
   
   Quick Shop
 * OK Casual Striped Print Notch Lapel Two Button Blazer
   
   Quick Shop
 * Daily Fleece Lapel Collar Double Breasted Chest Pocket Blazer
   
   Quick Shop
 * OK Fashion Pink Plaid Print Notch Lapel Two Button Blazer
   
   Quick Shop
 * Daily Multi-Pocket Turndown Collar Buttons Plaid Jacket
   
   Quick Shop
 * OK Elegant Allover Print Lapel Collar One Button Blazer
   
   Quick Shop
 * OK Classic Blue Plaid Notch Lapel Two Button Slim Fit Blazer
   
   Quick Shop
 * Casual Lapel Collar Two Button Chest Pocket Plain Blazer
   
   Quick Shop
 * OK Casual Leopard Print Notch Lapel Pocket Two Button Blazer
   
   Quick Shop
 * PU Leather Notch Lapel Single Breasted Blazer & Pants 2Pcs Set
   
   Quick Shop
 * OK Casual Textured Pattern Pocket Half Placket Drawstring Hoodie
   
   Quick Shop
 * Vacation Tribal Pattern Pockets Shirt & Pant 2Pcs Set
   
   Quick Shop
 * Casual Plain V Neck Half Sleeve Loose Shirt & Drawstring Pants 2Pcs Set
   
   Quick Shop
 * Houndstooth Pattern Single Breasted Casual Blazer
   
   Quick Shop
 * OK Leopard Pattern Lapel Collar Single Breasted Long Coat
   
   Quick Shop
 * Basic Solid Velvet Lapel Collar Chest Pocket Blazer
   
   Quick Shop
 * Fashion Colorblock Plaid Lapel Collar Button Blazer & Pants 2Pcs Set
   
   Quick Shop
 * Casual Solid Twist Knit Pocket Drawstring Hoodie
   
   Quick Shop
 * Daily Herringbone Single Breasted Pockets Notch Lapel Patchwork Blazer
   
   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
 * Casual Plaid Notch Lapel Chest Pocket Two Button Blazer
   
   Quick Shop
 * OK Fashion Color Block Plaid Print Slim Fit Pencil Pants
   
   Quick Shop
 * PU Leather Turndown Collar Solid Single Breasted Coat
   
   Quick Shop
 * Daily Solid Color High Neck Pockets Rib Knit Long Sweater
   
   Quick Shop
 * Casual Plain V Neck Half Sleeve Loose Shirt & Drawstring Shorts 2Pcs Set
   
   Quick Shop
 * OK Casual Plain Hollow Breathable Polo Shirt & Pants 2Pcs Set
   
   Quick Shop
 * OK Casual Plaid Lapel Collar Slim Fit Blazer & Pants 2Pcs Set
   
   Quick Shop
 * Houndstooth Pattern Pockets Single Breasted Lapel Collar Blazer
   
   Quick Shop
 * OK Casual Plain Lapel Collar Linen Blazer & Shorts 2Pcs Set
   
   Quick Shop
 * OK Fashion Polka Dot Print Short Sleeve Shirt & Pants 2Pcs Set
   
   Quick Shop
 * OK Elegant Vertical Stripe Lapel Collar Two Button Pocket Blazer
   
   Quick Shop
 * Casual Plain Notch Collar Long Sleeve Shirt
   
   Quick Shop
 * Men Luxury Lapel Fuzzy Overcoat
   
   Quick Shop
 * OK Vintage Plain Lapel Collar Two Button Pocket Denim Blazer
   
   Quick Shop
 * PU Leather Single Breasted Turndown Collar Blazer
   
   Quick Shop
 * Glamorous Plain Hollow Sheer Mesh Panel Drawstring Shorts
   
   Quick Shop
 * Business Casual Notch Lapel One Button Plaid Blazer
   
   Quick Shop
 * Formal Notch Lapel Double Breasted Pockets Blzer & Pant 2Pcs Set
   
   Quick Shop
 * Turndown Collar Solid Color Chest Pockets Jacket & Pants 2Pcs Set
   
   Quick Shop
 * Fashionable Colorblock Lace Up Flat Leather Shoes
   
   Quick Shop
 * Okaywear Suede Patchwork Notch Lapel Buttons Utility Pocket Knitted Jacket
   
   Quick Shop
 * Fashion Leopard Pattern Pointed Toe PU Leather Ankle Boots
   
   Quick Shop
 * Single Breasted Pockets Safari Jacket & Pant 2Pcs Set
   
   Quick Shop
 * Men Point Toe Dress Shoes
   
   Quick Shop
 * OK Casual Polka Dot Long Sleeve Shirt & Pants 2Pcs Set
   
   Quick Shop
 * Business Casual Houndstooth Pocket Turndown Collar Blazer
   
   Quick Shop
 * Geo Pattern Half Zip Polo Shirt & Pocket Shorts
   
   Quick Shop
 * OK Classic Vertical Stripe Lapel Collar Two Button Chest Pocket Blazer
   
   Quick Shop
 * Fuzzy Collar Thermal Winter Jacket
   
   Quick Shop
 * OK Glamorous Plain PU Leather Notch Lapel Pocket Blazer
   
   Quick Shop
 * Double Breasted Pocket Lapel Collar Solid Coat
   
   Quick Shop
 * Business Striped Turndown Collar Double Breasted Blazer
   
   Quick Shop
 * OK Fashion Patchwork Pocket Drawstring Knitted Hoodie
   
   Quick Shop
 * PU Leather Patchwork Notch Lapel Blazer & Vest & Pants 3Pcs Set
   
   Quick Shop
 * OK Contrast Trim Notch Lapel PU Blazer & Pants 2Pcs Set
   
   Quick Shop
 * Casual Stand Collar Zipper Striped Long Sleeve Sweaters
   
   Quick Shop
 * Notch Lapel Two-button Plaid Chest Pocket Blazer
   
   Quick Shop
 * Retro Floral Pattern Contrast Collar Blazer & Pants 2Pcs Set
   
   Quick Shop
 * Elegant Plain Double Breasted Lapel Collar Blazer
   
   Quick Shop
 * Double Breasted Lapel Casual Blazer
   
   Quick Shop
 * Fashion Leopard Pattern Notch Lapel Pockets One Button Blazer
   
   Quick Shop
 * Red Velvet Gold Satin Pockest Turndown Collar Blazer
   
   Quick Shop
 * Retro Square Toe Zipper Stone Pattern PU Leather Boots
   
   Quick Shop
 * Formal Striped Single Breasted Turndown Collar Blazer
   
   Quick Shop
 * Lapel Collar Double Breasted Utility Pocket Solid Blazer
   
   Quick Shop
 * OK Elegant Plaid Print Lapel Collar Single Breasted Blazer Vest
   
   Quick Shop
 * Okaywear Formal Gradient Single Breasted Turndown Collar Velvet Blazer
   
   Quick Shop
 * Retro Floral Pattern Lapel Collar Single Breasted Blazer
   
   Quick Shop
 * Formal Tunrdown Collar Belt Pocket Long Sleeve Blazer
   
   Quick Shop
 * OK Casual Plain Short Sleeve Polo Shirt & Pants 2Pcs Set
   
   Quick Shop
 * Fashion Calico Lapel Collar Short Sleeve Loose Polo Shirt
   
   Quick Shop
 * OK Dressy Plaid Blazer & Pants & Vest & Shirt & Bow Tie 5Pcs Set
   
   Quick Shop
 * Business Straight Leg Pockets Shirt Collar Velvet Jumpsuit
   
   Quick Shop
 * Fashion Foliage Print Stand Collar Short Sleeve Shirt & Straight Pants 2Pcs
   Set
   
   Quick Shop
 * Patchwork Flap Pocket Button Up Jacket
   
   Quick Shop
 * Business Notch Lapel Single-breasted Flap Pockets Contrast Plaid Blazer
   
   Quick Shop
 * OK Classic Vertical Stripe Notch Lapel Chest Pocket Blazer
   
   Quick Shop
 * Plaid Notch Lapel Chest Pocket Two Buttons Blazer [No Badge]
   
   Quick Shop
 * OK Casual Black & White Striped Notch Lapel Slim Fit Blazer
   
   Quick Shop
 * Retro Lace Up Chunky Heel Brogue Shoes
   
   Quick Shop
 * Fashion Color Block Stripe Lapel Collar Short Sleeve Slim Fit Shirt
   
   Quick Shop
 * OK Vintage Patchwork Plaid Notch Lapel Single Breasted Pocket Blazer
   
   Quick Shop
 * Casual Plain Round Neck Short Sleeve Slim Fit Tee & Drawstring Pants Set
   
   Quick Shop
 * Okaywear Contrast Striped One Button Blazer & Pants 2Pcs Set
   
   Quick Shop
 * Men Ribbed Zip Up Knit Coat
   
   Quick Shop
 * Casual Plain Snap Button Pocket Long Sleeve Jacket & Pencil Pants 2Pcs Set
   
   Quick Shop
 * Vintage Crocodile Embossed Point Toe Leather Dress Shoes
   
   Quick Shop
 * Knitted Crew Neck Long Sleeve Solid Color Sweater
   
   Quick Shop
 * Casual Plain Turtleneck High Stretch Short Sleeve Slim Fit Top
   
   Quick Shop
 * Okaywear Camouflage Pattern Lapel Collar Blazer & Pants 2Pcs Set
   
   Quick Shop
 * Casual Rhinestone Decor Wavy Line Print Pockets Pencil Pants
   
   Quick Shop
 * Plain Cable Knit Long Sleeve Sweater
   
   Quick Shop
 * Daily Slant Pockets Solid Corduroy Straight Leg Pants
   
   Quick Shop
 * Stand Collar Buttons Twist Knit Long Sleeve Sweater
   
   Quick Shop
 * OK Contrast Color Notch Lapel Double-breasted Long Coat
   
   Quick Shop
 * Party Checkered Pattern Buttons Stand Collar Welt Pocket Blazer
   
   Quick Shop
 * Lapel Collar Chest Pocket Single Breasted Tweed Blazer
   
   Quick Shop
 * Solid Notch Lapel Two Button Utility Pocket PU Leather Blazer
   
   Quick Shop
 * Retro Velvet Lapel Collar Double-breasted Chest Pocket Plain Blazer
   
   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: Retro, Fashionable, Party, Daily, Business

Color: White

Material: Cotton Blends

Fit Type: Regular Fit

Pattern Type: Floral Pattern

Neckline: Stand Collar

Details: Long Sleeve, Flap Pockets, Contrast Color

Product Type: Presell

Item ID: YL03391

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
5
Total reviews: 21

5



4



3



2



1




Write a Review
Reviews(21) With Photos(0)

Newest
Newest

Most liked
Highest ratings
Lowest ratings

1
2
3
4
5

Customer Reviews
Reviews With Photos

Wow you reached the bottom
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


 * CASUAL LOOSE MULTI-POCKET STRAIGHT LEG DENIM CARGO OVERALLS
   
   $46.79
   
   NEW
   
   
   


 * SHAWL NECK CUFF BUTTON BLAZER & PANT 2PCS SET
   
   $94.79
   
   NEW
   
   
   


 * OKAYWEAR SHAWL NECK COLORBLOCK SINGLE BREASTED BLAZER
   
   $70.79
   
   NEW
   
   
   


 * BUSINESS CUFF BUTTON CHEST POCKET PLAID BLAZER
   
   $52.79
   
   NEW
   
   
   


 * BUSINESS PLAID SINGLE BREASTED LONG SLEEVE BLAZER
   
   $52.79
   
   NEW
   
   
   
 * SALE
   +4
   
   
   RETRO STAND COLLAR LINEN LOOSE PURE LONG SLEEVE SHIRT
   
   $26.79 $33.79
   Save $7.00
   
   NEW
   
   
   


BLAZERS

View all


 * BUSINESS CASUAL HOUNDSTOOTH POCKET TURNDOWN COLLAR BLAZER
   
   $52.79
   


 * HOUNDSTOOTH TURNDOWN COLLAR SINGLE BREASTED BLAZER
   
   $56.79
   
   NEW
   
   
   


 * FORMAL TUNRDOWN COLLAR BELT POCKET LONG SLEEVE BLAZER
   
   $59.79
   
 * SALE
   
   
   CASUAL LAPEL COLLAR TWO BUTTON CHEST POCKET PLAIN BLAZER
   
   $53.79 $89.79
   Save $36.00
   


 * OK CASUAL LEOPARD PRINT NOTCH LAPEL POCKET TWO BUTTON BLAZER
   
   $59.79
   


 * BUSINESS POCKETS SINGLE BREASTED LONG SLEEVE PLAID BLAZER
   
   $52.79
   


TOPS

View all
 * SALE
   +2
   
   
   CASUAL PLAIN NOTCH COLLAR LONG SLEEVE SHIRT
   
   $16.79 $29.79
   Save $13.00
   
 * SALE
   +2
   
   
   SPORTY PLAIN STRIPE SCOOP NECK SLEEVELESS BREATHABLE TANK TOP
   
   $18.79 $28.79
   Save $10.00
   


 * CASUAL HOLLOW OUT DRAWSTRING ZIPPER KNITTED HOODIE JACKET
   
   $35.79
   


 * VELVET POCKETS DRAWSTRING SOLID HOODIE
   
   $34.79
   
 * +7
   
   
   BUSINESS SOLID SINGLE BREASTED LONG SLEEVE SHIRT
   
   $26.79
   


 * CASUAL STAND COLLAR ZIPPER STRIPED LONG SLEEVE SWEATERS
   
   $39.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

Retro Floral Pattern Stand Collar Jacket & Pants 2Pcs Set $82.79 $102.79
$82.79 $102.79
White/M
Add to Cart
Retro Floral Pattern Stand Collar Jacket & Pants 2Pcs Set $82.79 $102.79
$82.79 $102.79
White/M
White
White
M
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




Success
Copy successfully, use at checkout

Original text

Rate this translation
Your feedback will be used to help improve Google Translate