{%- comment -%} MIT License · (c) 2026 Lintel · https://lintelagency.com/resources/shopify-sections {%- endcomment -%} {%- comment -%} Shop the look: a lifestyle image with up to six product hotspots and a product list beside it (below on mobile). Clicking a hotspot opens a small product card next to the dot and highlights the product in the list. The list is plain HTML, so every product stays reachable without JS. Separate desktop and mobile image, and optional separate hotspot positions on mobile. Depends on: snippets/lib-image.liquid, snippets/lib-button.liquid {%- endcomment -%} {%- liquid assign s = section.settings assign heading_tag = s.heading_tag | default: 'h2' assign eager = false if section.index <= 2 assign eager = true endif assign uid = 'LibStl-' | append: section.id -%}
{{ b.label | escape }}
{%- endif -%}{{ title | escape }}
{{ price_html }} {%- if p != blank -%} {{- s.card_link_label | default: 'View product' | escape -}} {%- endif -%}{{ s.list_title | escape }}
{%- endif -%}Soft textures, warm light and a few handmade pieces. Tap a dot to see what is in the room.
" }, { "type": "text", "id": "list_title", "label": "Product list title", "default": "In this room" }, { "type": "text", "id": "card_link_label", "label": "Product card link label", "default": "View product" }, { "type": "header", "content": "Image" }, { "type": "image_picker", "id": "image", "label": "Desktop image" }, { "type": "image_picker", "id": "image_mobile", "label": "Mobile image", "info": "Optional. Shown below 750px. If it is cropped differently, set mobile positions on each hotspot." }, { "type": "select", "id": "image_ratio", "label": "Image shape on desktop", "info": "Hotspot positions are measured on the image as shown. Adapt keeps the whole image, so dots stay on their objects.", "options": [ { "value": "adapt", "label": "Adapt to image" }, { "value": "wide", "label": "Wide (16:9)" }, { "value": "landscape", "label": "Landscape (3:2)" }, { "value": "square", "label": "Square" }, { "value": "portrait", "label": "Portrait (4:5)" } ], "default": "adapt" }, { "type": "select", "id": "image_ratio_mobile", "label": "Image shape on mobile", "options": [ { "value": "adapt", "label": "Adapt to image" }, { "value": "wide", "label": "Wide (16:9)" }, { "value": "landscape", "label": "Landscape (3:2)" }, { "value": "square", "label": "Square" }, { "value": "portrait", "label": "Portrait (4:5)" } ], "default": "adapt" }, { "type": "range", "id": "image_radius", "label": "Image corner radius", "min": 0, "max": 40, "step": 2, "unit": "px", "default": 16 }, { "type": "header", "content": "Hotspots" }, { "type": "select", "id": "hotspot_style", "label": "Hotspot style", "options": [ { "value": "dot", "label": "Dot" }, { "value": "plus", "label": "Plus" }, { "value": "number", "label": "Number (also shown in the list)" } ], "default": "plus" }, { "type": "range", "id": "hotspot_size", "label": "Hotspot size", "min": 24, "max": 48, "step": 2, "unit": "px", "default": 32 }, { "type": "color", "id": "color_hotspot", "label": "Hotspot color", "default": "#FFFFFF" }, { "type": "color", "id": "color_hotspot_icon", "label": "Hotspot icon color", "default": "#1C1917" }, { "type": "header", "content": "Product card and list" }, { "type": "color", "id": "color_card", "label": "Card background", "default": "#FFFFFF" }, { "type": "color", "id": "color_card_text", "label": "Card text", "default": "#1C1917" }, { "type": "header", "content": "Button" }, { "type": "text", "id": "button_label", "label": "Button label", "info": "Optional. Shown under the product list.", "default": "Shop the collection" }, { "type": "url", "id": "button_url", "label": "Button link" }, { "type": "select", "id": "button_style", "label": "Button style", "options": [ { "value": "primary", "label": "Solid" }, { "value": "outline", "label": "Outline" }, { "value": "text", "label": "Text link" } ], "default": "outline" }, { "type": "checkbox", "id": "button_new_tab", "label": "Open link in a new tab", "default": false }, { "type": "header", "content": "Layout" }, { "type": "select", "id": "section_width", "label": "Width", "options": [ { "value": "page", "label": "Page width" }, { "value": "full", "label": "Full width" } ], "default": "page" }, { "type": "select", "id": "list_position", "label": "Product list on desktop", "info": "On mobile the list always sits below the image.", "options": [ { "value": "side", "label": "Next to the image" }, { "value": "below", "label": "Below the image" } ], "default": "side" }, { "type": "select", "id": "image_position", "label": "Image position", "visible_if": "{{ section.settings.list_position == 'side' }}", "options": [ { "value": "left", "label": "Left" }, { "value": "right", "label": "Right" } ], "default": "left" }, { "type": "select", "id": "image_width", "label": "Image width", "visible_if": "{{ section.settings.list_position == 'side' }}", "options": [ { "value": "half", "label": "Half" }, { "value": "default", "label": "Three fifths" }, { "value": "wide", "label": "Two thirds" } ], "default": "default" }, { "type": "text_alignment", "id": "text_alignment", "label": "Heading alignment on desktop", "default": "left" }, { "type": "select", "id": "text_alignment_mobile", "label": "Heading alignment on mobile", "options": [ { "value": "left", "label": "Left" }, { "value": "center", "label": "Center" }, { "value": "right", "label": "Right" } ], "default": "left" }, { "type": "header", "content": "Colors" }, { "type": "color", "id": "color_bg", "label": "Background", "default": "#F5F2EC" }, { "type": "color_background", "id": "color_bg_gradient", "label": "Background gradient", "info": "Optional. Covers the background color." }, { "type": "color", "id": "color_text", "label": "Text", "default": "#1C1917" }, { "type": "color", "id": "color_accent", "label": "Accent (active product, solid button)", "default": "#1C1917" }, { "type": "color", "id": "color_accent_text", "label": "Text on accent", "default": "#F5F2EC" }, { "type": "color", "id": "color_sale", "label": "Sale price", "default": "#B4432F" }, { "type": "header", "content": "Spacing and visibility" }, { "type": "range", "id": "padding_top", "label": "Top padding on desktop", "min": 0, "max": 200, "step": 4, "unit": "px", "default": 80 }, { "type": "range", "id": "padding_bottom", "label": "Bottom padding on desktop", "min": 0, "max": 200, "step": 4, "unit": "px", "default": 80 }, { "type": "range", "id": "padding_top_mobile", "label": "Top padding on mobile", "min": 0, "max": 160, "step": 4, "unit": "px", "default": 48 }, { "type": "range", "id": "padding_bottom_mobile", "label": "Bottom padding on mobile", "min": 0, "max": 160, "step": 4, "unit": "px", "default": 48 }, { "type": "select", "id": "show_on", "label": "Show on", "options": [ { "value": "all", "label": "All devices" }, { "value": "desktop", "label": "Desktop only" }, { "value": "mobile", "label": "Mobile only" } ], "default": "all" }, { "type": "text", "id": "anchor_id", "label": "Anchor ID", "info": "Optional. Link to this section with #your-id." }, { "type": "header", "content": "Motion" }, { "type": "checkbox", "id": "pulse", "label": "Pulse the hotspots", "default": true } ], "blocks": [ { "type": "hotspot", "name": "Product hotspot", "limit": 6, "settings": [ { "type": "product", "id": "product", "label": "Product" }, { "type": "text", "id": "label", "label": "Label", "info": "Optional. A short word above the title, e.g. Throw." }, { "type": "range", "id": "x", "label": "Horizontal position", "min": 0, "max": 100, "step": 1, "unit": "%", "default": 50 }, { "type": "range", "id": "y", "label": "Vertical position", "min": 0, "max": 100, "step": 1, "unit": "%", "default": 50 }, { "type": "checkbox", "id": "mobile_custom", "label": "Different position on mobile", "default": false }, { "type": "range", "id": "x_mobile", "label": "Horizontal position on mobile", "min": 0, "max": 100, "step": 1, "unit": "%", "default": 50, "visible_if": "{{ block.settings.mobile_custom }}" }, { "type": "range", "id": "y_mobile", "label": "Vertical position on mobile", "min": 0, "max": 100, "step": 1, "unit": "%", "default": 50, "visible_if": "{{ block.settings.mobile_custom }}" } ] } ], "presets": [ { "name": "Lib · Shop the look", "blocks": [ { "type": "hotspot", "settings": { "label": "Throw", "x": 34, "y": 62 } }, { "type": "hotspot", "settings": { "label": "Table lamp", "x": 80, "y": 50 } }, { "type": "hotspot", "settings": { "label": "Vase", "x": 89, "y": 64 } } ] } ] } {% endschema %}