Widget customization
This tutorial is mostly a collection of visual changes to the widget through data-styles attribute.
Full-width widget
The only thing you need to do is to add display: block to data-styles (and make sure form itself is wide enough).
Large widget
There’re 2 things you can do: changing font-size scales everything inside the widget and stretching widget itself is done with display attribute (which by default is inline-block).
Border customization
Border color is customized with --border variable (a proxy to border CSS property) and border radius is customized with --border-radius
Box shadow
Make sure that container’s parent (or form itself) has the same border-radius so there’re no visual conflicts. Also make sure the container does not have overflow: hidden.
Accent colors
Here’s how to make a red widget. You need to override --border (obviously), then --accent-color, --pie-color and --checkbox-hover-color.
Responsive size
For mobile clients we want to show a smaller widget. We can achieve this using font-size and clamp CSS built-in to have smth like font-size: clamp(18px, 4vw, 20px). Trick can be also used to things like --extra-spacing.
Extra spacing
Depending on preferred widget size, you might want to add more horizontal padding between sides and checkbox and logo. You can achieve that using --extra-spacing.
Even more customization
For absolutely custom visualization, you can make Private Captcha widget “invisible” and make your own visualizations based on widget’s callbacks and/or events. You can see an example of it in the linked page.