How to create a popup on the Dawn theme?

Solved

How to create a popup on the Dawn theme?

Fishmoments
Tourist
6 0 1

Hello! I'm trying to show a featured product by popup on my store.

 

However, most third-party apps I searched only support the function of the newsletter, social proof from the cart, and sales notifications. None of them are what I want.

 

Can someone help me with how I can add a pop-up product to my store? Picture or section is also possible.

 

Thank you!

 

Accepted Solution (1)

devmont-digital
Shopify Partner
176 33 44

This is an accepted solution.

Hello @Fishmoments,

 

"Yes, this is possible. If you want to feature a product in a popup, follow the steps below:

  • Go to Themes -> Edit code -> Create a new section named 'featured-product-popup'. Remove the dummy code and paste the provided code snippet. Save the file.

 

{%- liquid
  assign product = section.settings.product
-%}

<product-info
  data-section="{{ section.id }}"
  data-product-id="{{ product.id }}"
  data-update-url="false"
  data-url="{{ product.url }}"
  {% if section.settings.image_zoom == 'hover' %}
    data-zoom-on-hover
  {% endif %}
>
  {{ 'section-main-product.css' | asset_url | stylesheet_tag }}
  {{ 'section-featured-product.css' | asset_url | stylesheet_tag }}
  {{ 'component-accordion.css' | asset_url | stylesheet_tag }}
  {{ 'component-price.css' | asset_url | stylesheet_tag }}
  {{ 'component-deferred-media.css' | asset_url | stylesheet_tag }}
  {{ 'component-rating.css' | asset_url | stylesheet_tag }}
  {{ 'component-volume-pricing.css' | asset_url | stylesheet_tag }}
  {% unless section.settings.product.has_only_default_variant %}
    {{ 'component-product-variant-picker.css' | asset_url | stylesheet_tag }}
    {{ 'component-swatch.css' | asset_url | stylesheet_tag }}
    {{ 'component-swatch-input.css' | asset_url | stylesheet_tag }}
  {% endunless %}

  {%- style -%}
    .section-{{ section.id }}-padding {
      padding-top: {{ section.settings.padding_top | times: 0.75 | round: 0 }}px;
      padding-bottom: {{ section.settings.padding_bottom | times: 0.75 | round: 0 }}px;
    }

    @media screen and (min-width: 750px) {
      .section-{{ section.id }}-padding {
        padding-top: {{ section.settings.padding_top }}px;
        padding-bottom: {{ section.settings.padding_bottom }}px;
      }
    }
  {%- endstyle -%}

  <script src="{{ 'product-info.js' | asset_url }}" defer="defer"></script>
  <script src="{{ 'show-more.js' | asset_url }}" defer="defer"></script>
  <script src="{{ 'price-per-item.js' | asset_url }}" defer="defer"></script>

  <style>
    .custom-modal.modal-design-1 {
      display: none; /* Hidden by default */
      position: fixed; /* Stay in place */
      z-index: 4;
      left: 0;
      top: 0;
      width: 100%; /* Full width */
      height: 100%; /* Full height */
      overflow: auto; /* Enable scroll if needed */
      background-color: #26294cb3;
      justify-content: center;
      align-items: center;
    }
    .modal-design-1 .custom-modal-content {
      position: relative;
      margin: auto;
      width: 1042px;
      animation-name: animatetop;
      animation-duration: 0.4s;
      height: auto;
    }
    @keyframes animatetop {
      from {top:-300px; opacity:0}
      to {top:0; opacity:1}
    }
    .modal-design-1 .close svg {
      width: 12px;
      height: 12px;
    }
    
  .custom-modal-close svg:hover{
    scale: 1.1;
    transition: all .3s ease-in-out;
    transform: rotate(90deg);
  }
  .custom-modal-close{
    transition: all .3s ease-in-out;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    color: #D9D9D9;
    cursor: pointer;
  }
  .custom-modal-close svg{
    transition: all .3s ease-in-out;

  }
  .scroll-locked{
    overflow-y: hidden;
  }
  @media(max-width: 1700px){
  }
  @media(max-width: 1280px){
    .modal-design-1 .custom-modal-content {
      width: 850px;
    }
  }
  @media(max-width: 1180px){
    .modal-design-1 .custom-modal-content{
      width: 800px;
    }
  }

  @media(max-width: 1024px){
    .modal-design-1 .custom-modal-content {
      width: 694px;
    }
  }
  @media(max-width: 749px){
    .modal-design-1 .custom-modal-content {
      width: 390px;
    }
  }
  @media(max-width: 399px){
    .modal-design-1 .custom-modal-content {
      width: 320px;
    }

  }
</style>

  {% comment %} TODO: assign `product.selected_or_first_available_variant` to variable and replace usage to reduce verbosity {% endcomment %}

  {%- assign first_3d_model = product.media | where: 'media_type', 'model' | first -%}
  {%- if first_3d_model -%}
    {{ 'component-product-model.css' | asset_url | stylesheet_tag }}
    <link
      id="ModelViewerStyle"
      rel="stylesheet"
      href="https://cdn.shopify.com/shopifycloud/model-viewer-ui/assets/v1.0/model-viewer-ui.css"
      media="print"
      onload="this.media='all'"
    >
    <link
      id="ModelViewerOverride"
      rel="stylesheet"
      href="{{ 'component-model-viewer-ui.css' | asset_url }}"
      media="print"
      onload="this.media='all'"
    >
  {%- endif -%}

  {% assign variant_images = product.images | where: 'attached_to_variant?', true | map: 'src' %}


  <div id="newsletterPopup" class="custom-modal modal-design-1">
  <div class="custom-modal-content">
    <div class="custom-modal-close">
      <span>
        <svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" fill="currentColor" class="bi bi-x-circle" viewBox="0 0 16 16">
  <path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/>
  <path d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708"/>
