> ## Documentation Index
> Fetch the complete documentation index at: https://docs.digifist.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dual tiles

> Display two side-by-side content tiles with flexible sizing, independent media, rich text, and customizable spacing.

The Dual tiles section creates two side-by-side content areas perfect for highlighting complementary content, campaigns, or product stories. Each tile can contain independent media, text, buttons, and has separate desktop/mobile configurations for maximum flexibility.

Dual tiles help create balanced, visually engaging layouts that showcase parallel narratives, split campaigns, or contrasting product offerings in a structured format.

<img src="https://mintcdn.com/digifist/DTSuQolmAgeGnVLg/images/theme/sahara/sections/dual-tiles/dual-tiles-overview.png?fit=max&auto=format&n=DTSuQolmAgeGnVLg&q=85&s=e18b73a0b2c910b968e821f99db6011f" alt="Dual tiles section overview" width="3280" height="2186" data-path="images/theme/sahara/sections/dual-tiles/dual-tiles-overview.png" />

## What this section controls

This section controls dual-tile layouts with the following capabilities:

* Two side-by-side content tiles (maximum 2 blocks)
* Flexible tile sizing (full, half, large, small)
* Configurable gap spacing between tiles
* Desktop and mobile-specific media and positioning
* Independent content alignment per tile
* Rich text, buttons, and video support
* Per-tile color schemes and padding controls

## How Dual tiles works

The Dual tiles section uses a block-based system:

* Section supports **maximum 2 Tile blocks**
* First tile size determines layout proportions
* Second tile automatically adjusts to complement first
* Each tile configured independently with its own media, text, and styling
* Responsive behavior with mobile-specific ordering and sizing

## Getting started

<Steps>
  <Step title="Open Theme Customizer">
    From Shopify admin, access the Theme Customizer.
  </Step>

  <Step title="Add Dual tiles section">
    Add the section to your page or template.
  </Step>

  <Step title="Add tile blocks">
    Click "Add block" and select "Tile" to create content areas (add 2 tiles).
  </Step>

  <Step title="Configure block size">
    Set first block size to control tile proportions (half, large, small, full).
  </Step>

  <Step title="Add content">
    For each tile, add heading, text, media, and optional button.
  </Step>
</Steps>

<img src="https://mintcdn.com/digifist/DTSuQolmAgeGnVLg/images/theme/sahara/sections/dual-tiles/dual-tiles-location.png?fit=max&auto=format&n=DTSuQolmAgeGnVLg&q=85&s=af01800629054f59aa8c787625f06bf5" alt="Dual tiles section in Theme Customizer" width="3280" height="2186" data-path="images/theme/sahara/sections/dual-tiles/dual-tiles-location.png" />

## Section settings

