Skip to content

Customize your widget's colors and style

With Widget V2 you can style your badge and carousel widgets to match your website. There are two ways to do it: visual controls in the dashboard with no code, or CSS for developers who want full control.

  1. Open Website widgets, switch to the Your widgets tab, and click the gear icon next to a V2 widget.

  2. On Step 1, pick a light or dark base and choose which elements to show (logo, button, verification).

  3. Go to Step 2: Appearance. This is where you set the colors and shape.

    Widget: Background, Text, Secondary text, Border, Border width, and Widget corners (corner roundness).

    Button: Background, Background on hover, Text, Border, Border width, and Button corners.

    Stars: Active star and Inactive star colors.

    Drawer (opens on click): colors and width for the panel that opens when a visitor clicks the badge, including the scrollbar, dividers, muted text, links, and tooltips.

    Step 2 Appearance, showing the widget color controls and a live preview

  4. Watch the live preview on the right update as you change values, then save. Your website picks up the new look automatically.

V2 widgets expose a set of CSS custom properties (CSS variables) as a public styling API. Set them on the widget’s container element on your website:

<div class="reviewforest-app-xxxxxxxx"></div>
<style>
.reviewforest-app-xxxxxxxx {
--rf-bg: #ffffff;
--rf-text: #1a1a1a;
--rf-primary: #2f8f4e; /* button background */
--rf-primary-text: #ffffff; /* text on the button */
--rf-radius: 8px;
--rf-font: "Inter", sans-serif;
}
</style>

Replace xxxxxxxx with your widget’s ID (it’s part of the class in the snippet you copied from the dashboard). You only need to set the properties you want to change — everything else keeps its default.

VariableControls
--rf-primaryButton / call-to-action background
--rf-primary-textText on the button
--rf-primary-hoverButton background on hover
--rf-bgBackground color
--rf-textMain text color
--rf-text-secondarySecondary text color
--rf-text-mutedMuted / meta text color
--rf-borderBorder color
--rf-border-subtleDivider / hairline color
--rf-radiusCorner roundness (container)
--rf-radius-buttonCorner roundness (buttons)
--rf-fontFont family
--rf-font-sizeBase font size
--rf-focusFocus-ring color (keyboard navigation)
--rf-linkLink color
--rf-link-hoverLink color on hover
--rf-star-filledFilled star color
--rf-star-emptyEmpty star color
--rf-warning-bgWarning banner background
--rf-warning-textWarning banner text
VariableControls
--rf-shadowBadge drop-shadow
--rf-border-widthBadge border thickness
--rf-badge-paddingBadge inner padding
--rf-badge-gapGap between badge areas
--rf-badge-hoverBadge hover background
VariableControls
--rf-drawer-widthDrawer panel width
--rf-drawer-gapSpacing between drawer sections
--rf-drawer-shadowDrawer drop-shadow
--rf-drawer-scrollbarScrollbar color
--rf-tooltip-bgTooltip background
--rf-tooltip-textTooltip text color
VariableControls
--rf-slide-widthCard slide width
--rf-slide-gapGap between slides
--rf-dot-activeActive pagination dot color
--rf-dot-inactiveInactive pagination dot color
--rf-dot-scaleActive dot scale factor
--rf-dots-widthPagination dots container width
--rf-button-borderNavigation button border color
--rf-button-border-widthNavigation button border width

V2 widgets render inside an isolated container (a Shadow DOM). That means your customizations apply cleanly to the widget, and the widget never accidentally changes the look of the rest of your website.

Open Website widgets