{{ 'section-product-v3.css' | asset_url | stylesheet_tag }}

<div {% render 'section-attr', style: 'z-index:98' %}>
  {% render 'section-bg-image' %}
  <xo-container {% render 'section-layout' %}>
    <xo-animate xo-cascade>
      {% render 'section-heading', title: section.settings.heading_title, align: section.settings.heading_align %}
    </xo-animate>
    <xo-grid style='--xs: 1; --md: 2' class='product-v16__grid'>
      <xo-animate
        xo-cascade
        class='product-v16__banner'
        {% if section.settings.reverse == true %}
          style='--order-xs: 1'
        {% endif %}
      >
        <a href='{{ section.settings.banner_link }}' class='{% render 'hover-style' %} product-v16__banner-image'>
          {% render 'image', image: section.settings.banner_image, media_aspect_ratio: section.settings.aspect_ratio %}
        </a>
        <div class='product-v16__content product-v16__content--{{ section.settings.title_align }}'>
          <div class="product-v16__content-text">
            <h3 class='product-v16__title' style='--fz:{{ section.settings.font_size }}rem'>{{ section.settings.heading }}</h3>
          <div class='product-v16__description'>{{ section.settings.description }}</div>
          </div>
          <div class='product-v16__button'>
            {% render 'button',
              text: section.settings.button_text,
              link: section.settings.banner_link,
              mode: section.settings.button_mode,
              style: section.settings.button_style,
              size: section.settings.button_size,
              radius: section.settings.button_radius,
              padding: section.settings.button_padding
            %}
          </div>
        </div>
      </xo-animate>
      <xo-grid style='--xs: 2; --md: 2'>
        {% for product in section.settings.collection.products limit: 4 %}
          {%- assign placeholder_image_index = forloop.index0 | modulo: 4 | plus: 1 -%}
          {%- assign placeholder_image = 'product-apparel-' | append: placeholder_image_index -%}
          {% if section.settings.distinct_color_scheme == true %}
            {% assign color_scheme_chosen = section.settings.product_card_color_scheme %}
          {% else %}
            {% assign color_scheme_chosen = settings.card_color_scheme %}
          {% endif %}
          <div class='product-v16__row-span'>
            {% render 'product-card-styles',
              product_card_style: settings.product_card_style_layout,
              product: product,
              variant_modal_placement: settings.variant_modal_placement,
              show_image: settings.product_card_show_image,
              product_card_media_type: settings.product_card_media_type,
              show_vendor: settings.product_card_show_vendor,
              show_description: settings.product_card_show_description,
              show_quick_add: settings.product_card_show_quick_add,
              show_quick_view: settings.product_card_show_quick_view,
              show_wishlist: settings.product_card_show_wishlist,
              show_price: settings.product_card_show_price,
              show_badge: settings.product_card_show_badge,
              media_aspect_ratio: settings.product_card_aspect_ratio,
              color_scheme: color_scheme_chosen,
              placeholder_image: placeholder_image
            %}
          </div>
        {% endfor %}
      </xo-grid>
    </xo-grid>
  </xo-container>
</div>

