Skip to main content

Overview

Horizon provides flexible layout options that control page width, spacing, borders, and structural elements throughout your theme. These settings create a consistent visual structure across all pages.

Page Width

Control the maximum width of your site’s content:
select
default:"narrow"
Maximum page content width
  • narrow - Narrow width (~1200px) - Ideal for focused, readable content
  • normal - Standard width (~1400px) - Balanced for most stores
  • wide - Wide width (~1600px) - Expansive for catalog-heavy sites
Page Width Variables

When to Use Each Width

Narrow

Best for:
  • Content-focused sites
  • Blogs and articles
  • Minimal product catalogs
  • Better readability

Normal

Best for:
  • Standard e-commerce
  • Balanced layouts
  • Mixed content types
  • Most use cases

Wide

Best for:
  • Large product catalogs
  • Image-heavy content
  • Multiple columns
  • Showcasing collections

Button Styles

Configure the appearance of buttons throughout your theme.

Primary Buttons

range
default:"0"
Border width in pixels
  • Range: 0-4px
  • Default: 0px (no border)
range
default:"100"
Corner roundness
  • Range: 0-100px
  • Default: 100px (pill-shaped)
select
default:"body"
Font family for primary buttons
  • body - Body font
  • accent - Accent font
select
default:"default"
Text transformation
  • default - No transformation
  • uppercase - ALL CAPS

Secondary Buttons

range
default:"1"
Border width in pixels
  • Range: 0-4px
  • Default: 1px
range
default:"100"
Corner roundness
  • Range: 0-100px
  • Default: 100px (pill-shaped)
select
default:"body"
Font family for secondary buttons
  • body - Body font
  • accent - Accent font
select
default:"default"
Text transformation
  • default - No transformation
  • uppercase - ALL CAPS

Pills

Pills are small, rounded elements used for tags, filters, and navigation:
range
default:"40"
Corner roundness for pill elements
  • Range: 0-40px
  • Default: 40px (fully rounded)

Border Styles

Control borders across various components.

Cart Thumbnails

select
default:"none"
Border style for product images in cart
  • none - No border
  • solid - Solid border
range
default:"1"
Border thickness (0-10px)
range
default:"50"
Border transparency (0-100%)
range
default:"0"
Corner roundness (0-100px)

Drawers

select
default:"none"
Border style for slide-out drawers
  • none - No border
  • solid - Solid border
range
default:"1"
Border thickness (0-10px)
range
default:"50"
Border transparency (0-100%)

Popovers

select
default:"solid"
Border style for popovers and modals
  • none - No border
  • solid - Solid border
range
default:"1"
Border thickness (0-10px)
range
default:"50"
Border transparency (0-100%)
range
default:"8"
Corner roundness (0-16px)

Corner Radius

Horizon uses consistent border radius values across components:
  • Primary: 0-100px (default: 100px)
  • Secondary: 0-100px (default: 100px)
  • Pills: 0-40px (default: 40px)
  • Input fields: 0-32px (default: 8px)
  • Variant buttons: 0-100px (default: 8px)
  • Product images: 0-32px (default: 0px)
  • Card corners: 0-16px (default: 0px)
  • Cart thumbnails: 0-100px (default: 0px)
  • Popovers: 0-16px (default: 8px)
  • Badges: 0-100px (default: 40px)

Spacing System

Horizon uses a consistent spacing scale:
Spacing Variables

Applying Spacing

Use the spacing snippet for consistent margins and padding:
Spacing Snippet

Layout Utilities

Grid System

Horizon includes a flexible grid system:
Grid Layout
Grid classes:
  • .grid--1-col through .grid--6-col - Desktop columns
  • .grid--tablet-{n}-col - Tablet breakpoint
  • .grid--mobile-1-col - Mobile breakpoint
  • .grid--gap-{size} - Column gap size

Container Widths

Container Types

Responsive Utilities

Responsive Classes

Section Layouts

Customize individual section layouts:
Section Layout Schema

Variant Picker Layout

Style variant selection buttons:
range
default:"1"
Border width for variant buttons (0-4px)
range
default:"8"
Corner roundness (0-100px)
select
default:"equal-width-buttons"
Button width behavior
  • default-width-buttons - Fit to content
  • equal-width-buttons - Equal width for all buttons

Shadow Effects

boolean
default:"false"
Add drop shadow to drawer elements
boolean
default:"true"
Add drop shadow to popovers and modals
Shadow values are defined per color scheme:
Shadow Variables

Layout Examples

Full-Width Hero Section

Full-Width Layout

Contained Content Section

Contained Layout

Two-Column Layout

Two-Column Layout

Best Practices

Use the theme’s spacing scale consistently:
  • Stick to predefined spacing values
  • Maintain vertical rhythm
  • Use the spacing snippet for sections
Always test layouts on multiple devices:
  • Use responsive grid classes
  • Adjust padding for mobile
  • Hide/show elements appropriately
Create clear visual structure:
  • Use whitespace effectively
  • Group related content
  • Separate sections with padding/borders
Maintain consistent button styles:
  • Use primary buttons for main actions
  • Secondary buttons for alternative actions
  • Keep border radius consistent

Layout Snippet Reference

Section Wrapper

snippets/section.liquid

Spacing Helper

snippets/spacing-style.liquid

Theme Settings

Configure page width and global layout options

Color Schemes

Apply colors to layout elements

Typography

Control text sizing within layouts