How theming works
Every template ships with aglobals.css file that defines CSS custom properties. Tailwind maps these variables to utility classes, and all Crave components use those classes. Change a variable, and every component updates.
Change brand colors
Update the--primary variable to match your brand. Use HSL values (hue, saturation, lightness):
Customize fonts
Templates usenext/font for self-hosted fonts with zero layout shift. Update the font in layout.tsx:
.woff, .woff2):
Customize component styles
Crave components use Tailwind utility classes with shadcn/ui’scn() helper. Override styles by passing className:
src/components/ directory — they are not locked in a package.
Border radius
Control the roundness of all components with the--radius variable:
Dark mode
Templates support dark mode out of the box using Tailwind’sdark: variant. Toggle dark mode by adding the dark class to the <html> element:
Restaurant branding
Load the restaurant’s branding dynamically from the API:restaurantLogo and coverPhoto for location-specific branding.