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:Maximum page content width
narrow- Narrow width (~1200px) - Ideal for focused, readable contentnormal- Standard width (~1400px) - Balanced for most storeswide- 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
Border width in pixels
- Range: 0-4px
- Default: 0px (no border)
Corner roundness
- Range: 0-100px
- Default: 100px (pill-shaped)
Font family for primary buttons
body- Body fontaccent- Accent font
Text transformation
default- No transformationuppercase- ALL CAPS
Secondary Buttons
Border width in pixels
- Range: 0-4px
- Default: 1px
Corner roundness
- Range: 0-100px
- Default: 100px (pill-shaped)
Font family for secondary buttons
body- Body fontaccent- Accent font
Text transformation
default- No transformationuppercase- ALL CAPS
Pills
Pills are small, rounded elements used for tags, filters, and navigation:Corner roundness for pill elements
- Range: 0-40px
- Default: 40px (fully rounded)
Border Styles
Control borders across various components.Cart Thumbnails
Border style for product images in cart
none- No bordersolid- Solid border
Border thickness (0-10px)
Border transparency (0-100%)
Corner roundness (0-100px)
Drawers
Border style for slide-out drawers
none- No bordersolid- Solid border
Border thickness (0-10px)
Border transparency (0-100%)
Popovers
Border style for popovers and modals
none- No bordersolid- Solid border
Border thickness (0-10px)
Border transparency (0-100%)
Corner roundness (0-16px)
Corner Radius
Horizon uses consistent border radius values across components:Buttons
Buttons
Inputs & Forms
Inputs & Forms
- Input fields: 0-32px (default: 8px)
- Variant buttons: 0-100px (default: 8px)
Media
Media
- Product images: 0-32px (default: 0px)
- Card corners: 0-16px (default: 0px)
- Cart thumbnails: 0-100px (default: 0px)
Containers
Containers
- 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--1-colthrough.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:Border width for variant buttons (0-4px)
Corner roundness (0-100px)
Button width behavior
default-width-buttons- Fit to contentequal-width-buttons- Equal width for all buttons
Shadow Effects
Add drop shadow to drawer elements
Add drop shadow to popovers and modals
Shadow Variables
Layout Examples
Full-Width Hero Section
Full-Width Layout
Contained Content Section
Contained Layout
Two-Column Layout
Two-Column Layout
Best Practices
Consistent Spacing
Consistent Spacing
Use the theme’s spacing scale consistently:
- Stick to predefined spacing values
- Maintain vertical rhythm
- Use the spacing snippet for sections
Responsive Design
Responsive Design
Always test layouts on multiple devices:
- Use responsive grid classes
- Adjust padding for mobile
- Hide/show elements appropriately
Visual Hierarchy
Visual Hierarchy
Create clear visual structure:
- Use whitespace effectively
- Group related content
- Separate sections with padding/borders
Button Consistency
Button Consistency
Layout Snippet Reference
Section Wrapper
snippets/section.liquid
Spacing Helper
snippets/spacing-style.liquid
Related Pages
Theme Settings
Configure page width and global layout options
Color Schemes
Apply colors to layout elements
Typography
Control text sizing within layouts