<Tabs>
  <Tab title="Layout">
    ### Block size

    Controls the width proportions of the two tiles.

    <AccordionGroup>
      <Accordion title="Full" icon="square">
        First tile takes full width, second tile full width below.

        **Best for:**

        * Stacked layout
        * Vertical storytelling
        * Mobile-first designs

        **Result:** Tiles stack vertically on both desktop and mobile.
      </Accordion>

      <Accordion title="Half" icon="table-columns">
        Both tiles equal width, 50/50 split (default).

        **Best for:**

        * Balanced content
        * Equal emphasis
        * Symmetrical layouts

        **Result:** Tiles side-by-side on desktop, stacked on mobile.
      </Accordion>

      <Accordion title="Large" icon="expand">
        First tile takes approximately 66%, second tile 33%.

        **Best for:**

        * Primary/secondary content
        * Featured content + supporting info
        * Text-heavy + compact layout

        **Result:** Unequal split emphasizing first tile.
      </Accordion>

      <Accordion title="Small" icon="compress">
        First tile takes approximately 33%, second tile 66%.

        **Best for:**

        * Supporting info + primary content
        * Compact accent + featured content
        * Reverse emphasis

        **Result:** Unequal split emphasizing second tile.
      </Accordion>
    </AccordionGroup>

    <img src="https://mintcdn.com/digifist/QDcOtXcaTL0JeRCz/images/theme/sahara/sections/dual-tiles/block-size.png?fit=max&auto=format&n=QDcOtXcaTL0JeRCz&q=85&s=5d20cd8cf02bd8259bdcfa9a43d951b5" alt="Block size layout options" width="3280" height="2186" data-path="images/theme/sahara/sections/dual-tiles/block-size.png" />

    ### Gap between tiles (Desktop)

    Controls horizontal and vertical spacing between tiles on desktop.

    **Options:** No spacing, S, M (default), L, XL

    ### Gap between tiles (Mobile)

    Controls spacing between tiles on mobile devices independently.

    **Options:** No spacing, S, M (default), L, XL

    <Tip>
      Use no spacing or small gaps for seamless, edge-to-edge tile layouts. Increase gaps for clearly separated content areas.
    </Tip>

    ### Reverse on mobile

    Swaps tile order on mobile devices.

    **Default:** False

    <AccordionGroup>
      <Accordion title="Mobile ordering strategy" icon="mobile">
        **Disabled (False - default):**

        * Tiles maintain desktop order on mobile
        * First tile displays first
        * Standard top-to-bottom flow

        **Enabled (True):**

        * Reverses order on mobile only
        * Second tile displays first
        * Useful when second tile is more important on mobile
      </Accordion>
    </AccordionGroup>

    <img src="https://mintcdn.com/digifist/BdvREJp9kdiokfau/images/theme/sahara/sections/dual-tiles/gap-and-ordering.png?fit=max&auto=format&n=BdvREJp9kdiokfau&q=85&s=ebbce76c10a720a89e981cb861aef809" alt="Gap spacing and mobile ordering" width="3280" height="2186" data-path="images/theme/sahara/sections/dual-tiles/gap-and-ordering.png" />
  </Tab>

  <Tab title="Styling">
    ### Section width

    Controls horizontal width of the section.

    **Options:**

    * **Page** - Standard container width (default)
    * **Fluid** - Wider layout
    * **Full** - Edge-to-edge full width

    <Note>
      Full width works well for immersive dual tile layouts with background images.
    </Note>

    ### Color scheme

    Select default color scheme for section background.

    <Note>
      Individual tiles can override section color scheme with their own settings.
    </Note>

    ### Spacing

    Control vertical spacing around the section:

    * **Spacing top** - Margin above (None, S, M, L, XL)
    * **Spacing bottom** - Margin below (None, S, M, L, XL)

    Both default to M.

    ### Section border

    Add decorative borders: None (default), Top, Bottom, Both

    <img src="https://mintcdn.com/digifist/BdvREJp9kdiokfau/images/theme/sahara/sections/dual-tiles/section-border.png?fit=max&auto=format&n=BdvREJp9kdiokfau&q=85&s=44257cc5b27f437e48e66da8dd9bde3d" alt="Section styling options" width="3280" height="2186" data-path="images/theme/sahara/sections/dual-tiles/section-border.png" />
  </Tab>
</Tabs>

## Block settings

Each Tile block represents one of the two content areas. Configure them independently for maximum flexibility.