{% schema %}
{
  "name": "t:sections.product_v3.name",
  "tag": "section",
  "class": "section",
  "settings": [
    {
      "type": "select",
      "id": "width",
      "label": "t:sections.all.width.label",
      "default": "box",
      "options": [
        {
          "value": "box",
          "label": "t:sections.all.width.options__1.label"
        },
        {
          "value": "wide",
          "label": "t:sections.all.width.options__2.label"
        },
        {
          "value": "fullwidth",
          "label": "t:sections.all.width.options__3.label"
        }
      ]
    },
    {
      "type": "number",
      "id": "fullwidth_margin",
      "label": "t:sections.all.fullwidth_margin.label",
      "default": 0,
      "visible_if": "{{ section.settings.width == 'fullwidth' }}"
    },
    {
      "type": "text",
      "id": "heading_title",
      "label": "t:sections.all.title.label",
      "default": "Section title"
    },
    {
      "type": "select",
      "id": "heading_align",
      "label": "t:sections.all.heading_align.label",
      "default": "center",
      "options": [
        {
          "value": "left",
          "label": "t:sections.all.heading_align.option__1.label"
        },
        {
          "value": "center",
          "label": "t:sections.all.heading_align.option__2.label"
        },
        {
          "value": "right",
          "label": "t:sections.all.heading_align.option__3.label"
        }
      ]
    },
    {
      "type": "checkbox",
      "id": "reverse",
      "label": "t:sections.product_v3.settings.reverse.label",
      "default": false
    },
    {
      "type": "header",
      "content": "t:sections.product_v3.settings.heading_box.content"
    },
    {
      "type": "text",
      "id": "heading",
      "label": "t:sections.product_v3.settings.heading.label",
      "default": "Title content"
    },
    {
      "type": "range",
      "id": "font_size",
      "min": 1,
      "max": 5,
      "step": 0.1,
      "unit": "rem",
      "label": "t:sections.product_v3.settings.font_size.label",
      "default": 3
    },
    {
      "type": "text",
      "id": "description",
      "label": "t:sections.product_v3.settings.description.label",
      "default": "description"
    },
    {
      "type": "select",
      "id": "title_align",
      "label": "t:sections.product_v3.settings.title_align.label",
      "options": [
        {
          "value": "left",
          "label": "t:sections.product_v3.settings.title_align.option_1.label"
        },
        {
          "value": "center",
          "label": "t:sections.product_v3.settings.title_align.option_2.label"
        },
        {
          "value": "right",
          "label": "t:sections.product_v3.settings.title_align.option_3.label"
        }
      ],
      "default": "center"
    },
    {
      "type": "collection",
      "id": "collection",
      "label": "t:sections.product_v3.settings.collection.label"
    },
    {
      "type": "header",
      "content": "t:sections.product_v3.settings.color_scheme_heading.content"
    },
    {
      "type": "checkbox",
      "id": "distinct_color_scheme",
      "label": "t:sections.product_v3.settings.distinct_color_scheme.label",
      "default": false
    },
    {
      "type": "color_scheme",
      "id": "product_card_color_scheme",
      "default": "scheme_1",
      "label": "t:sections.product_v3.settings.color_scheme.label"
    },
    {
      "type": "header",
      "content": "t:sections.product_v3.settings.banner_header.content"
    },
    {
      "type": "image_picker",
      "id": "banner_image",
      "label": "t:sections.product_v3.settings.banner_image.label"
    },
    {
      "type": "text",
      "id": "aspect_ratio",
      "label": "t:sections.product_v3.settings.aspect_ratio.label",
      "default": "1/1"
    },
    {
      "type": "url",
      "id": "banner_link",
      "label": "t:sections.product_v3.settings.banner_link.label"
    },
    {
      "type": "select",
      "id": "hover",
      "label": "t:sections.all.hover.label",
      "default": "scale_up",
      "options": [
        {
          "value": "scale_up",
          "label": "t:sections.all.hover.option__1.label"
        },
        {
          "value": "scale_down",
          "label": "t:sections.all.hover.option__2.label"
        },
        {
          "value": "rotate",
          "label": "t:sections.all.hover.option__3.label"
        },
        {
          "value": "slide_up",
          "label": "t:sections.all.hover.option__4.label"
        },
        {
          "value": "ripple",
          "label": "t:sections.all.hover.option__5.label"
        },
        {
          "value": "black_white",
          "label": "t:sections.all.hover.option__6.label"
        },
        {
          "value": "shake",
          "label": "t:sections.all.hover.option__7.label"
        }
      ]
    },
    {
      "type": "header",
      "content": "t:sections.all.button_heading.content"
    },
    {
      "type": "text",
      "id": "button_text",
      "label": "t:sections.all.button_text.label",
      "default": "ALL PRODUCTS"
    },
    {
      "type": "select",
      "id": "button_mode",
      "label": "t:sections.all.button_mode.label",
      "options": [
        {
          "value": "light",
          "label": "t:sections.all.button_mode.option__1.label"
        },
        {
          "value": "dark",
          "label": "t:sections.all.button_mode.option__2.label"
        },
        {
          "value": "accent",
          "label": "t:sections.all.button_mode.option__3.label"
        }
      ],
      "default": "light"
    },
    {
      "type": "select",
      "id": "button_style",
      "label": "t:sections.all.button_style.label",
      "options": [
        {
          "value": "primary",
          "label": "t:sections.all.button_style.option__1.label"
        },
        {
          "value": "secondary",
          "label": "t:sections.all.button_style.option__2.label"
        },
        {
          "value": "tertiary",
          "label": "t:sections.all.button_style.option__3.label"
        },
        {
          "value": "link",
          "label": "t:sections.all.button_style.option__4.label"
        }
      ],
      "default": "secondary"
    },
    {
      "type": "select",
      "id": "button_size",
      "label": "t:sections.all.button_size.label",
      "options": [
        {
          "value": "xs",
          "label": "t:sections.all.button_size.option__0.label"
        },
        {
          "value": "sm",
          "label": "t:sections.all.button_size.option__1.label"
        },
        {
          "value": "md",
          "label": "t:sections.all.button_size.option__2.label"
        },
        {
          "value": "lg",
          "label": "t:sections.all.button_size.option__3.label"
        }
      ],
      "default": "sm"
    },
    {
      "type": "range",
      "id": "button_radius",
      "label": "t:sections.all.button_radius.label",
      "max": 4,
      "min": 0,
      "step": 0.2,
      "unit": "rem",
      "default": 0.8
    },
    {
      "type": "range",
      "id": "button_padding",
      "label": "t:sections.all.button_padding.label",
      "info": "t:sections.all.button_padding.info",
      "max": 10,
      "min": 0,
      "step": 0.2,
      "unit": "rem",
      "default": 1.4
    },
    {
      "type": "header",
      "content": "t:sections.all.heading.content"
    },
    {
      "type": "color_scheme",
      "id": "color_scheme",
      "label": "t:sections.all.color_scheme.label"
    },
    {
      "type": "select",
      "id": "background_type",
      "label": "t:sections.all.background_type.label",
      "options": [
        {
          "value": "color",
          "label": "t:sections.all.background_type.option__1.label"
        },
        {
          "value": "gradient",
          "label": "t:sections.all.background_type.option__2.label"
        },
        {
          "value": "image",
          "label": "t:sections.all.background_type.option__3.label"
        },
        {
          "value": "video",
          "label": "t:sections.all.background_type.option__4.label"
        }
      ],
      "default": "color"
    },
    {
      "type": "color",
      "id": "background_color",
      "label": "t:sections.all.background_color.label",
      "alpha": true,
      "visible_if": "{{ section.settings.background_type == 'color' }}"
    },
    {
      "type": "color_background",
      "id": "background_gradient",
      "label": "t:sections.all.background_gradient.label",
      "visible_if": "{{ section.settings.background_type == 'gradient' }}"
    },
    {
      "type": "image_picker",
      "id": "background_image_desktop",
      "label": "t:sections.all.background_image_desktop.label",
      "visible_if": "{{ section.settings.background_type == 'image' }}"
    },
    {
      "type": "image_picker",
      "id": "background_image_mobile",
      "label": "t:sections.all.background_image_mobile.label",
      "visible_if": "{{ section.settings.background_type == 'image' }}"
    },
    {
      "type": "checkbox",
      "id": "use_parallax",
      "label": "t:sections.all.use_parallax.label",
      "default": true,
      "visible_if": "{{ section.settings.background_type == 'image' }}"
    },
    {
      "type": "select",
      "id": "background_image_animation",
      "label": "t:sections.all.animation.label",
      "options": [
        {
          "value": "none",
          "label": "t:sections.all.animation.option__0.label"
        },
        {
          "value": "fade",
          "label": "t:sections.all.animation.option__1.label"
        },
        {
          "value": "fade-up",
          "label": "t:sections.all.animation.option__2.label"
        },
        {
          "value": "fade-down",
          "label": "t:sections.all.animation.option__3.label"
        },
        {
          "value": "fade-left",
          "label": "t:sections.all.animation.option__4.label"
        },
        {
          "value": "fade-right",
          "label": "t:sections.all.animation.option__5.label"
        },
        {
          "value": "zoom-in",
          "label": "t:sections.all.animation.option__6.label"
        },
        {
          "value": "zoom-out",
          "label": "t:sections.all.animation.option__7.label"
        },
        {
          "value": "rotate-left-up",
          "label": "t:sections.all.animation.option__8.label"
        },
        {
          "value": "rotate-right-up",
          "label": "t:sections.all.animation.option__9.label"
        },
        {
          "value": "snake-up",
          "label": "t:sections.all.animation.option__10.label"
        },
        {
          "value": "snake-down",
          "label": "t:sections.all.animation.option__11.label"
        },
        {
          "value": "snake-left",
          "label": "t:sections.all.animation.option__12.label"
        },
        {
          "value": "snake-right",
          "label": "t:sections.all.animation.option__13.label"
        },
        {
          "value": "3d-up",
          "label": "t:sections.all.animation.option__14.label"
        }
      ],
      "default": "none",
      "visible_if": "{{ section.settings.background_type == 'image' }}"
    },
    {
      "type": "textarea",
      "id": "background_video_url",
      "label": "t:sections.all.background_video_url.label",
      "visible_if": "{{ section.settings.background_type == 'video' }}"
    },
    {
      "type": "select",
      "id": "background_video_animation",
      "label": "t:sections.all.animation.label",
      "options": [
        {
          "value": "none",
          "label": "t:sections.all.animation.option__0.label"
        },
        {
          "value": "fade",
          "label": "t:sections.all.animation.option__1.label"
        },
        {
          "value": "fade-up",
          "label": "t:sections.all.animation.option__2.label"
        },
        {
          "value": "fade-down",
          "label": "t:sections.all.animation.option__3.label"
        },
        {
          "value": "fade-left",
          "label": "t:sections.all.animation.option__4.label"
        },
        {
          "value": "fade-right",
          "label": "t:sections.all.animation.option__5.label"
        },
        {
          "value": "zoom-in",
          "label": "t:sections.all.animation.option__6.label"
        },
        {
          "value": "zoom-out",
          "label": "t:sections.all.animation.option__7.label"
        },
        {
          "value": "rotate-left-up",
          "label": "t:sections.all.animation.option__8.label"
        },
        {
          "value": "rotate-right-up",
          "label": "t:sections.all.animation.option__9.label"
        },
        {
          "value": "snake-up",
          "label": "t:sections.all.animation.option__10.label"
        },
        {
          "value": "snake-down",
          "label": "t:sections.all.animation.option__11.label"
        },
        {
          "value": "snake-left",
          "label": "t:sections.all.animation.option__12.label"
        },
        {
          "value": "snake-right",
          "label": "t:sections.all.animation.option__13.label"
        },
        {
          "value": "3d-up",
          "label": "t:sections.all.animation.option__14.label"
        }
      ],
      "default": "none",
      "visible_if": "{{ section.settings.background_type == 'video' }}"
    },
    {
      "type": "color",
      "id": "background_overlay",
      "label": "t:sections.all.background_overlay.label",
      "alpha": true,
      "visible_if": "{{ section.settings.background_type == 'image' or section.settings.background_type == 'video' }}"
    },
    {
      "type": "number",
      "id": "background_margin",
      "label": "t:sections.all.background_margin.label",
      "default": 0
    },
    {
      "type": "number",
      "id": "padding_top",
      "label": "t:sections.all.padding_top.label",
      "default": 50
    },
    {
      "type": "number",
      "id": "padding_bottom",
      "label": "t:sections.all.padding_bottom.label",
      "default": 50
    }
  ],
  "presets": [
    {
      "name": "t:sections.product_v3.presets.name"
    }
  ]
}
{% endschema %}
