There are multiple font families being loaded on your site, which can definitely lead to conflicts. On your provided page, I've observed the following font families attempting to load or being applied:
Karla, sans-serif
'Times New Roman'
Arial
Montserrat, sans-serif
Bebas Neue, sans-serif
And other system fallbacks from the root directory such as Helvetica Neue, Cantarell, Roboto, Oxygen-Sans, Segoe UI, etc.
The presence of so many different font declarations increases the likelihood of one overriding another, especially if they have higher specificity or are loaded later in the cascade.
When you upload a custom font, it's essential to provide various formats (e.g., .woff, .woff2, .ttf, .eot, .svg) for cross-browser compatibility. If the browser encounters a font format it doesn't support, or if a specific format is corrupted or missing, it will silently fall back to the next font in the font-family declaration. A .ttf file alone might not be sufficient for all browsers or scenarios.
Instead of functions.php
, utilize Elementor's built-in "Custom Fonts" feature (Elementor > Custom Fonts).
Upload all necessary font file formats (.woff, .woff2, .ttf at minimum) for Bebas Neue directly through this interface. Elementor will then generate the @font-face rules and handle their enqueueing and application.
Once uploaded, select "Bebas Neue" as the default font or apply it to specific elements/sections within the Elementor editor for that page. This is Elementor's intended way to manage custom fonts and often resolves specificity conflicts.
Use your browser's developer tools to meticulously examine the font-family declaration on the elements where Bebas Neue should be applied.
Look for the "Computed" tab in the inspector. This will show you the actual font being rendered, not just the declared font-family. If it says "Poppins" in the "Computed" tab, it confirms the fallback.
Also, in the "Styles" tab, carefully trace the CSS rules to see which font-family declaration is ultimately winning and why (e.g., a theme rule, another plugin, or a more specific Elementor style).
Disable all plugins except Elementor and Elementor Pro (if applicable). Clear caches. If Bebas Neue loads, re-enable plugins one by one to find the culprit.
Switch to a default WordPress theme (e.g., Twenty Twenty-Four). If Bebas Neue loads, your current theme is likely interfering. You can then investigate your theme's style.css more aggressively or consult the theme developer.
If you're using a CDN, ensure it's correctly configured to serve your font files. Sometimes CDN caching or misconfigurations can cause problems.