I’m working on a custom Shopify section (Dawn theme) and I’m having trouble removing the default borders from text input fields. Despite setting border: none and using box-shadow for styling in my CSS, the inputs still display visible black border outlines that don’t match my design.
The inputs appear to have a thin black border/outline that I can’t remove through CSS. Has anyone experienced this with Dawn theme sections? Could there be global CSS from the theme overriding my styles, or is there something specific about Shopify’s form rendering I’m missing?
Thanks for explaining it. Could you please share the store url so that I can take a look and provide you the solution code. As you are working on the custom section so it might be the coding conflicting or the border comes from the other css property.
What you’re seeing isn’t a normal CSS border; it’s most likely coming from Dawn’s default input styles or the browser’s native appearance that Dawn partially overrides.
Add this stronger and more targeted CSS to your section (or theme editor “Custom CSS” area):
The Dawn theme applies its own input styles via the .field__input class. Even if you target input[type="text"], the theme’s CSS adds a subtle border and box‑shadow on .field__input and its wrapper.
To remove the border around a text box in a custom section you need to override those styles with higher specificity. For example:
Using a wrapper class like .custom-section in your section ensures your overrides don’t affect other inputs. The important things are:
Target the .field__input class (Dawn assigns this class via JavaScript) rather than just input[type=text].
Remove both the border and the box‑shadow. Dawn uses a box shadow to simulate the border on focus, so setting box-shadow: none is necessary.
If you still see a border, you can override the CSS variable --inputs-border-width or set appearance: none on the input.
A quick way to see what rule is adding the border is to open Developer Tools (right‑click → Inspect) and look at the computed styles for the input. Then override those rules with a more specific selector.
Thank you for your response. It’s good to know that it’s worked for you. Kindly feel free to get back to me if you need any further assistance. If helpful, please like all posts.