</svg>
      </span>
    </div>
    <div class="custom-modal-body">
    

  <section class="color-{{ section.settings.color_scheme }} {% if section.settings.secondary_background %}background-secondary{% else %}gradient{% endif %}">
    <div class="page-width section-{{ section.id }}-padding{% if section.settings.secondary_background %} isolate{% endif %}">
      <div class="featured-product product product--{{ section.settings.media_size }} grid grid--1-col gradient color-{{ section.settings.color_scheme }} product--{{ section.settings.media_position }}{% if section.settings.secondary_background == false %} isolate{% endif %} {% if product.media.size > 0 or section.settings.product == blank %}grid--2-col-tablet{% else %}product--no-media{% endif %}">
        <div class="grid__item product__media-wrapper">
          {%- if section.settings.product != blank -%}
            {% render 'product-media-gallery', product: product, variant_images: variant_images, limit: 1 %}
          {%- else -%}
            <div class="product__media-item">
              <div
                class="product-media-container global-media-settings gradient{% if section.settings.constrain_to_viewport %} constrain-height{% endif %}"
                style="--ratio: 1.0; --preview-ratio: 1.0;"
              >
                {{ 'product-apparel-1' | placeholder_svg_tag: 'placeholder-svg' }}
              </div>
            </div>
          {%- endif -%}
        </div>
        <div class="product__info-wrapper grid__item{% if settings.animations_reveal_on_scroll %} scroll-trigger animate--slide-in{% endif %}">
          <section
            id="ProductInfo-{{ section.id }}"
            class="product__info-container"
            data-section="{{ section.id }}"
            data-url="{{ product.url }}"
          >
            {%- assign product_form_id = 'product-form-' | append: section.id -%}

            {%- for block in section.blocks -%}
              {%- case block.type -%}
                {%- when '@app' -%}
                  {% render block %}
                {%- when 'text' -%}
                  <p
                    class="product__text inline-richtext{% if block.settings.text_style == 'uppercase' %} caption-with-letter-spacing{% elsif block.settings.text_style == 'subtitle' %} subtitle{% endif %}"
                    {{ block.shopify_attributes }}
                  >
                    {{- block.settings.text -}}
                  </p>
                {%- when 'title' -%}
                  <h2 class="product__title {{ block.settings.heading_size }}" {{ block.shopify_attributes }}>
                    {%- if product.title != blank -%}
                      {{ product.title | escape }}
                    {%- else -%}
                      {{ 'onboarding.product_title' | t }}
                    {%- endif -%}
                  </h2>
                {%- when 'price' -%}
                  <div id="price-{{ section.id }}" role="status" {{ block.shopify_attributes }}>
                    {%- render 'price',
                      product: product,
                      use_variant: true,
                      show_badges: true,
                      price_class: 'price--large'
                    -%}
                  </div>
                  {%- if product.quantity_price_breaks_configured? -%}
                    <div class="volume-pricing-note" id="Volume-Note-{{ section.id }}">
                      <span>{{ 'products.product.volume_pricing.note' | t }}</span>
                    </div>
                  {%- endif -%}
                  {%- if cart.taxes_included or cart.duties_included or shop.shipping_policy.body != blank -%}
                    <div class="product__tax caption rte">
                      {%- if cart.duties_included and cart.taxes_included -%}
                        {{ 'products.product.duties_and_taxes_included' | t }}
                      {%- elsif cart.taxes_included -%}
                        {{ 'products.product.taxes_included' | t }}
                      {%- elsif cart.duties_included -%}
                        {{ 'products.product.duties_included' | t }}
                      {%- endif -%}
                      {%- if shop.shipping_policy.body != blank -%}
                        {{ 'products.product.shipping_policy_html' | t: link: shop.shipping_policy.url }}
                      {%- endif -%}
                    </div>
                  {%- endif -%}
                  {%- if product != blank -%}
                    <div {{ block.shopify_attributes }}>
                      {%- form 'product', product -%}
                        <input type="hidden" name="id" value="{{ product.selected_or_first_available_variant.id }}">
                        {{ form | payment_terms }}
                      {%- endform -%}
                    </div>
                  {%- endif -%}
                {%- when 'sku' -%}
                  <p
                    class="product__sku{% if block.settings.text_style == 'uppercase' %} caption-with-letter-spacing{% elsif block.settings.text_style == 'subtitle' %} subtitle{% endif %}{% if product.selected_or_first_available_variant.sku.size == 0 %} visibility-hidden{% endif %}"
                    id="Sku-{{ section.id }}"
                    role="status"
                    {{ block.shopify_attributes }}
                  >
                    <span class="visually-hidden">{{ 'products.product.sku' | t }}:</span>
                    {{- product.selected_or_first_available_variant.sku -}}
                  </p>
                {%- when 'quantity_selector' -%}
                  <div
                    id="Quantity-Form-{{ section.id }}"
                    class="product-form__input product-form__quantity{% if settings.inputs_shadow_vertical_offset != 0 and settings.inputs_shadow_vertical_offset < 0 %} product-form__quantity-top{% endif %}"
                    {{ block.shopify_attributes }}
                  >
                    {% comment %} TODO: enable theme-check once `item_count_for_variant` is accepted as valid filter {% endcomment %}
                    {% # theme-check-disable %}
                    {%- assign cart_qty = cart
                      | item_count_for_variant: product.selected_or_first_available_variant.id
                    -%}
                    {% # theme-check-enable %}
                    <label class="quantity__label form__label" for="Quantity-{{ section.id }}">
                      {{ 'products.product.quantity.label' | t }}
                      <span class="quantity__rules-cart{% if cart_qty == 0 %} hidden{% endif %}">
                        {%- render 'loading-spinner' -%}
                        <span
                          >(
                          {{- 'products.product.quantity.in_cart_html' | t: quantity: cart_qty -}}
                          )</span
                        >
                      </span>
                    </label>
                    <div class="price-per-item__container">
                      <quantity-input class="quantity">
                        <button class="quantity__button" name="minus" type="button">
                          <span class="visually-hidden">
                            {{- 'products.product.quantity.decrease' | t: product: product.title | escape -}}
                          </span>
                          {% render 'icon-minus' %}
                        </button>
                        <input
                          class="quantity__input"
                          type="number"
                          name="quantity"
                          id="Quantity-{{ section.id }}"
                          data-cart-quantity="{{ cart_qty }}"
                          data-min="{{ product.selected_or_first_available_variant.quantity_rule.min }}"
                          min="{{ product.selected_or_first_available_variant.quantity_rule.min }}"
                          {% if product.selected_or_first_available_variant.quantity_rule.max != null %}
                            data-max="{{ product.selected_or_first_available_variant.quantity_rule.max }}"
                            max="{{ product.selected_or_first_available_variant.quantity_rule.max }}"
                          {% endif %}
                          step="{{ product.selected_or_first_available_variant.quantity_rule.increment }}"
                          value="{{ product.selected_or_first_available_variant.quantity_rule.min }}"
                          form="{{ product_form_id }}"
                        >
                        <button class="quantity__button" name="plus" type="button">
                          <span class="visually-hidden">
                            {{- 'products.product.quantity.increase' | t: product: product.title | escape -}}
                          </span>
                          {% render 'icon-plus' %}
                        </button>
                      </quantity-input>
                      {%- liquid
                        assign volume_pricing_array = product.selected_or_first_available_variant.quantity_price_breaks | sort: 'quantity' | reverse
                        assign current_qty_for_volume_pricing = cart_qty | plus: product.selected_or_first_available_variant.quantity_rule.min
                        if cart_qty > 0
                          assign current_qty_for_volume_pricing = cart_qty | plus: product.selected_or_first_available_variant.quantity_rule.increment
                        endif
                      -%}
                      {%- if product.quantity_price_breaks_configured? -%}
                        <price-per-item
                          id="Price-Per-Item-{{ section.id }}"
                          data-section-id="{{ section.id }}"
                          data-variant-id="{{ product.selected_or_first_available_variant.id }}"
                        >
                          {%- if product.selected_or_first_available_variant.quantity_price_breaks.size > 0 -%}
                            {%- assign variant_price_compare = product.selected_or_first_available_variant.compare_at_price -%}
                            <div class="price-per-item">
                              {%- if variant_price_compare -%}
                                <dl class="price-per-item--current">
                                  <dt class="visually-hidden">
                                    {{ 'products.product.price.regular_price' | t }}
                                  </dt>
                                  <dd>
                                    <s class="variant-item__old-price">
                                      {{ variant_price_compare | money_with_currency }}
                                    </s>
                                  </dd>
                                </dl>
                              {%- endif -%}
                              {%- if current_qty_for_volume_pricing < volume_pricing_array.last.minimum_quantity -%}
                                {%- assign variant_price = product.selected_or_first_available_variant.price
                                  | money_with_currency
                                -%}
                                <span class="price-per-item--current">
                                  {{- 'products.product.volume_pricing.price_at_each' | t: price: variant_price -}}
                                </span>
                              {%- else -%}
                                {%- for price_break in volume_pricing_array -%}
                                  {%- if current_qty_for_volume_pricing >= price_break.minimum_quantity -%}
                                    {%- assign price_break_price = price_break.price | money_with_currency -%}
                                    <span class="price-per-item--current">
                                      {{-
                                        'products.product.volume_pricing.price_at_each'
                                        | t: price: price_break_price
                                      -}}
                                    </span>
                                    {%- break -%}
                                  {%- endif -%}
                                {%- endfor -%}
                              {%- endif -%}
                            </div>
                          {%- else -%}
                            {%- assign variant_price = product.selected_or_first_available_variant.price
                              | money_with_currency
                            -%}
                            {%- assign variant_price_compare = product.selected_or_first_available_variant.compare_at_price -%}
                            <div class="price-per-item">
                              {%- if variant_price_compare -%}
                                <dl class="price-per-item--current">
                                  <dt class="visually-hidden">
                                    {{ 'products.product.price.regular_price' | t }}
                                  </dt>
                                  <dd>
                                    <s class="variant-item__old-price">
                                      {{ variant_price_compare | money_with_currency }}
                                    </s>
                                  </dd>
                                  <dt class="visually-hidden">
                                    {{ 'products.product.price.sale_price' | t }}
                                  </dt>
                                  <dd>
                                    <span class="price-per-item--current">
                                      {{- 'products.product.volume_pricing.price_at_each' | t: price: variant_price -}}
                                    </span>
                                  </dd>
                                </dl>
                              {%- else -%}
                                <span class="price-per-item--current">
                                  {{- 'products.product.volume_pricing.price_at_each' | t: price: variant_price -}}
                                </span>
                              {%- endif -%}
                            </div>
                          {%- endif -%}
                        </price-per-item>
                      {%- endif -%}
                    </div>
                    <div class="quantity__rules caption" id="Quantity-Rules-{{ section.id }}">
                      {%- if product.selected_or_first_available_variant.quantity_rule.increment > 1 -%}
                        <span class="divider">
                          {{-
                            'products.product.quantity.multiples_of'
                            | t: quantity: product.selected_or_first_available_variant.quantity_rule.increment
                          -}}
                        </span>
                      {%- endif -%}
                      {%- if product.selected_or_first_available_variant.quantity_rule.min > 1 -%}
                        <span class="divider">
                          {{-
                            'products.product.quantity.minimum_of'
                            | t: quantity: product.selected_or_first_available_variant.quantity_rule.min
                          -}}
                        </span>
                      {%- endif -%}
                      {%- if product.selected_or_first_available_variant.quantity_rule.max != null -%}
                        <span class="divider">
                          {{-
                            'products.product.quantity.maximum_of'
                            | t: quantity: product.selected_or_first_available_variant.quantity_rule.max
                          -}}
                        </span>
                      {%- endif -%}
                    </div>
                    {%- if product.quantity_price_breaks_configured? -%}
                      <volume-pricing class="parent-display" id="Volume-{{ section.id }}">
                        {%- if product.selected_or_first_available_variant.quantity_price_breaks.size > 0 -%}
                          <span class="caption-large">{{ 'products.product.volume_pricing.title' | t }}</span>
                          <ul class="list-unstyled">
                            <li>
                              <span>{{ product.selected_or_first_available_variant.quantity_rule.min }}+</span>
                              {%- assign price = product.selected_or_first_available_variant.price
                                | money_with_currency
                              -%}
                              <span data-text="{{ 'products.product.volume_pricing.price_at_each' | t: price: variant_price }}">
                                {{ 'sections.quick_order_list.each' | t: money: price -}}
                              </span>
                            </li>
                            {%- for price_break in product.selected_or_first_available_variant.quantity_price_breaks -%}
                              {%- assign price_break_price = price_break.price | money_with_currency -%}
                              <li class="{%- if forloop.index >= 3 -%}show-more-item hidden{%- endif -%}">
                                <span>
                                  {{- price_break.minimum_quantity -}}
                                  <span aria-hidden="true">+</span></span
                                >
                                {%- assign price = price_break.price | money_with_currency -%}
                                <span data-text="{{ 'products.product.volume_pricing.price_at_each' | t: price: price_break_price }}">
                                  {{ 'sections.quick_order_list.each' | t: money: price -}}
                                </span>
                              </li>
                            {%- endfor -%}
                          </ul>
                          {%- if product.selected_or_first_available_variant.quantity_price_breaks.size >= 3 -%}
                            <show-more-button>
                              <button
                                class="button-show-more link underlined-link"
                                id="Show-More-{{ section.id }}"
                                type="button"
                              >
                                <span class="label-show-more label-text"
                                  ><span aria-hidden="true">+ </span>{{ 'products.facets.show_more' | t }}
                                </span>
                              </button>
                            </show-more-button>
                          {%- endif -%}
                        {%- endif -%}
                      </volume-pricing>
                    {%- endif -%}
                  </div>
                {%- when 'share' -%}
                  {% liquid
                    assign share_url = product.selected_variant.url | default: product.url | prepend: request.origin
                    render 'share-button', block: block, share_link: share_url
                  %}
                {%- when 'variant_picker' -%}
                  {% render 'product-variant-picker',
                    product: product,
                    block: block,
                    product_form_id: product_form_id
                  %}
                {%- when 'buy_buttons' -%}
                  {%- render 'buy-buttons',
                    block: block,
                    product: product,
                    product_form_id: product_form_id,
                    section_id: section.id
                  -%}
                {%- when 'custom_liquid' -%}
                  {{ block.settings.custom_liquid }}
                {%- when 'rating' -%}
                  {%- if product.metafields.reviews.rating.value != blank -%}
                    <div class="rating-wrapper">
                      {% liquid
                        assign rating_decimal = 0
                        assign decimal = product.metafields.reviews.rating.value.rating | modulo: 1
                        if decimal >= 0.3 and decimal <= 0.7
                          assign rating_decimal = 0.5
                        elsif decimal > 0.7
                          assign rating_decimal = 1
                        endif
                      %}
                      <div
                        class="rating"
                        role="img"
                        aria-label="{{ 'accessibility.star_reviews_info' | t: rating_value: product.metafields.reviews.rating.value, rating_max: product.metafields.reviews.rating.value.scale_max }}"
                      >
                        <span
                          aria-hidden="true"
                          class="rating-star"
                          style="--rating: {{ product.metafields.reviews.rating.value.rating | floor }}; --rating-max: {{ product.metafields.reviews.rating.value.scale_max }}; --rating-decimal: {{ rating_decimal }};"
                        ></span>
                      </div>
                      <p class="rating-text caption">
                        <span aria-hidden="true">
                          {{- product.metafields.reviews.rating.value }} /
                          {{ product.metafields.reviews.rating.value.scale_max -}}
                        </span>
                      </p>
                      <p class="rating-count caption">
                        <span aria-hidden="true">({{ product.metafields.reviews.rating_count }})</span>
                        <span class="visually-hidden">
                          {{- product.metafields.reviews.rating_count }}
                          {{ 'accessibility.total_reviews' | t -}}
                        </span>
                      </p>
                    </div>
                  {%- endif -%}
                {%- when 'icon-with-text' -%}
                  {% render 'icon-with-text', block: block %}
              {%- endcase -%}
            {%- endfor -%}
            <a
              {% if product == blank %}
                role="link" aria-disabled="true"
              {% else %}
                href="{{ product.url }}"
              {% endif %}
              class="link product__view-details animate-arrow"
            >
              {{ 'products.product.view_full_details' | t }}
              {% render 'icon-arrow' %}
            </a>
          </section>
        </div>
      </div>
      {% render 'product-media-modal', product: product, variant_images: variant_images %}
    </div>
  </section>



      </div>
  </div>
</div>

  <script src="{{ 'product-form.js' | asset_url }}" defer="defer"></script>
  {%- if section.settings.image_zoom == 'hover' -%}
    <script id="EnableZoomOnHover-featured" src="{{ 'magnify.js' | asset_url }}" defer="defer"></script>
  {%- endif %}
  {%- if request.design_mode -%}
    <script src="{{ 'theme-editor.js' | asset_url }}" defer="defer"></script>
  {%- endif -%}

  {%- if first_3d_model -%}
    <script type="application/json" id="ProductJSON-{{ product.id }}">
      {{ product.media | where: 'media_type', 'model' | json }}
    </script>
    <script src="{{ 'product-model.js' | asset_url }}" defer></script>
  {%- endif -%}

  {%- liquid
    if product.selected_or_first_available_variant.featured_media
      assign seo_media = product.selected_or_first_available_variant.featured_media
    else
      assign seo_media = product.featured_media
    endif
  -%}

  <script type="application/ld+json">
    {{ product | structured_data }}
  </script>

  {% if product.media.size > 0 %}
    <script src="{{ 'product-modal.js' | asset_url }}" defer="defer"></script>
    <script src="{{ 'media-gallery.js' | asset_url }}" defer="defer"></script>
  {% endif %}
</product-info>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script>
    $(document).ready(function() {
    var $modal = $('#newsletterPopup');
    var $body = $('body');
    var $span = $('.custom-modal-close');

    // Function to show the modal after 5 seconds
    function showModal() {
        $modal.css('display', 'flex');
        $body.addClass("scroll-locked");
    }

    // Show the modal after 5 seconds of page load
    setTimeout(showModal, 5000);

    $span.on('click', closeModal);

    // Close the modal when clicking outside of it
    $(window).on('click', function(event) {
        if ($(event.target).is($modal)) {
            closeModal();
        }
    });

    // Function to close the modal
    function closeModal() {
        $modal.hide();
        $body.removeClass("scroll-locked");
    }
});
  </script>

{% schema %}
{
  "name": "Featured Product Popup",
  "tag": "section",
  "class": "section section-featured-product",
  "disabled_on": {
    "groups": ["header", "footer"]
  },
  "blocks": [
    {
      "type": "@app"
    },
    {
      "type": "text",
      "name": "t:sections.featured-product.blocks.text.name",
      "settings": [
        {
          "type": "inline_richtext",
          "id": "text",
          "default": "t:sections.featured-product.blocks.text.settings.text.default",
          "label": "t:sections.featured-product.blocks.text.settings.text.label"
        },
        {
          "type": "select",
          "id": "text_style",
          "options": [
            {
              "value": "body",
              "label": "t:sections.featured-product.blocks.text.settings.text_style.options__1.label"
            },
            {
              "value": "subtitle",
              "label": "t:sections.featured-product.blocks.text.settings.text_style.options__2.label"
            },
            {
              "value": "uppercase",
              "label": "t:sections.featured-product.blocks.text.settings.text_style.options__3.label"
            }
          ],
          "default": "body",
          "label": "t:sections.featured-product.blocks.text.settings.text_style.label"
        }
      ]
    },
    {
      "type": "title",
      "name": "t:sections.featured-product.blocks.title.name",
      "limit": 1,
      "settings": [
        {
          "type": "select",
          "id": "heading_size",
          "options": [
            {
              "value": "h2",
              "label": "t:sections.all.heading_size.options__1.label"
            },
            {
              "value": "h1",
              "label": "t:sections.all.heading_size.options__2.label"
            },
            {
              "value": "h0",
              "label": "t:sections.all.heading_size.options__3.label"
            },
            {
              "value": "hxl",
              "label": "t:sections.all.heading_size.options__4.label"
            },
            {
              "value": "hxxl",
              "label": "t:sections.all.heading_size.options__5.label"
            }
          ],
          "default": "h1",
          "label": "t:sections.all.heading_size.label"
        }
      ]
    },
    {
      "type": "price",
      "name": "t:sections.featured-product.blocks.price.name",
      "limit": 1
    },
    {
      "type": "sku",
      "name": "t:sections.featured-product.blocks.sku.name",
      "limit": 1,
      "settings": [
        {
          "type": "select",
          "id": "text_style",
          "options": [
            {
              "value": "body",
              "label": "t:sections.featured-product.blocks.sku.settings.text_style.options__1.label"
            },
            {
              "value": "subtitle",
              "label": "t:sections.featured-product.blocks.sku.settings.text_style.options__2.label"
            },
            {
              "value": "uppercase",
              "label": "t:sections.featured-product.blocks.sku.settings.text_style.options__3.label"
            }
          ],
          "default": "body",
          "label": "t:sections.featured-product.blocks.sku.settings.text_style.label"
        }
      ]
    },
    {
      "type": "quantity_selector",
      "name": "t:sections.featured-product.blocks.quantity_selector.name",
      "limit": 1
    },
    {
      "type": "variant_picker",
      "name": "t:sections.featured-product.blocks.variant_picker.name",
      "limit": 1,
      "settings": [
        {
          "type": "select",
          "id": "picker_type",
          "options": [
            {
              "value": "dropdown",
              "label": "t:sections.featured-product.blocks.variant_picker.settings.picker_type.options__1.label"
            },
            {
              "value": "button",
              "label": "t:sections.featured-product.blocks.variant_picker.settings.picker_type.options__2.label"
            }
          ],
          "default": "button",
          "label": "t:sections.featured-product.blocks.variant_picker.settings.picker_type.label"
        },
        {
          "id": "swatch_shape",
          "label": "t:sections.featured-product.blocks.variant_picker.settings.swatch_shape.label",
          "type": "select",
          "info": "t:sections.featured-product.blocks.variant_picker.settings.swatch_shape.info",
          "options": [
            {
              "value": "circle",
              "label": "t:sections.featured-product.blocks.variant_picker.settings.swatch_shape.options__1.label"
            },
            {
              "value": "square",
              "label": "t:sections.featured-product.blocks.variant_picker.settings.swatch_shape.options__2.label"
            },
            {
              "value": "none",
              "label": "t:sections.main-product.blocks.variant_picker.settings.swatch_shape.options__3.label"
            }
          ],
          "default": "circle"
        }
      ]
    },
    {
      "type": "buy_buttons",
      "name": "t:sections.featured-product.blocks.buy_buttons.name",
      "limit": 1,
      "settings": [
        {
          "type": "checkbox",
          "id": "show_dynamic_checkout",
          "default": true,
          "label": "t:sections.featured-product.blocks.buy_buttons.settings.show_dynamic_checkout.label",
          "info": "t:sections.featured-product.blocks.buy_buttons.settings.show_dynamic_checkout.info"
        },
        {
          "type": "checkbox",
          "id": "show_gift_card_recipient",
          "default": true,
          "label": "t:sections.main-product.blocks.buy_buttons.settings.show_gift_card_recipient.label",
          "info": "t:sections.main-product.blocks.buy_buttons.settings.show_gift_card_recipient.info"
        }
      ]
    },
    {
      "type": "share",
      "name": "t:sections.featured-product.blocks.share.name",
      "limit": 1,
      "settings": [
        {
          "type": "text",
          "id": "share_label",
          "label": "t:sections.featured-product.blocks.share.settings.text.label",
          "default": "t:sections.featured-product.blocks.share.settings.text.default"
        },
        {
          "type": "paragraph",
          "content": "t:sections.featured-product.blocks.share.settings.featured_image_info.content"
        },
        {
          "type": "paragraph",
          "content": "t:sections.featured-product.blocks.share.settings.title_info.content"
        }
      ]
    },
    {
      "type": "custom_liquid",
      "name": "t:sections.custom-liquid.name",
      "settings": [
        {
          "type": "liquid",
          "id": "custom_liquid",
          "label": "t:sections.custom-liquid.settings.custom_liquid.label",
          "info": "t:sections.custom-liquid.settings.custom_liquid.info"
        }
      ]
    },
    {
      "type": "rating",
      "name": "t:sections.featured-product.blocks.rating.name",
      "limit": 1,
      "settings": [
        {
          "type": "paragraph",
          "content": "t:sections.featured-product.blocks.rating.settings.paragraph.content"
        }
      ]
    },
    {
      "type": "icon-with-text",
      "name": "t:sections.main-product.blocks.icon_with_text.name",
      "settings": [
        {
          "type": "select",
          "id": "layout",
          "options": [
            {
              "value": "horizontal",
              "label": "t:sections.main-product.blocks.icon_with_text.settings.layout.options__1.label"
            },
            {
              "value": "vertical",
              "label": "t:sections.main-product.blocks.icon_with_text.settings.layout.options__2.label"
            }
          ],
          "default": "horizontal",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.layout.label"
        },
        {
          "type": "header",
          "content": "t:sections.main-product.blocks.icon_with_text.settings.content.label",
          "info": "t:sections.main-product.blocks.icon_with_text.settings.content.info"
        },
        {
          "type": "select",
          "id": "icon_1",
          "options": [
            {
              "value": "none",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__1.label"
            },
            {
              "value": "apple",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__2.label"
            },
            {
              "value": "banana",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__3.label"
            },
            {
              "value": "bottle",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__4.label"
            },
            {
              "value": "box",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__5.label"
            },
            {
              "value": "carrot",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__6.label"
            },
            {
              "value": "chat_bubble",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__7.label"
            },
            {
              "value": "check_mark",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__8.label"
            },
            {
              "value": "clipboard",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__9.label"
            },
            {
              "value": "dairy",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__10.label"
            },
            {
              "value": "dairy_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__11.label"
            },
            {
              "value": "dryer",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__12.label"
            },
            {
              "value": "eye",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__13.label"
            },
            {
              "value": "fire",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__14.label"
            },
            {
              "value": "gluten_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__15.label"
            },
            {
              "value": "heart",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__16.label"
            },
            {
              "value": "iron",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__17.label"
            },
            {
              "value": "leaf",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__18.label"
            },
            {
              "value": "leather",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__19.label"
            },
            {
              "value": "lightning_bolt",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__20.label"
            },
            {
              "value": "lipstick",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__21.label"
            },
            {
              "value": "lock",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__22.label"
            },
            {
              "value": "map_pin",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__23.label"
            },
            {
              "value": "nut_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__24.label"
            },
            {
              "value": "pants",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__25.label"
            },
            {
              "value": "paw_print",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__26.label"
            },
            {
              "value": "pepper",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__27.label"
            },
            {
              "value": "perfume",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__28.label"
            },
            {
              "value": "plane",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__29.label"
            },
            {
              "value": "plant",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__30.label"
            },
            {
              "value": "price_tag",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__31.label"
            },
            {
              "value": "question_mark",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__32.label"
            },
            {
              "value": "recycle",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__33.label"
            },
            {
              "value": "return",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__34.label"
            },
            {
              "value": "ruler",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__35.label"
            },
            {
              "value": "serving_dish",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__36.label"
            },
            {
              "value": "shirt",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__37.label"
            },
            {
              "value": "shoe",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__38.label"
            },
            {
              "value": "silhouette",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__39.label"
            },
            {
              "value": "snowflake",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__40.label"
            },
            {
              "value": "star",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__41.label"
            },
            {
              "value": "stopwatch",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__42.label"
            },
            {
              "value": "truck",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__43.label"
            },
            {
              "value": "washing",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__44.label"
            }
          ],
          "default": "heart",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.icon_1.label"
        },
        {
          "type": "image_picker",
          "id": "image_1",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.image_1.label"
        },
        {
          "type": "inline_richtext",
          "id": "heading_1",
          "default": "t:sections.main-product.blocks.icon_with_text.settings.heading_1.default",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.heading_1.label",
          "info": "t:sections.main-product.blocks.icon_with_text.settings.heading.info"
        },
        {
          "type": "select",
          "id": "icon_2",
          "options": [
            {
              "value": "none",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__1.label"
            },
            {
              "value": "apple",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__2.label"
            },
            {
              "value": "banana",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__3.label"
            },
            {
              "value": "bottle",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__4.label"
            },
            {
              "value": "box",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__5.label"
            },
            {
              "value": "carrot",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__6.label"
            },
            {
              "value": "chat_bubble",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__7.label"
            },
            {
              "value": "check_mark",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__8.label"
            },
            {
              "value": "clipboard",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__9.label"
            },
            {
              "value": "dairy",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__10.label"
            },
            {
              "value": "dairy_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__11.label"
            },
            {
              "value": "dryer",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__12.label"
            },
            {
              "value": "eye",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__13.label"
            },
            {
              "value": "fire",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__14.label"
            },
            {
              "value": "gluten_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__15.label"
            },
            {
              "value": "heart",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__16.label"
            },
            {
              "value": "iron",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__17.label"
            },
            {
              "value": "leaf",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__18.label"
            },
            {
              "value": "leather",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__19.label"
            },
            {
              "value": "lightning_bolt",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__20.label"
            },
            {
              "value": "lipstick",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__21.label"
            },
            {
              "value": "lock",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__22.label"
            },
            {
              "value": "map_pin",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__23.label"
            },
            {
              "value": "nut_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__24.label"
            },
            {
              "value": "pants",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__25.label"
            },
            {
              "value": "paw_print",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__26.label"
            },
            {
              "value": "pepper",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__27.label"
            },
            {
              "value": "perfume",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__28.label"
            },
            {
              "value": "plane",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__29.label"
            },
            {
              "value": "plant",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__30.label"
            },
            {
              "value": "price_tag",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__31.label"
            },
            {
              "value": "question_mark",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__32.label"
            },
            {
              "value": "recycle",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__33.label"
            },
            {
              "value": "return",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__34.label"
            },
            {
              "value": "ruler",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__35.label"
            },
            {
              "value": "serving_dish",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__36.label"
            },
            {
              "value": "shirt",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__37.label"
            },
            {
              "value": "shoe",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__38.label"
            },
            {
              "value": "silhouette",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__39.label"
            },
            {
              "value": "snowflake",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__40.label"
            },
            {
              "value": "star",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__41.label"
            },
            {
              "value": "stopwatch",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__42.label"
            },
            {
              "value": "truck",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__43.label"
            },
            {
              "value": "washing",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__44.label"
            }
          ],
          "default": "return",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.icon_2.label"
        },
        {
          "type": "image_picker",
          "id": "image_2",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.image_2.label"
        },
        {
          "type": "inline_richtext",
          "id": "heading_2",
          "default": "t:sections.main-product.blocks.icon_with_text.settings.heading_2.default",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.heading_2.label",
          "info": "t:sections.main-product.blocks.icon_with_text.settings.heading.info"
        },
        {
          "type": "select",
          "id": "icon_3",
          "options": [
            {
              "value": "none",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__1.label"
            },
            {
              "value": "apple",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__2.label"
            },
            {
              "value": "banana",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__3.label"
            },
            {
              "value": "bottle",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__4.label"
            },
            {
              "value": "box",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__5.label"
            },
            {
              "value": "carrot",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__6.label"
            },
            {
              "value": "chat_bubble",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__7.label"
            },
            {
              "value": "check_mark",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__8.label"
            },
            {
              "value": "clipboard",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__9.label"
            },
            {
              "value": "dairy",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__10.label"
            },
            {
              "value": "dairy_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__11.label"
            },
            {
              "value": "dryer",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__12.label"
            },
            {
              "value": "eye",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__13.label"
            },
            {
              "value": "fire",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__14.label"
            },
            {
              "value": "gluten_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__15.label"
            },
            {
              "value": "heart",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__16.label"
            },
            {
              "value": "iron",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__17.label"
            },
            {
              "value": "leaf",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__18.label"
            },
            {
              "value": "leather",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__19.label"
            },
            {
              "value": "lightning_bolt",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__20.label"
            },
            {
              "value": "lipstick",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__21.label"
            },
            {
              "value": "lock",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__22.label"
            },
            {
              "value": "map_pin",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__23.label"
            },
            {
              "value": "nut_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__24.label"
            },
            {
              "value": "pants",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__25.label"
            },
            {
              "value": "paw_print",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__26.label"
            },
            {
              "value": "pepper",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__27.label"
            },
            {
              "value": "perfume",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__28.label"
            },
            {
              "value": "plane",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__29.label"
            },
            {
              "value": "plant",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__30.label"
            },
            {
              "value": "price_tag",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__31.label"
            },
            {
              "value": "question_mark",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__32.label"
            },
            {
              "value": "recycle",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__33.label"
            },
            {
              "value": "return",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__34.label"
            },
            {
              "value": "ruler",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__35.label"
            },
            {
              "value": "serving_dish",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__36.label"
            },
            {
              "value": "shirt",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__37.label"
            },
            {
              "value": "shoe",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__38.label"
            },
            {
              "value": "silhouette",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__39.label"
            },
            {
              "value": "snowflake",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__40.label"
            },
            {
              "value": "star",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__41.label"
            },
            {
              "value": "stopwatch",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__42.label"
            },
            {
              "value": "truck",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__43.label"
            },
            {
              "value": "washing",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__44.label"
            }
          ],
          "default": "truck",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.icon_3.label"
        },
        {
          "type": "image_picker",
          "id": "image_3",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.image_3.label"
        },
        {
          "type": "inline_richtext",
          "id": "heading_3",
          "default": "t:sections.main-product.blocks.icon_with_text.settings.heading_3.default",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.heading_3.label",
          "info": "t:sections.main-product.blocks.icon_with_text.settings.heading.info"
        }
      ]
    }
  ],
  "settings": [
    {
      "type": "product",
      "id": "product",
      "label": "t:sections.featured-product.settings.product.label"
    },
    {
      "type": "color_scheme",
      "id": "color_scheme",
      "label": "t:sections.all.colors.label",
      "default": "scheme-1"
    },
    {
      "type": "checkbox",
      "id": "secondary_background",
      "default": false,
      "label": "t:sections.featured-product.settings.secondary_background.label"
    },
    {
      "type": "header",
      "content": "t:sections.featured-product.settings.header.content",
      "info": "t:sections.featured-product.settings.header.info"
    },
    {
      "type": "select",
      "id": "media_size",
      "options": [
        {
          "value": "small",
          "label": "t:sections.main-product.settings.media_size.options__1.label"
        },
        {
          "value": "medium",
          "label": "t:sections.main-product.settings.media_size.options__2.label"
        },
        {
          "value": "large",
          "label": "t:sections.main-product.settings.media_size.options__3.label"
        }
      ],
      "default": "medium",
      "label": "t:sections.main-product.settings.media_size.label",
      "info": "t:sections.main-product.settings.media_size.info"
    },
    {
      "type": "checkbox",
      "id": "constrain_to_viewport",
      "default": true,
      "label": "t:sections.main-product.settings.constrain_to_viewport.label"
    },
    {
      "type": "select",
      "id": "media_fit",
      "options": [
        {
          "value": "contain",
          "label": "t:sections.main-product.settings.media_fit.options__1.label"
        },
        {
          "value": "cover",
          "label": "t:sections.main-product.settings.media_fit.options__2.label"
        }
      ],
      "default": "contain",
      "label": "t:sections.main-product.settings.media_fit.label"
    },
    {
      "type": "select",
      "id": "media_position",
      "options": [
        {
          "value": "left",
          "label": "t:sections.featured-product.settings.media_position.options__1.label"
        },
        {
          "value": "right",
          "label": "t:sections.featured-product.settings.media_position.options__2.label"
        }
      ],
      "default": "left",
      "label": "t:sections.featured-product.settings.media_position.label",
      "info": "t:sections.featured-product.settings.media_position.info"
    },
    {
      "type": "select",
      "id": "image_zoom",
      "options": [
        {
          "value": "lightbox",
          "label": "t:sections.main-product.settings.image_zoom.options__1.label"
        },
        {
          "value": "hover",
          "label": "t:sections.main-product.settings.image_zoom.options__2.label"
        },
        {
          "value": "none",
          "label": "t:sections.main-product.settings.image_zoom.options__3.label"
        }
      ],
      "default": "lightbox",
      "label": "t:sections.main-product.settings.image_zoom.label",
      "info": "t:sections.main-product.settings.image_zoom.info"
    },
    {
      "type": "checkbox",
      "id": "hide_variants",
      "default": false,
      "label": "t:sections.main-product.settings.hide_variants.label"
    },
    {
      "type": "checkbox",
      "id": "enable_video_looping",
      "default": false,
      "label": "t:sections.featured-product.settings.enable_video_looping.label"
    },
    {
      "type": "header",
      "content": "t:sections.all.padding.section_padding_heading"
    },
    {
      "type": "range",
      "id": "padding_top",
      "min": 0,
      "max": 100,
      "step": 4,
      "unit": "px",
      "label": "t:sections.all.padding.padding_top",
      "default": 36
    },
    {
      "type": "range",
      "id": "padding_bottom",
      "min": 0,
      "max": 100,
      "step": 4,
      "unit": "px",
      "label": "t:sections.all.padding.padding_bottom",
      "default": 36
    }
  ],
  "presets": [
    {
      "name": "Featured Product Popup",
      "blocks": [
        {
          "type": "text",
          "settings": {
            "text": "{{ section.settings.product.vendor }}",
            "text_style": "uppercase"
          }
        },
        {
          "type": "title"
        },
        {
          "type": "price"
        },
        {
          "type": "variant_picker"
        },
        {
          "type": "quantity_selector"
        },
        {
          "type": "buy_buttons"
        },
        {
          "type": "share"
        }
      ]
    }
  ]
}
{% endschema %}
​

 

 

  • Then, go to Theme -> Customize -> Add section -> Featured Product Popup. Select the product that you want.

    Untitled-2.png

     
Found our answer helpful? If so, Don't forget to show your support by liking and accepting the solution.
Looking for more help and expert consultation? Feel free to contact us at Shopify Expert or visit our website www.devmontdigital.io
Hire us for your project by simply emailing us at sales@devmontdigital.io

View solution in original post

Replies 3 (3)

devmont-digital
Shopify Partner
176 33 44

This is an accepted solution.

Hello @Fishmoments,

 

"Yes, this is possible. If you want to feature a product in a popup, follow the steps below:

  • Go to Themes -> Edit code -> Create a new section named 'featured-product-popup'. Remove the dummy code and paste the provided code snippet. Save the file.

 

{%- liquid
  assign product = section.settings.product
-%}

<product-info
  data-section="{{ section.id }}"
  data-product-id="{{ product.id }}"
  data-update-url="false"
  data-url="{{ product.url }}"
  {% if section.settings.image_zoom == 'hover' %}
    data-zoom-on-hover
  {% endif %}
>
  {{ 'section-main-product.css' | asset_url | stylesheet_tag }}
  {{ 'section-featured-product.css' | asset_url | stylesheet_tag }}
  {{ 'component-accordion.css' | asset_url | stylesheet_tag }}
  {{ 'component-price.css' | asset_url | stylesheet_tag }}
  {{ 'component-deferred-media.css' | asset_url | stylesheet_tag }}
  {{ 'component-rating.css' | asset_url | stylesheet_tag }}
  {{ 'component-volume-pricing.css' | asset_url | stylesheet_tag }}
  {% unless section.settings.product.has_only_default_variant %}
    {{ 'component-product-variant-picker.css' | asset_url | stylesheet_tag }}
    {{ 'component-swatch.css' | asset_url | stylesheet_tag }}
    {{ 'component-swatch-input.css' | asset_url | stylesheet_tag }}
  {% endunless %}

  {%- style -%}
    .section-{{ section.id }}-padding {
      padding-top: {{ section.settings.padding_top | times: 0.75 | round: 0 }}px;
      padding-bottom: {{ section.settings.padding_bottom | times: 0.75 | round: 0 }}px;
    }

    @media screen and (min-width: 750px) {
      .section-{{ section.id }}-padding {
        padding-top: {{ section.settings.padding_top }}px;
        padding-bottom: {{ section.settings.padding_bottom }}px;
      }
    }
  {%- endstyle -%}

  <script src="{{ 'product-info.js' | asset_url }}" defer="defer"></script>
  <script src="{{ 'show-more.js' | asset_url }}" defer="defer"></script>
  <script src="{{ 'price-per-item.js' | asset_url }}" defer="defer"></script>

  <style>
    .custom-modal.modal-design-1 {
      display: none; /* Hidden by default */
      position: fixed; /* Stay in place */
      z-index: 4;
      left: 0;
      top: 0;
      width: 100%; /* Full width */
      height: 100%; /* Full height */
      overflow: auto; /* Enable scroll if needed */
      background-color: #26294cb3;
      justify-content: center;
      align-items: center;
    }
    .modal-design-1 .custom-modal-content {
      position: relative;
      margin: auto;
      width: 1042px;
      animation-name: animatetop;
      animation-duration: 0.4s;
      height: auto;
    }
    @keyframes animatetop {
      from {top:-300px; opacity:0}
      to {top:0; opacity:1}
    }
    .modal-design-1 .close svg {
      width: 12px;
      height: 12px;
    }
    
  .custom-modal-close svg:hover{
    scale: 1.1;
    transition: all .3s ease-in-out;
    transform: rotate(90deg);
  }
  .custom-modal-close{
    transition: all .3s ease-in-out;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    color: #D9D9D9;
    cursor: pointer;
  }
  .custom-modal-close svg{
    transition: all .3s ease-in-out;

  }
  .scroll-locked{
    overflow-y: hidden;
  }
  @media(max-width: 1700px){
  }
  @media(max-width: 1280px){
    .modal-design-1 .custom-modal-content {
      width: 850px;
    }
  }
  @media(max-width: 1180px){
    .modal-design-1 .custom-modal-content{
      width: 800px;
    }
  }

  @media(max-width: 1024px){
    .modal-design-1 .custom-modal-content {
      width: 694px;
    }
  }
  @media(max-width: 749px){
    .modal-design-1 .custom-modal-content {
      width: 390px;
    }
  }
  @media(max-width: 399px){
    .modal-design-1 .custom-modal-content {
      width: 320px;
    }

  }
</style>

  {% comment %} TODO: assign `product.selected_or_first_available_variant` to variable and replace usage to reduce verbosity {% endcomment %}

  {%- assign first_3d_model = product.media | where: 'media_type', 'model' | first -%}
  {%- if first_3d_model -%}
    {{ 'component-product-model.css' | asset_url | stylesheet_tag }}
    <link
      id="ModelViewerStyle"
      rel="stylesheet"
      href="https://cdn.shopify.com/shopifycloud/model-viewer-ui/assets/v1.0/model-viewer-ui.css"
      media="print"
      onload="this.media='all'"
    >
    <link
      id="ModelViewerOverride"
      rel="stylesheet"
      href="{{ 'component-model-viewer-ui.css' | asset_url }}"
      media="print"
      onload="this.media='all'"
    >
  {%- endif -%}

  {% assign variant_images = product.images | where: 'attached_to_variant?', true | map: 'src' %}


  <div id="newsletterPopup" class="custom-modal modal-design-1">
  <div class="custom-modal-content">
    <div class="custom-modal-close">
      <span>
        <svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" fill="currentColor" class="bi bi-x-circle" viewBox="0 0 16 16">
  <path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/>
  <path d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708"/>
</svg>
      </span>
    </div>
    <div class="custom-modal-body">
    

  <section class="color-{{ section.settings.color_scheme }} {% if section.settings.secondary_background %}background-secondary{% else %}gradient{% endif %}">
    <div class="page-width section-{{ section.id }}-padding{% if section.settings.secondary_background %} isolate{% endif %}">
      <div class="featured-product product product--{{ section.settings.media_size }} grid grid--1-col gradient color-{{ section.settings.color_scheme }} product--{{ section.settings.media_position }}{% if section.settings.secondary_background == false %} isolate{% endif %} {% if product.media.size > 0 or section.settings.product == blank %}grid--2-col-tablet{% else %}product--no-media{% endif %}">
        <div class="grid__item product__media-wrapper">
          {%- if section.settings.product != blank -%}
            {% render 'product-media-gallery', product: product, variant_images: variant_images, limit: 1 %}
          {%- else -%}
            <div class="product__media-item">
              <div
                class="product-media-container global-media-settings gradient{% if section.settings.constrain_to_viewport %} constrain-height{% endif %}"
                style="--ratio: 1.0; --preview-ratio: 1.0;"
              >
                {{ 'product-apparel-1' | placeholder_svg_tag: 'placeholder-svg' }}
              </div>
            </div>
          {%- endif -%}
        </div>
        <div class="product__info-wrapper grid__item{% if settings.animations_reveal_on_scroll %} scroll-trigger animate--slide-in{% endif %}">
          <section
            id="ProductInfo-{{ section.id }}"
            class="product__info-container"
            data-section="{{ section.id }}"
            data-url="{{ product.url }}"
          >
            {%- assign product_form_id = 'product-form-' | append: section.id -%}

            {%- for block in section.blocks -%}
              {%- case block.type -%}
                {%- when '@app' -%}
                  {% render block %}
                {%- when 'text' -%}
                  <p
                    class="product__text inline-richtext{% if block.settings.text_style == 'uppercase' %} caption-with-letter-spacing{% elsif block.settings.text_style == 'subtitle' %} subtitle{% endif %}"
                    {{ block.shopify_attributes }}
                  >
                    {{- block.settings.text -}}
                  </p>
                {%- when 'title' -%}
                  <h2 class="product__title {{ block.settings.heading_size }}" {{ block.shopify_attributes }}>
                    {%- if product.title != blank -%}
                      {{ product.title | escape }}
                    {%- else -%}
                      {{ 'onboarding.product_title' | t }}
                    {%- endif -%}
                  </h2>
                {%- when 'price' -%}
                  <div id="price-{{ section.id }}" role="status" {{ block.shopify_attributes }}>
                    {%- render 'price',
                      product: product,
                      use_variant: true,
                      show_badges: true,
                      price_class: 'price--large'
                    -%}
                  </div>
                  {%- if product.quantity_price_breaks_configured? -%}
                    <div class="volume-pricing-note" id="Volume-Note-{{ section.id }}">
                      <span>{{ 'products.product.volume_pricing.note' | t }}</span>
                    </div>
                  {%- endif -%}
                  {%- if cart.taxes_included or cart.duties_included or shop.shipping_policy.body != blank -%}
                    <div class="product__tax caption rte">
                      {%- if cart.duties_included and cart.taxes_included -%}
                        {{ 'products.product.duties_and_taxes_included' | t }}
                      {%- elsif cart.taxes_included -%}
                        {{ 'products.product.taxes_included' | t }}
                      {%- elsif cart.duties_included -%}
                        {{ 'products.product.duties_included' | t }}
                      {%- endif -%}
                      {%- if shop.shipping_policy.body != blank -%}
                        {{ 'products.product.shipping_policy_html' | t: link: shop.shipping_policy.url }}
                      {%- endif -%}
                    </div>
                  {%- endif -%}
                  {%- if product != blank -%}
                    <div {{ block.shopify_attributes }}>
                      {%- form 'product', product -%}
                        <input type="hidden" name="id" value="{{ product.selected_or_first_available_variant.id }}">
                        {{ form | payment_terms }}
                      {%- endform -%}
                    </div>
                  {%- endif -%}
                {%- when 'sku' -%}
                  <p
                    class="product__sku{% if block.settings.text_style == 'uppercase' %} caption-with-letter-spacing{% elsif block.settings.text_style == 'subtitle' %} subtitle{% endif %}{% if product.selected_or_first_available_variant.sku.size == 0 %} visibility-hidden{% endif %}"
                    id="Sku-{{ section.id }}"
                    role="status"
                    {{ block.shopify_attributes }}
                  >
                    <span class="visually-hidden">{{ 'products.product.sku' | t }}:</span>
                    {{- product.selected_or_first_available_variant.sku -}}
                  </p>
                {%- when 'quantity_selector' -%}
                  <div
                    id="Quantity-Form-{{ section.id }}"
                    class="product-form__input product-form__quantity{% if settings.inputs_shadow_vertical_offset != 0 and settings.inputs_shadow_vertical_offset < 0 %} product-form__quantity-top{% endif %}"
                    {{ block.shopify_attributes }}
                  >
                    {% comment %} TODO: enable theme-check once `item_count_for_variant` is accepted as valid filter {% endcomment %}
                    {% # theme-check-disable %}
                    {%- assign cart_qty = cart
                      | item_count_for_variant: product.selected_or_first_available_variant.id
                    -%}
                    {% # theme-check-enable %}
                    <label class="quantity__label form__label" for="Quantity-{{ section.id }}">
                      {{ 'products.product.quantity.label' | t }}
                      <span class="quantity__rules-cart{% if cart_qty == 0 %} hidden{% endif %}">
                        {%- render 'loading-spinner' -%}
                        <span
                          >(
                          {{- 'products.product.quantity.in_cart_html' | t: quantity: cart_qty -}}
                          )</span
                        >
                      </span>
                    </label>
                    <div class="price-per-item__container">
                      <quantity-input class="quantity">
                        <button class="quantity__button" name="minus" type="button">
                          <span class="visually-hidden">
                            {{- 'products.product.quantity.decrease' | t: product: product.title | escape -}}
                          </span>
                          {% render 'icon-minus' %}
                        </button>
                        <input
                          class="quantity__input"
                          type="number"
                          name="quantity"
                          id="Quantity-{{ section.id }}"
                          data-cart-quantity="{{ cart_qty }}"
                          data-min="{{ product.selected_or_first_available_variant.quantity_rule.min }}"
                          min="{{ product.selected_or_first_available_variant.quantity_rule.min }}"
                          {% if product.selected_or_first_available_variant.quantity_rule.max != null %}
                            data-max="{{ product.selected_or_first_available_variant.quantity_rule.max }}"
                            max="{{ product.selected_or_first_available_variant.quantity_rule.max }}"
                          {% endif %}
                          step="{{ product.selected_or_first_available_variant.quantity_rule.increment }}"
                          value="{{ product.selected_or_first_available_variant.quantity_rule.min }}"
                          form="{{ product_form_id }}"
                        >
                        <button class="quantity__button" name="plus" type="button">
                          <span class="visually-hidden">
                            {{- 'products.product.quantity.increase' | t: product: product.title | escape -}}
                          </span>
                          {% render 'icon-plus' %}
                        </button>
                      </quantity-input>
                      {%- liquid
                        assign volume_pricing_array = product.selected_or_first_available_variant.quantity_price_breaks | sort: 'quantity' | reverse
                        assign current_qty_for_volume_pricing = cart_qty | plus: product.selected_or_first_available_variant.quantity_rule.min
                        if cart_qty > 0
                          assign current_qty_for_volume_pricing = cart_qty | plus: product.selected_or_first_available_variant.quantity_rule.increment
                        endif
                      -%}
                      {%- if product.quantity_price_breaks_configured? -%}
                        <price-per-item
                          id="Price-Per-Item-{{ section.id }}"
                          data-section-id="{{ section.id }}"
                          data-variant-id="{{ product.selected_or_first_available_variant.id }}"
                        >
                          {%- if product.selected_or_first_available_variant.quantity_price_breaks.size > 0 -%}
                            {%- assign variant_price_compare = product.selected_or_first_available_variant.compare_at_price -%}
                            <div class="price-per-item">
                              {%- if variant_price_compare -%}
                                <dl class="price-per-item--current">
                                  <dt class="visually-hidden">
                                    {{ 'products.product.price.regular_price' | t }}
                                  </dt>
                                  <dd>
                                    <s class="variant-item__old-price">
                                      {{ variant_price_compare | money_with_currency }}
                                    </s>
                                  </dd>
                                </dl>
                              {%- endif -%}
                              {%- if current_qty_for_volume_pricing < volume_pricing_array.last.minimum_quantity -%}
                                {%- assign variant_price = product.selected_or_first_available_variant.price
                                  | money_with_currency
                                -%}
                                <span class="price-per-item--current">
                                  {{- 'products.product.volume_pricing.price_at_each' | t: price: variant_price -}}
                                </span>
                              {%- else -%}
                                {%- for price_break in volume_pricing_array -%}
                                  {%- if current_qty_for_volume_pricing >= price_break.minimum_quantity -%}
                                    {%- assign price_break_price = price_break.price | money_with_currency -%}
                                    <span class="price-per-item--current">
                                      {{-
                                        'products.product.volume_pricing.price_at_each'
                                        | t: price: price_break_price
                                      -}}
                                    </span>
                                    {%- break -%}
                                  {%- endif -%}
                                {%- endfor -%}
                              {%- endif -%}
                            </div>
                          {%- else -%}
                            {%- assign variant_price = product.selected_or_first_available_variant.price
                              | money_with_currency
                            -%}
                            {%- assign variant_price_compare = product.selected_or_first_available_variant.compare_at_price -%}
                            <div class="price-per-item">
                              {%- if variant_price_compare -%}
                                <dl class="price-per-item--current">
                                  <dt class="visually-hidden">
                                    {{ 'products.product.price.regular_price' | t }}
                                  </dt>
                                  <dd>
                                    <s class="variant-item__old-price">
                                      {{ variant_price_compare | money_with_currency }}
                                    </s>
                                  </dd>
                                  <dt class="visually-hidden">
                                    {{ 'products.product.price.sale_price' | t }}
                                  </dt>
                                  <dd>
                                    <span class="price-per-item--current">
                                      {{- 'products.product.volume_pricing.price_at_each' | t: price: variant_price -}}
                                    </span>
                                  </dd>
                                </dl>
                              {%- else -%}
                                <span class="price-per-item--current">
                                  {{- 'products.product.volume_pricing.price_at_each' | t: price: variant_price -}}
                                </span>
                              {%- endif -%}
                            </div>
                          {%- endif -%}
                        </price-per-item>
                      {%- endif -%}
                    </div>
                    <div class="quantity__rules caption" id="Quantity-Rules-{{ section.id }}">
                      {%- if product.selected_or_first_available_variant.quantity_rule.increment > 1 -%}
                        <span class="divider">
                          {{-
                            'products.product.quantity.multiples_of'
                            | t: quantity: product.selected_or_first_available_variant.quantity_rule.increment
                          -}}
                        </span>
                      {%- endif -%}
                      {%- if product.selected_or_first_available_variant.quantity_rule.min > 1 -%}
                        <span class="divider">
                          {{-
                            'products.product.quantity.minimum_of'
                            | t: quantity: product.selected_or_first_available_variant.quantity_rule.min
                          -}}
                        </span>
                      {%- endif -%}
                      {%- if product.selected_or_first_available_variant.quantity_rule.max != null -%}
                        <span class="divider">
                          {{-
                            'products.product.quantity.maximum_of'
                            | t: quantity: product.selected_or_first_available_variant.quantity_rule.max
                          -}}
                        </span>
                      {%- endif -%}
                    </div>
                    {%- if product.quantity_price_breaks_configured? -%}
                      <volume-pricing class="parent-display" id="Volume-{{ section.id }}">
                        {%- if product.selected_or_first_available_variant.quantity_price_breaks.size > 0 -%}
                          <span class="caption-large">{{ 'products.product.volume_pricing.title' | t }}</span>
                          <ul class="list-unstyled">
                            <li>
                              <span>{{ product.selected_or_first_available_variant.quantity_rule.min }}+</span>
                              {%- assign price = product.selected_or_first_available_variant.price
                                | money_with_currency
                              -%}
                              <span data-text="{{ 'products.product.volume_pricing.price_at_each' | t: price: variant_price }}">
                                {{ 'sections.quick_order_list.each' | t: money: price -}}
                              </span>
                            </li>
                            {%- for price_break in product.selected_or_first_available_variant.quantity_price_breaks -%}
                              {%- assign price_break_price = price_break.price | money_with_currency -%}
                              <li class="{%- if forloop.index >= 3 -%}show-more-item hidden{%- endif -%}">
                                <span>
                                  {{- price_break.minimum_quantity -}}
                                  <span aria-hidden="true">+</span></span
                                >
                                {%- assign price = price_break.price | money_with_currency -%}
                                <span data-text="{{ 'products.product.volume_pricing.price_at_each' | t: price: price_break_price }}">
                                  {{ 'sections.quick_order_list.each' | t: money: price -}}
                                </span>
                              </li>
                            {%- endfor -%}
                          </ul>
                          {%- if product.selected_or_first_available_variant.quantity_price_breaks.size >= 3 -%}
                            <show-more-button>
                              <button
                                class="button-show-more link underlined-link"
                                id="Show-More-{{ section.id }}"
                                type="button"
                              >
                                <span class="label-show-more label-text"
                                  ><span aria-hidden="true">+ </span>{{ 'products.facets.show_more' | t }}
                                </span>
                              </button>
                            </show-more-button>
                          {%- endif -%}
                        {%- endif -%}
                      </volume-pricing>
                    {%- endif -%}
                  </div>
                {%- when 'share' -%}
                  {% liquid
                    assign share_url = product.selected_variant.url | default: product.url | prepend: request.origin
                    render 'share-button', block: block, share_link: share_url
                  %}
                {%- when 'variant_picker' -%}
                  {% render 'product-variant-picker',
                    product: product,
                    block: block,
                    product_form_id: product_form_id
                  %}
                {%- when 'buy_buttons' -%}
                  {%- render 'buy-buttons',
                    block: block,
                    product: product,
                    product_form_id: product_form_id,
                    section_id: section.id
                  -%}
                {%- when 'custom_liquid' -%}
                  {{ block.settings.custom_liquid }}
                {%- when 'rating' -%}
                  {%- if product.metafields.reviews.rating.value != blank -%}
                    <div class="rating-wrapper">
                      {% liquid
                        assign rating_decimal = 0
                        assign decimal = product.metafields.reviews.rating.value.rating | modulo: 1
                        if decimal >= 0.3 and decimal <= 0.7
                          assign rating_decimal = 0.5
                        elsif decimal > 0.7
                          assign rating_decimal = 1
                        endif
                      %}
                      <div
                        class="rating"
                        role="img"
                        aria-label="{{ 'accessibility.star_reviews_info' | t: rating_value: product.metafields.reviews.rating.value, rating_max: product.metafields.reviews.rating.value.scale_max }}"
                      >
                        <span
                          aria-hidden="true"
                          class="rating-star"
                          style="--rating: {{ product.metafields.reviews.rating.value.rating | floor }}; --rating-max: {{ product.metafields.reviews.rating.value.scale_max }}; --rating-decimal: {{ rating_decimal }};"
                        ></span>
                      </div>
                      <p class="rating-text caption">
                        <span aria-hidden="true">
                          {{- product.metafields.reviews.rating.value }} /
                          {{ product.metafields.reviews.rating.value.scale_max -}}
                        </span>
                      </p>
                      <p class="rating-count caption">
                        <span aria-hidden="true">({{ product.metafields.reviews.rating_count }})</span>
                        <span class="visually-hidden">
                          {{- product.metafields.reviews.rating_count }}
                          {{ 'accessibility.total_reviews' | t -}}
                        </span>
                      </p>
                    </div>
                  {%- endif -%}
                {%- when 'icon-with-text' -%}
                  {% render 'icon-with-text', block: block %}
              {%- endcase -%}
            {%- endfor -%}
            <a
              {% if product == blank %}
                role="link" aria-disabled="true"
              {% else %}
                href="{{ product.url }}"
              {% endif %}
              class="link product__view-details animate-arrow"
            >
              {{ 'products.product.view_full_details' | t }}
              {% render 'icon-arrow' %}
            </a>
          </section>
        </div>
      </div>
      {% render 'product-media-modal', product: product, variant_images: variant_images %}
    </div>
  </section>



      </div>
  </div>
</div>

  <script src="{{ 'product-form.js' | asset_url }}" defer="defer"></script>
  {%- if section.settings.image_zoom == 'hover' -%}
    <script id="EnableZoomOnHover-featured" src="{{ 'magnify.js' | asset_url }}" defer="defer"></script>
  {%- endif %}
  {%- if request.design_mode -%}
    <script src="{{ 'theme-editor.js' | asset_url }}" defer="defer"></script>
  {%- endif -%}

  {%- if first_3d_model -%}
    <script type="application/json" id="ProductJSON-{{ product.id }}">
      {{ product.media | where: 'media_type', 'model' | json }}
    </script>
    <script src="{{ 'product-model.js' | asset_url }}" defer></script>
  {%- endif -%}

  {%- liquid
    if product.selected_or_first_available_variant.featured_media
      assign seo_media = product.selected_or_first_available_variant.featured_media
    else
      assign seo_media = product.featured_media
    endif
  -%}

  <script type="application/ld+json">
    {{ product | structured_data }}
  </script>

  {% if product.media.size > 0 %}
    <script src="{{ 'product-modal.js' | asset_url }}" defer="defer"></script>
    <script src="{{ 'media-gallery.js' | asset_url }}" defer="defer"></script>
  {% endif %}
</product-info>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script>
    $(document).ready(function() {
    var $modal = $('#newsletterPopup');
    var $body = $('body');
    var $span = $('.custom-modal-close');

    // Function to show the modal after 5 seconds
    function showModal() {
        $modal.css('display', 'flex');
        $body.addClass("scroll-locked");
    }

    // Show the modal after 5 seconds of page load
    setTimeout(showModal, 5000);

    $span.on('click', closeModal);

    // Close the modal when clicking outside of it
    $(window).on('click', function(event) {
        if ($(event.target).is($modal)) {
            closeModal();
        }
    });

    // Function to close the modal
    function closeModal() {
        $modal.hide();
        $body.removeClass("scroll-locked");
    }
});
  </script>

{% schema %}
{
  "name": "Featured Product Popup",
  "tag": "section",
  "class": "section section-featured-product",
  "disabled_on": {
    "groups": ["header", "footer"]
  },
  "blocks": [
    {
      "type": "@app"
    },
    {
      "type": "text",
      "name": "t:sections.featured-product.blocks.text.name",
      "settings": [
        {
          "type": "inline_richtext",
          "id": "text",
          "default": "t:sections.featured-product.blocks.text.settings.text.default",
          "label": "t:sections.featured-product.blocks.text.settings.text.label"
        },
        {
          "type": "select",
          "id": "text_style",
          "options": [
            {
              "value": "body",
              "label": "t:sections.featured-product.blocks.text.settings.text_style.options__1.label"
            },
            {
              "value": "subtitle",
              "label": "t:sections.featured-product.blocks.text.settings.text_style.options__2.label"
            },
            {
              "value": "uppercase",
              "label": "t:sections.featured-product.blocks.text.settings.text_style.options__3.label"
            }
          ],
          "default": "body",
          "label": "t:sections.featured-product.blocks.text.settings.text_style.label"
        }
      ]
    },
    {
      "type": "title",
      "name": "t:sections.featured-product.blocks.title.name",
      "limit": 1,
      "settings": [
        {
          "type": "select",
          "id": "heading_size",
          "options": [
            {
              "value": "h2",
              "label": "t:sections.all.heading_size.options__1.label"
            },
            {
              "value": "h1",
              "label": "t:sections.all.heading_size.options__2.label"
            },
            {
              "value": "h0",
              "label": "t:sections.all.heading_size.options__3.label"
            },
            {
              "value": "hxl",
              "label": "t:sections.all.heading_size.options__4.label"
            },
            {
              "value": "hxxl",
              "label": "t:sections.all.heading_size.options__5.label"
            }
          ],
          "default": "h1",
          "label": "t:sections.all.heading_size.label"
        }
      ]
    },
    {
      "type": "price",
      "name": "t:sections.featured-product.blocks.price.name",
      "limit": 1
    },
    {
      "type": "sku",
      "name": "t:sections.featured-product.blocks.sku.name",
      "limit": 1,
      "settings": [
        {
          "type": "select",
          "id": "text_style",
          "options": [
            {
              "value": "body",
              "label": "t:sections.featured-product.blocks.sku.settings.text_style.options__1.label"
            },
            {
              "value": "subtitle",
              "label": "t:sections.featured-product.blocks.sku.settings.text_style.options__2.label"
            },
            {
              "value": "uppercase",
              "label": "t:sections.featured-product.blocks.sku.settings.text_style.options__3.label"
            }
          ],
          "default": "body",
          "label": "t:sections.featured-product.blocks.sku.settings.text_style.label"
        }
      ]
    },
    {
      "type": "quantity_selector",
      "name": "t:sections.featured-product.blocks.quantity_selector.name",
      "limit": 1
    },
    {
      "type": "variant_picker",
      "name": "t:sections.featured-product.blocks.variant_picker.name",
      "limit": 1,
      "settings": [
        {
          "type": "select",
          "id": "picker_type",
          "options": [
            {
              "value": "dropdown",
              "label": "t:sections.featured-product.blocks.variant_picker.settings.picker_type.options__1.label"
            },
            {
              "value": "button",
              "label": "t:sections.featured-product.blocks.variant_picker.settings.picker_type.options__2.label"
            }
          ],
          "default": "button",
          "label": "t:sections.featured-product.blocks.variant_picker.settings.picker_type.label"
        },
        {
          "id": "swatch_shape",
          "label": "t:sections.featured-product.blocks.variant_picker.settings.swatch_shape.label",
          "type": "select",
          "info": "t:sections.featured-product.blocks.variant_picker.settings.swatch_shape.info",
          "options": [
            {
              "value": "circle",
              "label": "t:sections.featured-product.blocks.variant_picker.settings.swatch_shape.options__1.label"
            },
            {
              "value": "square",
              "label": "t:sections.featured-product.blocks.variant_picker.settings.swatch_shape.options__2.label"
            },
            {
              "value": "none",
              "label": "t:sections.main-product.blocks.variant_picker.settings.swatch_shape.options__3.label"
            }
          ],
          "default": "circle"
        }
      ]
    },
    {
      "type": "buy_buttons",
      "name": "t:sections.featured-product.blocks.buy_buttons.name",
      "limit": 1,
      "settings": [
        {
          "type": "checkbox",
          "id": "show_dynamic_checkout",
          "default": true,
          "label": "t:sections.featured-product.blocks.buy_buttons.settings.show_dynamic_checkout.label",
          "info": "t:sections.featured-product.blocks.buy_buttons.settings.show_dynamic_checkout.info"
        },
        {
          "type": "checkbox",
          "id": "show_gift_card_recipient",
          "default": true,
          "label": "t:sections.main-product.blocks.buy_buttons.settings.show_gift_card_recipient.label",
          "info": "t:sections.main-product.blocks.buy_buttons.settings.show_gift_card_recipient.info"
        }
      ]
    },
    {
      "type": "share",
      "name": "t:sections.featured-product.blocks.share.name",
      "limit": 1,
      "settings": [
        {
          "type": "text",
          "id": "share_label",
          "label": "t:sections.featured-product.blocks.share.settings.text.label",
          "default": "t:sections.featured-product.blocks.share.settings.text.default"
        },
        {
          "type": "paragraph",
          "content": "t:sections.featured-product.blocks.share.settings.featured_image_info.content"
        },
        {
          "type": "paragraph",
          "content": "t:sections.featured-product.blocks.share.settings.title_info.content"
        }
      ]
    },
    {
      "type": "custom_liquid",
      "name": "t:sections.custom-liquid.name",
      "settings": [
        {
          "type": "liquid",
          "id": "custom_liquid",
          "label": "t:sections.custom-liquid.settings.custom_liquid.label",
          "info": "t:sections.custom-liquid.settings.custom_liquid.info"
        }
      ]
    },
    {
      "type": "rating",
      "name": "t:sections.featured-product.blocks.rating.name",
      "limit": 1,
      "settings": [
        {
          "type": "paragraph",
          "content": "t:sections.featured-product.blocks.rating.settings.paragraph.content"
        }
      ]
    },
    {
      "type": "icon-with-text",
      "name": "t:sections.main-product.blocks.icon_with_text.name",
      "settings": [
        {
          "type": "select",
          "id": "layout",
          "options": [
            {
              "value": "horizontal",
              "label": "t:sections.main-product.blocks.icon_with_text.settings.layout.options__1.label"
            },
            {
              "value": "vertical",
              "label": "t:sections.main-product.blocks.icon_with_text.settings.layout.options__2.label"
            }
          ],
          "default": "horizontal",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.layout.label"
        },
        {
          "type": "header",
          "content": "t:sections.main-product.blocks.icon_with_text.settings.content.label",
          "info": "t:sections.main-product.blocks.icon_with_text.settings.content.info"
        },
        {
          "type": "select",
          "id": "icon_1",
          "options": [
            {
              "value": "none",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__1.label"
            },
            {
              "value": "apple",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__2.label"
            },
            {
              "value": "banana",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__3.label"
            },
            {
              "value": "bottle",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__4.label"
            },
            {
              "value": "box",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__5.label"
            },
            {
              "value": "carrot",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__6.label"
            },
            {
              "value": "chat_bubble",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__7.label"
            },
            {
              "value": "check_mark",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__8.label"
            },
            {
              "value": "clipboard",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__9.label"
            },
            {
              "value": "dairy",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__10.label"
            },
            {
              "value": "dairy_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__11.label"
            },
            {
              "value": "dryer",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__12.label"
            },
            {
              "value": "eye",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__13.label"
            },
            {
              "value": "fire",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__14.label"
            },
            {
              "value": "gluten_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__15.label"
            },
            {
              "value": "heart",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__16.label"
            },
            {
              "value": "iron",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__17.label"
            },
            {
              "value": "leaf",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__18.label"
            },
            {
              "value": "leather",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__19.label"
            },
            {
              "value": "lightning_bolt",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__20.label"
            },
            {
              "value": "lipstick",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__21.label"
            },
            {
              "value": "lock",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__22.label"
            },
            {
              "value": "map_pin",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__23.label"
            },
            {
              "value": "nut_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__24.label"
            },
            {
              "value": "pants",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__25.label"
            },
            {
              "value": "paw_print",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__26.label"
            },
            {
              "value": "pepper",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__27.label"
            },
            {
              "value": "perfume",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__28.label"
            },
            {
              "value": "plane",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__29.label"
            },
            {
              "value": "plant",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__30.label"
            },
            {
              "value": "price_tag",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__31.label"
            },
            {
              "value": "question_mark",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__32.label"
            },
            {
              "value": "recycle",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__33.label"
            },
            {
              "value": "return",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__34.label"
            },
            {
              "value": "ruler",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__35.label"
            },
            {
              "value": "serving_dish",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__36.label"
            },
            {
              "value": "shirt",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__37.label"
            },
            {
              "value": "shoe",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__38.label"
            },
            {
              "value": "silhouette",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__39.label"
            },
            {
              "value": "snowflake",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__40.label"
            },
            {
              "value": "star",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__41.label"
            },
            {
              "value": "stopwatch",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__42.label"
            },
            {
              "value": "truck",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__43.label"
            },
            {
              "value": "washing",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__44.label"
            }
          ],
          "default": "heart",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.icon_1.label"
        },
        {
          "type": "image_picker",
          "id": "image_1",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.image_1.label"
        },
        {
          "type": "inline_richtext",
          "id": "heading_1",
          "default": "t:sections.main-product.blocks.icon_with_text.settings.heading_1.default",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.heading_1.label",
          "info": "t:sections.main-product.blocks.icon_with_text.settings.heading.info"
        },
        {
          "type": "select",
          "id": "icon_2",
          "options": [
            {
              "value": "none",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__1.label"
            },
            {
              "value": "apple",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__2.label"
            },
            {
              "value": "banana",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__3.label"
            },
            {
              "value": "bottle",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__4.label"
            },
            {
              "value": "box",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__5.label"
            },
            {
              "value": "carrot",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__6.label"
            },
            {
              "value": "chat_bubble",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__7.label"
            },
            {
              "value": "check_mark",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__8.label"
            },
            {
              "value": "clipboard",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__9.label"
            },
            {
              "value": "dairy",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__10.label"
            },
            {
              "value": "dairy_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__11.label"
            },
            {
              "value": "dryer",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__12.label"
            },
            {
              "value": "eye",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__13.label"
            },
            {
              "value": "fire",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__14.label"
            },
            {
              "value": "gluten_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__15.label"
            },
            {
              "value": "heart",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__16.label"
            },
            {
              "value": "iron",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__17.label"
            },
            {
              "value": "leaf",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__18.label"
            },
            {
              "value": "leather",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__19.label"
            },
            {
              "value": "lightning_bolt",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__20.label"
            },
            {
              "value": "lipstick",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__21.label"
            },
            {
              "value": "lock",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__22.label"
            },
            {
              "value": "map_pin",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__23.label"
            },
            {
              "value": "nut_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__24.label"
            },
            {
              "value": "pants",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__25.label"
            },
            {
              "value": "paw_print",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__26.label"
            },
            {
              "value": "pepper",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__27.label"
            },
            {
              "value": "perfume",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__28.label"
            },
            {
              "value": "plane",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__29.label"
            },
            {
              "value": "plant",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__30.label"
            },
            {
              "value": "price_tag",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__31.label"
            },
            {
              "value": "question_mark",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__32.label"
            },
            {
              "value": "recycle",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__33.label"
            },
            {
              "value": "return",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__34.label"
            },
            {
              "value": "ruler",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__35.label"
            },
            {
              "value": "serving_dish",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__36.label"
            },
            {
              "value": "shirt",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__37.label"
            },
            {
              "value": "shoe",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__38.label"
            },
            {
              "value": "silhouette",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__39.label"
            },
            {
              "value": "snowflake",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__40.label"
            },
            {
              "value": "star",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__41.label"
            },
            {
              "value": "stopwatch",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__42.label"
            },
            {
              "value": "truck",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__43.label"
            },
            {
              "value": "washing",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__44.label"
            }
          ],
          "default": "return",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.icon_2.label"
        },
        {
          "type": "image_picker",
          "id": "image_2",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.image_2.label"
        },
        {
          "type": "inline_richtext",
          "id": "heading_2",
          "default": "t:sections.main-product.blocks.icon_with_text.settings.heading_2.default",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.heading_2.label",
          "info": "t:sections.main-product.blocks.icon_with_text.settings.heading.info"
        },
        {
          "type": "select",
          "id": "icon_3",
          "options": [
            {
              "value": "none",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__1.label"
            },
            {
              "value": "apple",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__2.label"
            },
            {
              "value": "banana",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__3.label"
            },
            {
              "value": "bottle",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__4.label"
            },
            {
              "value": "box",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__5.label"
            },
            {
              "value": "carrot",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__6.label"
            },
            {
              "value": "chat_bubble",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__7.label"
            },
            {
              "value": "check_mark",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__8.label"
            },
            {
              "value": "clipboard",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__9.label"
            },
            {
              "value": "dairy",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__10.label"
            },
            {
              "value": "dairy_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__11.label"
            },
            {
              "value": "dryer",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__12.label"
            },
            {
              "value": "eye",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__13.label"
            },
            {
              "value": "fire",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__14.label"
            },
            {
              "value": "gluten_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__15.label"
            },
            {
              "value": "heart",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__16.label"
            },
            {
              "value": "iron",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__17.label"
            },
            {
              "value": "leaf",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__18.label"
            },
            {
              "value": "leather",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__19.label"
            },
            {
              "value": "lightning_bolt",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__20.label"
            },
            {
              "value": "lipstick",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__21.label"
            },
            {
              "value": "lock",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__22.label"
            },
            {
              "value": "map_pin",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__23.label"
            },
            {
              "value": "nut_free",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__24.label"
            },
            {
              "value": "pants",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__25.label"
            },
            {
              "value": "paw_print",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__26.label"
            },
            {
              "value": "pepper",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__27.label"
            },
            {
              "value": "perfume",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__28.label"
            },
            {
              "value": "plane",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__29.label"
            },
            {
              "value": "plant",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__30.label"
            },
            {
              "value": "price_tag",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__31.label"
            },
            {
              "value": "question_mark",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__32.label"
            },
            {
              "value": "recycle",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__33.label"
            },
            {
              "value": "return",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__34.label"
            },
            {
              "value": "ruler",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__35.label"
            },
            {
              "value": "serving_dish",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__36.label"
            },
            {
              "value": "shirt",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__37.label"
            },
            {
              "value": "shoe",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__38.label"
            },
            {
              "value": "silhouette",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__39.label"
            },
            {
              "value": "snowflake",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__40.label"
            },
            {
              "value": "star",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__41.label"
            },
            {
              "value": "stopwatch",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__42.label"
            },
            {
              "value": "truck",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__43.label"
            },
            {
              "value": "washing",
              "label": "t:sections.main-product.blocks.collapsible_tab.settings.icon.options__44.label"
            }
          ],
          "default": "truck",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.icon_3.label"
        },
        {
          "type": "image_picker",
          "id": "image_3",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.image_3.label"
        },
        {
          "type": "inline_richtext",
          "id": "heading_3",
          "default": "t:sections.main-product.blocks.icon_with_text.settings.heading_3.default",
          "label": "t:sections.main-product.blocks.icon_with_text.settings.heading_3.label",
          "info": "t:sections.main-product.blocks.icon_with_text.settings.heading.info"
        }
      ]
    }
  ],
  "settings": [
    {
      "type": "product",
      "id": "product",
      "label": "t:sections.featured-product.settings.product.label"
    },
    {
      "type": "color_scheme",
      "id": "color_scheme",
      "label": "t:sections.all.colors.label",
      "default": "scheme-1"
    },
    {
      "type": "checkbox",
      "id": "secondary_background",
      "default": false,
      "label": "t:sections.featured-product.settings.secondary_background.label"
    },
    {
      "type": "header",
      "content": "t:sections.featured-product.settings.header.content",
      "info": "t:sections.featured-product.settings.header.info"
    },
    {
      "type": "select",
      "id": "media_size",
      "options": [
        {
          "value": "small",
          "label": "t:sections.main-product.settings.media_size.options__1.label"
        },
        {
          "value": "medium",
          "label": "t:sections.main-product.settings.media_size.options__2.label"
        },
        {
          "value": "large",
          "label": "t:sections.main-product.settings.media_size.options__3.label"
        }
      ],
      "default": "medium",
      "label": "t:sections.main-product.settings.media_size.label",
      "info": "t:sections.main-product.settings.media_size.info"
    },
    {
      "type": "checkbox",
      "id": "constrain_to_viewport",
      "default": true,
      "label": "t:sections.main-product.settings.constrain_to_viewport.label"
    },
    {
      "type": "select",
      "id": "media_fit",
      "options": [
        {
          "value": "contain",
          "label": "t:sections.main-product.settings.media_fit.options__1.label"
        },
        {
          "value": "cover",
          "label": "t:sections.main-product.settings.media_fit.options__2.label"
        }
      ],
      "default": "contain",
      "label": "t:sections.main-product.settings.media_fit.label"
    },
    {
      "type": "select",
      "id": "media_position",
      "options": [
        {
          "value": "left",
          "label": "t:sections.featured-product.settings.media_position.options__1.label"
        },
        {
          "value": "right",
          "label": "t:sections.featured-product.settings.media_position.options__2.label"
        }
      ],
      "default": "left",
      "label": "t:sections.featured-product.settings.media_position.label",
      "info": "t:sections.featured-product.settings.media_position.info"
    },
    {
      "type": "select",
      "id": "image_zoom",
      "options": [
        {
          "value": "lightbox",
          "label": "t:sections.main-product.settings.image_zoom.options__1.label"
        },
        {
          "value": "hover",
          "label": "t:sections.main-product.settings.image_zoom.options__2.label"
        },
        {
          "value": "none",
          "label": "t:sections.main-product.settings.image_zoom.options__3.label"
        }
      ],
      "default": "lightbox",
      "label": "t:sections.main-product.settings.image_zoom.label",
      "info": "t:sections.main-product.settings.image_zoom.info"
    },
    {
      "type": "checkbox",
      "id": "hide_variants",
      "default": false,
      "label": "t:sections.main-product.settings.hide_variants.label"
    },
    {
      "type": "checkbox",
      "id": "enable_video_looping",
      "default": false,
      "label": "t:sections.featured-product.settings.enable_video_looping.label"
    },
    {
      "type": "header",
      "content": "t:sections.all.padding.section_padding_heading"
    },
    {
      "type": "range",
      "id": "padding_top",
      "min": 0,
      "max": 100,
      "step": 4,
      "unit": "px",
      "label": "t:sections.all.padding.padding_top",
      "default": 36
    },
    {
      "type": "range",
      "id": "padding_bottom",
      "min": 0,
      "max": 100,
      "step": 4,
      "unit": "px",
      "label": "t:sections.all.padding.padding_bottom",
      "default": 36
    }
  ],
  "presets": [
    {
      "name": "Featured Product Popup",
      "blocks": [
        {
          "type": "text",
          "settings": {
            "text": "{{ section.settings.product.vendor }}",
            "text_style": "uppercase"
          }
        },
        {
          "type": "title"
        },
        {
          "type": "price"
        },
        {
          "type": "variant_picker"
        },
        {
          "type": "quantity_selector"
        },
        {
          "type": "buy_buttons"
        },
        {
          "type": "share"
        }
      ]
    }
  ]
}
{% endschema %}
​

 

 

  • Then, go to Theme -> Customize -> Add section -> Featured Product Popup. Select the product that you want.

    Untitled-2.png

     
Found our answer helpful? If so, Don't forget to show your support by liking and accepting the solution.
Looking for more help and expert consultation? Feel free to contact us at Shopify Expert or visit our website www.devmontdigital.io
Hire us for your project by simply emailing us at sales@devmontdigital.io
Fishmoments
Tourist
6 0 1

 

Wow, it's cool and exactly what I want.

Some details need to be optimized to make the overall effect better.

1. Here do not need to support Zoom but need to connect the product detail page
2. Replace the button here with the Add to Cart button.
3. Do not need to provide a choice of payment methods, but provide a link to the product details page of the button, the text with View Details
4. Remove the blank area

Fishmoments_1-1719373504761.png

1. Here do not need to support Zoom but need to connect the product detail page
2. Reduce the blank area
3. Replace the button here with a button to add a shopping cart
4. Do not need to provide a choice of payment methods, but to provide a link to the product details page of the button, the text with View Details
5. Remove the blank area

Fishmoments_2-1719380511721.png

 

My store link is https://fishmoments.com.au/

 

Thank you very much for helping me again!

 

chrisl007
Visitor
1 0 0

Thank you for the code Devmont-Digital. 🙂 How should the code be to show a featured collection as a popup? I want to show a collection popup on my cart page.