Why Your Custom Shopify Font Isn't Showing on the Login Page (and How to Fix It!)
Hey there, fellow store owners! Ever poured your heart into branding your Shopify store, got that perfect custom font loaded up, only to hit a brick wall when you visit your customer login page? Yeah, you're not alone. This exact scenario played out recently in the Shopify community, specifically for a merchant using the Savor theme, and it sparked a really insightful discussion that I wanted to share with you all.
Our friend, dreamtechzone_5, was pulling their hair out because their beautiful 'Stereohead' font was gracing every corner of their svelteclothes.myshopify.com store except for that stubborn login form. They had tried a pretty robust CSS override, targeting almost every element imaginable to force the font, like this:
@font-face {
font-family: “Stereohead”;
src: url(“https://cdn.shopify.com/s/files/1/0717/6831/0072/files/Stereohead.woff2?v=1777386173”) format(“woff2”);
font-weight: normal;
font-style: normal;
font-display: swap;
}
/* THE ULTIMATE UNIVERSAL FONT OVERRIDE
Targeting: Body, Headings, Form elements, Tables, and Shopify Custom Components
*/
*,
body, p, a, li, span,
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
input, select, textarea, option, button, .button,
.product-badges__badge,
summary,
.details__header,
.email-signup__heading,
.email-signup__input,
.price,
.rte p,
.facet-filters__sort,
.product-count__text,
/* Cart Specific Elements */
text-component,
dt, dd,
.cart-items__variant,
.cart-totals__total-value,
.cart-totals__tax-note,
.cart-totals__tax-note small,
.cart-items__details,
.cart-primary-typography,
.cart-secondary-typography {
font-family: “Stereohead”, sans-serif !important;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* Force Table and List alignment for variants */
.cart-items__variants dt,
.cart-items__variants dd {
font-family: “Stereohead”, sans-serif !important;
font-style: normal !important;
}
/* Ensure the total and subtext in cart are covered */
.cart-totals__total-value,
.cart-totals__tax-note small {
font-family: “Stereohead”, sans-serif !important;
}
Another community member, websensepro, even suggested a similar, extensive list of selectors. Meanwhile, tim_1 came in with a more elegant, modern approach using CSS variables, which is generally a cleaner way to handle theme-wide font changes:
@font-face {
font-family: “Stereohead”;
src: url(“https://cdn.shopify.com/s/files/1/0717/6831/0072/files/Stereohead.woff2?v=1777386173”) format(“woff2”);
font-weight: normal;
font-style: normal;
font-display: swap;
}
body {
--font-heading--family: Stereohead,sans-serif;
--font-body--family: Stereohead,sans-serif;
}
tim_1 also wisely pointed out that adding this to your assets/base.css file or even directly into your Theme Settings' Custom CSS section would be the right place for such code.
Despite these efforts, dreamtechzone_5 reported back, "This code is not working." And that's where things got interesting! mastroke quickly chimed in, noting a common copy-paste issue: "it is not working because of wrongly used of syntaxt, try using the straight quotes." Indeed, sometimes those curly quotes that pop up from text editors can break your CSS. While mastroke provided an updated code block, which also curiously contained curly quotes but was intended to fix syntax, the core problem for the login form persisted.
@font-face {
font-family: “Stereohead”;
src: url(“https://cdn.shopify.com/s/files/1/0717/6831/0072/files/Stereohead.woff2?v=1777386173”) format(“woff2”);
font-weight: normal;
font-style: normal;
font-display: swap;
}
/* THE ULTIMATE UNIVERSAL FONT OVERRIDE
Targeting: Body, Headings, Form elements, Tables, and Shopify Custom Components
*/
body,
p,
a,
li,
span,
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
input,
select,
textarea,
option,
button,
.button,
.product-badges__badge,
summary,
.details__header,
.email-signup__heading,
.email-signup__input,
.price,
.rte p,
.facet-filters__sort,
.product-count__text,
/* Cart Specific Elements */
text-component,
dt,
dd,
.cart-items__variant,
.cart-totals__total-value,
.cart-totals__tax-note,
.cart-totals__tax-note small,
.cart-items__details,
.cart-primary-typography,
.cart-secondary-typography {
font-family: “Stereohead”, sans-serif !important;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* Force Table and List alignment for variants */
.cart-items__variants dt,
.cart-items__variants dd {
font-family: “Stereohead”, sans-serif !important;
font-style: normal !important;
}
/* Ensure the total and subtext in cart are covered */
.cart-totals__total-value,
.cart-totals__tax-note small {
font-family: “Stereohead”, sans-serif !important;
}
This led to tim_1 sharing an image showing that even with cleaner code, while the rest of the page might pick up the custom font, the actual login form elements were still stubbornly defaulting. This screenshot really highlights the problem:

This led to the crucial revelation from Moeed, who dropped the mic with the definitive explanation:
The Hidden Truth About Shopify's New Customer Accounts
Here's the deal: if you're using Shopify's "New Customer Accounts" (which most newer stores are, and older ones are encouraged to migrate to), your login, registration, account dashboard, and order history pages aren't actually part of your theme anymore. Mind blown, right?
Moeed clarified that these pages are hosted directly on shopify.com and often render within an iframe or on a completely separate Shopify domain. This means your theme's CSS, no matter how comprehensive or full of !important tags, simply never loads on those specific pages. It's like trying to paint a house from a different continent – your brush just can't reach!
So, all those brilliant CSS overrides? They're perfectly valid for your main store, product pages, cart, and everything else within your theme's control. But for the "New Customer Accounts" section, they're essentially trying to style a page that lives outside your theme's universe. This is why tim_1 also mentioned, "Override fonts on “login with shop” vidget may be not possible, as it’s Shopify-branded."
What Are Your Options for Branding Login Forms?
Alright, so if direct CSS isn't the answer, what can you do if a consistent brand font on your login page is critical? Moeed laid out the two practical options:
Option 1: Revert to Classic Customer Accounts
This is the "old school" way, but it gives you back full control over the styling. If having your custom font on every single customer-facing page is non-negotiable, this might be your best bet.
How to do it:
- Log in to your Shopify Admin.
- Go to Settings > Customer accounts.
- Under the "Accounts in your online store" section, select "Classic customer accounts".
Pros: Your customer account pages will now live within your theme, allowing your custom CSS (like the one dreamtechzone_5 or websensepro provided) to apply fully. You'll finally see your 'Stereohead' font everywhere!
Cons: You'll lose access to some of the newer, more streamlined features and improved security that come with Shopify's "New Customer Accounts." Shopify is generally pushing merchants towards the new system, so be aware you might miss out on future enhancements.
Option 2: Stick with New Customer Accounts and Accept the Limitations
This is the modern approach, and for many stores, the benefits of the new customer account system outweigh the inability to apply a custom font on these specific pages.
What you can customize:
While you can't inject custom CSS for fonts, you can still apply some branding:
- Log in to your Shopify Admin.
- Go to Settings > Customer accounts.
- Scroll down to the "New customer accounts" section and click "Edit style".
Here, you can typically customize your logo and some basic color schemes to keep the overall look somewhat consistent with your brand. The font, however, will remain Shopify's default for those pages.
Pros: You get the latest features, better security, and a more seamless experience for your customers (as Shopify continues to develop this system). For many, a slightly different font on the login page isn't a dealbreaker compared to these benefits.
Cons: You simply cannot apply your custom font to the login, registration, or account dashboard pages. You'll have to accept Shopify's default font for those specific elements.

Ultimately, the choice comes down to your priorities. Is absolute font consistency across every single page a make-or-break for your brand, even if it means sacrificing some modern functionality? Or are you willing to let Shopify handle the login page aesthetics in exchange for a more updated customer account experience? This community discussion really highlighted that sometimes, the solution isn't about finding the perfect piece of code, but understanding the underlying architecture of the platform itself. Keep these insights in mind as you continue to fine-tune your Shopify store's branding!