<Tabs>
  <Tab title="Visibility">
    ### Show on

    Controls which devices the tile is visible on.

    **Options:**

    * **Desktop** - Desktop only
    * **Mobile** - Mobile only
    * **Both** - All devices (default)

    <AccordionGroup>
      <Accordion title="Device-specific tiles" icon="devices">
        **Use cases for selective visibility:**

        * Different messaging for mobile vs desktop
        * Desktop-only detailed content
        * Mobile-only app promotions
        * A/B testing across devices
      </Accordion>
    </AccordionGroup>

    <img src="https://mintcdn.com/digifist/QDcOtXcaTL0JeRCz/images/theme/sahara/sections/dual-tiles/show-on.png?fit=max&auto=format&n=QDcOtXcaTL0JeRCz&q=85&s=c898c8986993c3bf1723a3ad9cb76dd9" alt="Tile visibility options" width="3280" height="2186" data-path="images/theme/sahara/sections/dual-tiles/show-on.png" />
  </Tab>

  <Tab title="Styling">
    ### Color scheme

    Select color scheme for individual tile background and text.

    <Note>
      Overrides section-level color scheme for this specific tile.
    </Note>

    ### Media position

    Controls where media appears relative to text content.

    <AccordionGroup>
      <Accordion title="Top" icon="arrow-up">
        Media displays above text content (default).

        **Best for:** Standard card layouts, image-first designs
      </Accordion>

      <Accordion title="Bottom" icon="arrow-down">
        Media displays below text content.

        **Best for:** Text-priority designs, inverted layouts
      </Accordion>

      <Accordion title="Background" icon="layer-group">
        Media serves as background with text overlay.

        **Best for:** Hero-style tiles, immersive imagery, full-bleed designs
      </Accordion>
    </AccordionGroup>

    ### Inner padding (Horizontal)

    Controls left and right padding inside the tile.

    **Options:** No padding, S, M (default), L, XL

    <Note>
      Only applies when media position is Top or Bottom (not Background).
    </Note>

    ### Inner padding (Vertical)

    Controls top and bottom padding inside the tile.

    **Options:** No padding, S, M (default), L, XL

    <Note>
      Only applies when media position is Top or Bottom (not Background).
    </Note>

    <img src="https://mintcdn.com/digifist/BdvREJp9kdiokfau/images/theme/sahara/sections/dual-tiles/inner-padding.png?fit=max&auto=format&n=BdvREJp9kdiokfau&q=85&s=af4e2e2758613b81f01839513718719b" alt="Tile styling options" width="3280" height="2186" data-path="images/theme/sahara/sections/dual-tiles/inner-padding.png" />
  </Tab>

  <Tab title="Content">
    ### Heading

    Tile heading text.

    * Inline rich text supported (bold, italic, links)
    * **Default:** "Heading for Dual Content Tiles"

    ### Heading size

    Controls the size of tile heading.

    **Options:** XS, S, M, L, XL\
    **Default:** XL

    ### Text

    Main body content of the tile.

    * Rich text editor with formatting support
    * **Supports:**
      * Bold, italic, underline
      * Lists (bulleted, numbered)
      * Links
    * Leave empty to show heading and button only

    <Tip>
      Keep text concise (30-50 words) for tile readability. Use tiles for highlights, not long-form content.
    </Tip>

    <img src="https://mintcdn.com/digifist/BdvREJp9kdiokfau/images/theme/sahara/sections/dual-tiles/content-settings.png?fit=max&auto=format&n=BdvREJp9kdiokfau&q=85&s=0845cc9541ccbcbaa8bb684377fa617f" alt="Content configuration" width="3280" height="2186" data-path="images/theme/sahara/sections/dual-tiles/content-settings.png" />
  </Tab>

  <Tab title="Button">
    ### Button text

    Label displayed on the call-to-action button.

    * Plain text
    * Leave empty to hide button

    ### Button URL

    Destination link when button is clicked.

    ### Button style

    Visual style of the button.

    <AccordionGroup>
      <Accordion title="Filled" icon="square">
        Solid background with contrasting text (default).

        **Best for:** Primary CTAs, strong visibility
      </Accordion>

      <Accordion title="Outlined" icon="border-outer">
        Border-only style with transparent background.

        **Best for:** Secondary actions, subtle CTAs
      </Accordion>

      <Accordion title="Text" icon="link">
        Minimal text link styling.

        **Best for:** Tertiary actions, minimal designs
      </Accordion>
    </AccordionGroup>

    ### Button separator

    Adds a visual separator (line) above the button.

    **Default:** False

    <Note>
      Separator creates visual hierarchy separating button from content above.
    </Note>

    <img src="https://mintcdn.com/digifist/BdvREJp9kdiokfau/images/theme/sahara/sections/dual-tiles/button-settings.png?fit=max&auto=format&n=BdvREJp9kdiokfau&q=85&s=6015f4016a23ce21377467c683c1bf70" alt="Button configuration" width="3280" height="2186" data-path="images/theme/sahara/sections/dual-tiles/button-settings.png" />
  </Tab>

  <Tab title="Desktop">
    ### Content position

    Controls vertical alignment of text content on desktop.

    **Options:** Start (top), Center (default), End (bottom)

    ### Content alignment

    Controls horizontal alignment of text content on desktop.

    **Options:** Start (left), Center (default), End (right)

    ### Image (Desktop)

    Upload image for desktop display.

    **Recommended:** 1200px+ width, aspect ratio matching tile size

    ### Video (Desktop)

    Upload Shopify-hosted video file. Overwrites image when set.

    ### External video (Desktop)

    Embed YouTube or Vimeo video. Takes priority over image and video.

    **Accepts:** YouTube, Vimeo URLs

    <Warning>
      External videos may impact page load performance.
    </Warning>

    ### Aspect ratio (Desktop)

    Controls the height-to-width ratio of tile media.

    **Options:**

    * **Auto** - Uses natural image dimensions (default)
    * **Square:** 1:1
    * **Landscape:** 4:3, 3:2, 5:4, 16:9, 2:1, 4:1, 8:1
    * **Portrait:** 3:4, 2:3, 4:5, 9:16, 1:2

    <Tip>
      Use Auto for varied content heights or fixed ratios for uniform tile dimensions.
    </Tip>

    <img src="https://mintcdn.com/digifist/BdvREJp9kdiokfau/images/theme/sahara/sections/dual-tiles/desktop-settings.png?fit=max&auto=format&n=BdvREJp9kdiokfau&q=85&s=827b028aa0cec9416eefbeb3897fbc14" alt="Desktop media configuration" width="3280" height="2186" data-path="images/theme/sahara/sections/dual-tiles/desktop-settings.png" />
  </Tab>

  <Tab title="Mobile">
    ### Content position (Mobile)

    Controls vertical alignment of text content on mobile independently.

    **Options:** Start (top), Center (default), End (bottom)

    ### Content alignment (Mobile)

    Controls horizontal alignment of text content on mobile independently.

    **Options:** Start (left), Center (default), End (right)

    ### Image (Mobile)

    Upload mobile-optimized image.

    **Recommended:** 800-1200px width, portrait orientation

    <Note>
      Mobile media overrides desktop media on small screens when provided.
    </Note>

    ### Video (Mobile)

    Shopify-hosted video for mobile devices. Overwrites mobile image.

    ### External video (Mobile)

    YouTube or Vimeo video for mobile. Takes priority.

    ### Aspect ratio (Mobile)

    Controls media aspect ratio on mobile devices independently.

    **Options:** Same as desktop\
    **Default:** 1:1 (Square)

    ### Video mobile compact

    Reduces video padding on mobile for more compact display.

    **Default:** False

    <img src="https://mintcdn.com/digifist/BdvREJp9kdiokfau/images/theme/sahara/sections/dual-tiles/mobile-settings.png?fit=max&auto=format&n=BdvREJp9kdiokfau&q=85&s=1116c974b93aa91e485adcce266e9f90" alt="Mobile media configuration" width="3280" height="2186" data-path="images/theme/sahara/sections/dual-tiles/mobile-settings.png" />
  </Tab>
