Customise Horizon theme - font and image size

Topic summary

Topic: Adjusting typography and image sizing in the Shopify Horizon theme.

What was done:

  • Price font size increased via CSS added at the end of Assets > base.css (e.g., body .price { font-size: 20–24px; }).
  • Product images reduced and centered with CSS targeting product media wrappers and images (e.g., max-width: 75%; justify-content: center).
  • Add to Cart/PayPal button area width constrained on desktop (e.g., max-width: 400px).
  • Collapsible section headers (Ingredients, Tasting tips) made larger using .accordion .details__header { font-size: 20px; }.

Key guidance/constraints:

  • Collection/product image inconsistency is due to mixed aspect ratios (horizontal vs. vertical). For uniform display, either upload images with the same aspect ratio or implement template logic to crop consistently. Pure CSS forcing can distort images.
  • Suggested CSS for uniform grids included aspect-ratio: 1/1 with object-fit: cover, but this crops images.

Current status:

  • Typography and layout tweaks applied successfully.
  • Ongoing issue: images in product and collection pages appear inconsistent and sometimes cropped even when sizes match. Next steps: standardize image aspect ratios across uploads or adjust the Horizon templates/settings to enforce a chosen ratio without undesirable cropping.

Notes: Screenshots and preview/live links were shared to illustrate issues.

Summarized with AI on December 11. AI used: gpt-5.

Hello,

I am using the Horizon theme.

  • How do I increase my font size for price?
  • How do I make my product image size smaller?
  • I have 3 collections - all the images are of different size. How do I make them all the same size?
1 Like

Hi Chocs,

A few of these depend on how your Horizon theme is currently structured, so the exact solution can vary a bit.

Price font size:
There’s a typography control for this, but Horizon sometimes assigns the price to a separate class, so increasing it globally doesn’t always work. In those cases a small, targeted CSS tweak is the cleaner approach.

Product image size:
This is tied to both the image ratio and the way the product section handles spacing. Some Horizon setups scale the image container differently, so the best method depends on how your layout is currently styled.

Collection images:
Different sizes usually come from mixed aspect ratios. Standardizing them helps, but Horizon may also need a quick template adjustment so the theme crops and displays them evenly.

If you’d like, feel free to share your store URL in this thread. I can take a quick look and point you to the exact setting or line of code your version of Horizon uses.

hello these changes need CSS, can you please share your website link?

My store is not live yet. Can u access thru this link?

Pls see link below. I have added the link to Midedavid247

Thanks for sharing the preview link - that helps a lot.

I checked the structure of your product page, and here’s what I noticed:

1. Price font size

Your theme is using the default Horizon product price class, which isn’t tied to the main Typography settings. That’s why adjusting typography doesn’t change the price.

A small targeted CSS rule will be needed to increase only the price without affecting titles or other text.

2. Product image size

Your product images are currently taking the full width of the image container. The container itself is what needs adjusting — Horizon uses a fixed ratio wrapper here. The image ratio setting plus a small tweak to the wrapper will give you the exact size you want.

3. Collection images consistency

Your collections are displaying directly based on the original image ratios. To make them uniform, the theme needs either:

A standardized aspect ratio for uploads, or

A quick template adjustment so Horizon crops them consistently.

Right now, it’s simply respecting your source dimensions.

If you let me know the exact sizes or look you want for each part (price size, product image size, and collection image ratio), I can guide you to the precise place to adjust them based on your theme version.

please add this css to the end of your styles.css file and check, this is for font

span.price {font-size: 24px;}

which image size do you want to make smaller?

issue with the collections images is that those are by default different size images, if we force them using css then it will look distorted

i don’t know the exact size I want - I intend to just adjust them till they look “right”. Yes please guide me to the precise place to adjust! I can work out the font sizes or images sizes on my end?

Since you’re using the Horizon theme, here are quick fixes:

1. Increase price font size:

Add this in your theme CSS:

.price { font-size: 22px !important; }

2. Make product images smaller:

.product__media img { max-width: 75% !important; }

3. Make all collection images the same size:

.collection-grid-item img {

aspect-ratio: 1/1;

object-fit: cover;

If you share your store URL, I can place the code in the correct file and adjust it to match your design perfectly.

Here’s the link.

I also need elp to change the font size for the collapsed section - ingredients etc

where exactly do I add them?

So what should I do?

Do u mean theme.liquid? Where should I add exactly?

I can’t find styles.css file

@chocs check if you have styles.css.liquid or base.css in assets folder

i only have base.css. Where exactly do i add the codes?

1 Like

@chocs to the very end of it

Hi @chocs ,
Go to Online Store > Themes > Actions > Edit Code > base.css Add below code at the bottom of base.css file

body .price {
    font-size: 20px;
}
body .product-media {
    max-width: 75%;
    justify-content: center;
}
body img.product-media__image {
    max-width: 75%;
}

Thanks! How do i make the image centre now? and how do i make the add to cart and paypal lines shorter to be aligned with my text below?

Hi @chocs ,
Add below css

body li.product-media-container {
    justify-content: center;
}
@media (min-width: 768px) {
  .product-form-buttons.spacing-style.product-form-buttons--stacked {
      max-width: 400px;
  }
}