๐จ How to set Custom CSS for Appointment Bookings App
Want your booking widget to match your storeโs branding exactly? Hoppy Appointments lets you add your own CSS on top of the built-in design settings, so you can fine-tune fonts, colors, spacing, buttons, and more.
This guide walks you through adding and applying custom CSS to the booking widget.
โ ๏ธ Before You Begin
Before using custom CSS, make sure you have:
- The Hoppy Appointments app installed on your Shopify store
- At least one active service
- Basic familiarity with CSS selectors and declarations
๐ก For most design changes โ colors, fonts, logos, and button styles โ use the built-in Design settings first. Custom CSS is best when you need changes the built-in options donโt cover.
For a full overview of the built-in design options, see Appointment Bookings โ Design & Styling Options.
๐ ๏ธ Step 1 โ Open the Custom CSS Editor
Custom CSS can be managed in two places.
Global CSS (applies to all services by default)
- Open the Hoppy Appointments app
- Click Settings in the app menu
- Click Design
- Scroll down to the Custom CSS card at the bottom of the page
Per-service CSS (overrides global CSS for one service)
- Open the Hoppy Appointments app
- Go to Services
- Click the service you want to style
- Click the Design tab
- Make sure that Do not Follow Default Theme Settings should be checked
- Scroll down to the Custom CSS card
๐ ๏ธ Step 2 โ Choose Global or Service-Level CSS
When editing CSS on a serviceโs Design tab, youโll see a toggle:
Do not Follow Default Theme Settings
- Off โ the service uses the global CSS from Settings โ Design
- On โ the service uses its own CSS from the service-level Design tab
This lets you keep one consistent style across all services, or give specific services a unique look.
๐ ๏ธ Step 3 โ Write Your CSS
The CSS editor starts with a default template that includes the most common widget selectors. You can replace or extend the template with your own rules.
Main wrapper classes
Selector | What it targets |
|---|---|
| The entire booking widget |
| The main booking dialog (desktop) |
| The main booking dialog (mobile) |
| The service details panel |
Common selectors you can style
Selector | What it targets |
|---|---|
| Confirm / Book button |
| Continue button |
| Back button |
| Selected time slot |
| Selected calendar date |
| Customer booking form |
| Success / confirmation page |
Example
.futureblink-appointment .confirm-btn {
background-color: #2563eb;
color: #ffffff;
border-radius: 8px;
}
.futureblink-appointment.mobile .confirm-btn {
background-color: #1d4ed8;
}
โน๏ธ You do not need to add !important to your declarations. Hoppy Appointments automatically appends !important when the CSS is injected into the widget, which helps your rules override the default styles.
๐ ๏ธ Step 4 โ Apply the CSS
After entering your CSS, click the Apply button below the editor.
- Apply โ enables the custom CSS and injects it into the booking widget
- Reset โ disables the custom CSS and reverts the editor to the default template
โ ๏ธ Custom CSS only takes effect after you click Apply. Pasting CSS into the field alone does not change the widget appearance.
๐พ Step 5 โ Save and Preview
- Click Save in the top bar
- Wait for the confirmation message
- Preview the booking widget on your storefront or in the admin preview panel
If you edited per-service CSS, make sure the Do not Follow Default Theme Settings toggle is turned on, otherwise the global CSS will still be used.
๐ก Tips & Best Practices
- Start small โ change one element at a time so you can see what each rule affects
- Use specific selectors โ target
.futureblink-appointment .your-classinstead of broad selectors that might affect other parts of your store - Test on mobile โ use the
.futureblink-appointment.mobileprefix to adjust the mobile layout separately - Keep a backup โ copy your working CSS into a notes file before clicking Reset
- Use the built-in design settings first โ colors, fonts, and logos are easier to manage there and donโt require CSS knowledge
๐ Troubleshooting
My CSS isnโt showing on the storefront
- Make sure you clicked Apply in the Custom CSS editor
- Make sure you clicked Save at the top of the page
- For per-service CSS, make sure Do not Follow Default Theme Settings is turned on
- Check that your selectors match the actual widget class names
- Clear your browser cache or test in an incognito window
The widget reverted to the default look
Clicking Reset disables the CSS and restores the default template. If you want your custom rules back, paste them in again and click Apply.
Some rules donโt work
The auto !important injection works best with simple property: value; declarations. Very complex CSS โ such as @media queries, @keyframes, or nested selectors โ may not be transformed reliably. Keep your rules straightforward for the most consistent results.
๐ Related Articles
- Appointment Bookings โ Design & Styling Options
- How to Configure Meeting Locations for Appointment Bookings
- How to Set Up Appointment Booking Services
Updated on: 20/08/2026
Thank you!