

{%- liquid
  assign background_video = section.settings.background_video
  assign products = section.settings.collection.products
  assign products_limit = section.settings.products_limit
  assign auto_play = section.settings.auto_play
  assign index = -1
  assign title = section.settings.title
  assign subtitle = section.settings.subtitle
  assign button_radius = section.settings.button_radius
  assign button_text = section.settings.button_text
-%}

<section {% render 'section-attr' %}>
  {% render 'section-bg-image' %}
  <xo-video-cover
    xo-src='{{ background_video }}'
    class='xo-sec-product-v18__global-video'
  ></xo-video-cover>
  <product-video-v18>
    <xo-container {% render 'section-layout' %}>
      {% if title != blank or subtitle != blank %}
        <div class='xo-sec-product-v18__global-header'>
          {% if title %}
            <h2 class='xo-sec-product-v18__global-title'>{{ title }}</h2>
          {% endif %}
          {% if subtitle %}
            <p class='xo-sec-product-v18__global-subtitle'>{{ subtitle }}</p>
          {% endif %}
        </div>
      {% endif %}
      <div class='xo-sec-product-v18__global-flex'>
        <div class='xo-sec-product-v18__global-flex-item'>
          <xo-carousel
            xo-name='product-v18'
            class='xo-sec-product-v18__global-carousel'
            xo-loop
            xo-overflow='visible'
            xo-speed='400'
            xo-gap='{{ section.settings.gap }}'
            {% if auto_play %}
              xo-autoplay='5000'
            {% endif %}
          >
            <xo-carousel-inner>
              <xo-carousel-list role='list' aria-label='{{ 'general.slider.name' | t }}'>
                {%- for product in products limit: products_limit -%}
                  {%- assign index = index | plus: 1 -%}
                  <xo-carousel-slide
                    aria-roledescription='{{ 'sections.slideshow.slide' | t }}'
                    aria-label='{{ forloop.index }} {{ 'general.slider.of' | t }} {{ forloop.length }}'
                  >
                    <product-video-v18-item class='xo-sec-product-v18__global-item'>
                      {%- if product -%}
                        <xo-product xo-product-id='{{ product.id }}' xo-section-id='{{section.id}}'>
                          <div class='xo-sec-product-v18__global-product-item'>
                            <div class='{% render 'hover-style' %} xo-sec-product-v18__global-product-video'>
                              {%- if section.settings.video_enable -%}
                                {%- for media in product.media -%}
                                  {%- if media.media_type == 'video' -%}
                                    {%- assign has_media_video = true -%}
                                    {%- render 'media',
                                      media: media,
                                      type: 'video',
                                      enable_video_looping: true,
                                      controls: false,
                                      media_aspect_ratio: section.settings.aspect_ratio
                                    -%}
                                    {%- break -%}
                                  {%- else -%}
                                    {%- assign has_media_video = false -%}
                                  {%- endif -%}
                                {%- endfor -%}
                                {%- if has_media_video == false -%}
                                  {% render 'image', image: product.featured_image, media_aspect_ratio: section.settings.aspect_ratio %}
                                {%- endif -%}
                              {%- else -%}
                                {% render 'image', image: product.featured_image, media_aspect_ratio: section.settings.aspect_ratio %}
                              {%- endif -%}
                            </div>
                            <div class='xo-sec-product-v18__global-product-content'>
                              <div class='xo-sec-product-v18__global-product-info'>
                                <a href='{{ product.url }}' class='{% render 'hover-style' %} xo-sec-product-v18__global-product-image'>
                                  {% render 'image', image: product.featured_image, media_aspect_ratio: section.settings.aspect_ratio %}
                                </a>
                                <div class='xo-sec-product-v18__global-wrap'>
                                  <a href='{{ product.url }}'>
                                    <h3 class='xo-sec-product-v18__global-product-title'>{{ product.title | escape }}</h3>
                                  </a>
                                  <div class='xo-sec-product-v18__global-price'>
                                    <span>{{ product.price | money }}</span>
                                    <del>{{ product.compare_at_price | money }}</del>
                                  </div>
                                </div>
                              </div>
                              <a href='{{ product.url }}' class='xo-sec-product-v18__global-product-btn' style='--button-radius: {{ button_radius }}rem'> {{ button_text }} </a>
                            </div>
                          </div>
                        </xo-product>
                      {%- endif -%}
                    </product-video-v18-item>
                  </xo-carousel-slide>
                {%- endfor -%}
              </xo-carousel-list>
            </xo-carousel-inner>
            {% render 'carousel-pagination-style3', class: 'xo-sec-product-v18__pagination' %}
          </xo-carousel>
        </div>
        <div class='product-v18__arrow'>
          {% render 'carousel-navigation-style3', carousel_name: 'product-v18' %}
        </div>
      </div>
    </xo-container>
  </product-video-v18>
</section>

{% schema %}
{
  "name": "t:sections.product_v1.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": "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"
        },
        {
          "value": "none",
          "label": "t:sections.all.hover.option__8.label"
        }
      ]
    },
    {
      "type": "range",
      "id": "gap",
      "min": 10,
      "max": 40,
      "step": 1,
      "unit": "px",
      "label": "t:sections.product_v1.settings.gap.label",
      "default": 30
    },
    {
      "type": "text",
      "id": "title",
      "label": "t:sections.product_v1.settings.title.label",
      "default": "Title"
    },
    {
      "type": "text",
      "id": "subtitle",
      "label": "t:sections.product_v1.settings.subtitle.label",
      "default": "Description"
    },
    {
      "type": "collection",
      "id": "collection",
      "label": "t:sections.product_v1.settings.collection.label"
    },
    {
      "type": "range",
      "id": "products_limit",
      "min": 2,
      "max": 20,
      "step": 1,
      "label": "t:sections.product_v1.settings.products_limit.label",
      "default": 6
    },
    {
      "type": "checkbox",
      "id": "auto_play",
      "label": "t:sections.product_v1.settings.auto_play.label",
      "default": false
    },
    {
      "type": "checkbox",
      "id": "video_enable",
      "label": "t:sections.product_v1.settings.video_enable.label",
      "default": true
    },
    {
      "type": "text",
      "id": "aspect_ratio",
      "label": "t:sections.product_v1.settings.aspect_ratio.label",
      "default": "1/1"
    },
    {
      "type": "text",
      "id": "button_text",
      "label": "t:sections.product_v1.settings.button_text.label",
      "default": "SHOP NOW"
    },
    {
      "type": "range",
      "id": "button_radius",
      "max": 4,
      "min": 0,
      "step": 0.2,
      "unit": "rem",
      "label": "t:sections.product_v1.settings.button_radius.label",
      "default": 0.2
    },
    {
      "type": "header",
      "content": "t:sections.product_v1.settings.header.content_1"
    },
    {
      "type": "textarea",
      "id": "background_video",
      "label": "t:sections.product_v1.settings.background_video.label"
    },
    {
      "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_v1.presets.name"
    }
  ]
}
{% endschema %}
