The chat widget renders inside an isolated container. Your theme’s CSS cannot reach into it, and its CSS cannot leak out into your site.
That is the single most important thing to understand before trying to style it, because it is why the usual approach — write some CSS, target the classes — does not work here.
Why it is isolated
Two problems, both real, both solved by the same decision:
- Your theme cannot break the chat. A widget that inherits arbitrary theme CSS looks broken on some fraction of sites, and every one of those is a support conversation.
- The chat cannot break your theme. A widget that ships a CSS reset, or
styles
buttonglobally, changes your site in ways nobody asked for.
The result is a widget that looks and behaves the same on every theme.
What you can change without code
Sohay → AI Settings carries the settings that shape what visitors see: whether the widget appears at all, and the welcome message that greets them.
What you can change with code
Sohay exposes filters for the widget’s branding and UI. A developer can adjust what the widget presents rather than restyling it from the outside.
Two that are useful beyond branding, for anyone reselling or white-labelling:
sohaychat_help_url— overrides the admin header’s Help link.sohaychat_upgrade_url— overrides the Upgrade link.
Both are admin-side, and both exist so the plugin can point at your support rather than ours.
What isolation costs you
Worth knowing, because these surprise people:
- Translation plugins do not translate the chat’s own wording. Sohay’s labels go through WordPress’s standard translation files instead, and the chatbot replies in whatever language the visitor writes in.
- Session-replay and heatmap tools record the widget as a blank area.
- Accessibility overlays cannot restyle it.
Screen readers and keyboard navigation are unaffected. Assistive technology reads the accessibility tree, which the isolation does not hide. This is the distinction that matters: the widget is invisible to scripts scraping the page, not to people using it.
Why other plugins can’t see inside the chat covers all of this properly.
The Knowledge Base pages are different
None of this applies to your public Knowledge Base pages. Those are ordinary theme territory — they inherit your fonts and colours by design, and you can restyle or replace them freely. See Restyling the Knowledge Base pages.
Where to go next
Why other plugins can’t see inside the chat, if something you expected to reach the widget cannot.