</Tabs>

## Best practices

<CardGroup cols={2}>
  <Card title="Balanced content" icon="scale-balanced">
    Use Half (50/50) block size for equal emphasis, Large/Small for primary/secondary content hierarchy.
  </Card>

  <Card title="Consistent imagery" icon="image">
    Use matching aspect ratios across both tiles for visual harmony and professional appearance.
  </Card>

  <Card title="Mobile optimization" icon="mobile">
    Provide portrait-oriented mobile images and consider reversing tile order if second tile is more important on mobile.
  </Card>

  <Card title="Strategic gaps" icon="grip-lines">
    Use larger gaps (L, XL) for clearly separated tiles, no gap for seamless edge-to-edge layouts.
  </Card>

  <Card title="Content brevity" icon="text-size">
    Keep text concise (30-50 words per tile) for readability. Tiles are for highlights, not essays.
  </Card>

  <Card title="Button placement" icon="hand-pointer">
    Add buttons to both tiles for balanced CTAs or just one tile to create visual hierarchy.
  </Card>

  <Card title="Color contrast" icon="palette">
    Use different color schemes per tile to create visual interest and differentiate content types.
  </Card>

  <Card title="Background positioning" icon="layer-group">
    When using background media position, ensure sufficient text-to-image contrast for readability.
  </Card>
</CardGroup>

## Common use cases

<AccordionGroup>
  <Accordion title="Campaign split feature" icon="badge-percent">
    Half (50/50) block size. Tile 1: "Men's Sale" with background image. Tile 2: "Women's Sale" with background image. Both with filled buttons. Center content alignment. Different color schemes per tile.
  </Accordion>

  <Accordion title="Primary/secondary content" icon="star">
    Large (66/33) block size. Tile 1: Featured collection with background video, heading, text, outlined button. Tile 2: Newsletter signup with top media, heading, form description, filled button.
  </Accordion>

  <Accordion title="Product showcase duo" icon="bag-shopping">
    Half (50/50) block size, small gap. Both tiles: product images (top position), product names as headings, brief descriptions, "Shop now" outlined buttons. Matching color schemes for cohesion.
  </Accordion>

  <Accordion title="Story + testimonial" icon="quote-left">
    Large (66/33) block size. Tile 1: Brand story with background image, heading, 3-4 sentence text, "Learn more" text link. Tile 2: Customer testimonial with top portrait image, quote as text, customer name as heading.
  </Accordion>

  <Accordion title="Seasonal two-up banner" icon="calendar">
    Full width section. Half (50/50) block size, no gap. Both tiles: background holiday images, seasonal headings, promotional text, filled buttons. Reverse on mobile to prioritize primary campaign.
  </Accordion>
</AccordionGroup>

## Related sections

<CardGroup cols={2}>
  <Card title="Carousel" icon="images" href="/themes/sahara/sections/carousel">
    Multiple sliding content cards
  </Card>

  <Card title="Featured collections" icon="layer-group" href="/themes/sahara/sections/featured-collections">
    Collection showcase with custom styling
  </Card>

  <Card title="Content tiles" icon="grip" href="/themes/sahara/sections/content-tiles">
    Multi-tile grid layouts
  </Card>
</CardGroup>
