Custom CSS
Overview
With Custom CSS you can fully customize the appearance of your WPiko AI Chatbot beyond the built-in styling options. Using CSS, you can modify colors, fonts, animations, layouts, and create unique designs that perfectly match your website’s branding and aesthetic preferences.
Where to Add Custom CSS
Built-in WordPress Customizer (Easiest)
This is the recommended method for beginners and simple customizations:
- Go to your WordPress admin dashboard
- Navigate to Appearance → Customize → Additional CSS
- Add your custom CSS code in the text area
- Click Publish to save your changes
Benefits:
Child Theme (Recommended for Extensive Customization)
For advanced customizations and multiple CSS rules:
- Create a child theme if you don’t have one already
- Open your child theme’s
style.css
file - Add your custom CSS at the end of the file
- Save the file and upload it to your server
Benefits:
Available CSS Classes and Selectors
Main Container Classes
Chatbot
css
/ Main chatbot container /
#wpiko-chatbot-container {
/ Customize the overall chatbot appearance /
}/ Chatbot header /
#chatbot-header {
/ Customize header background, padding, etc. /
}/ Messages area /
#chatbot-messages {
/ Customize the conversation area /
}
/ Input container /
#input-container {
/ Customize the input area wrapper /
}
Floating Chatbot
css
/ Floating chatbot icon /
#wpiko-chatbot-floating-icon {
/ Customize the floating button /
}/ Floating chatbot container /
#wpiko-chatbot-floating-container {
/ Customize the floating chatbot window /
}/ Floating text bubble /
#wpiko-chatbot-floating-text {
/ Customize the text that appears next to floating icon /
}
/ Mobile close button /
#wpiko-chatbot-mobile-close {
/ Customize the mobile close button /
}
Header Elements
css
/ Chatbot image/avatar /
#chatbot-image {
/ Customize bot avatar /
}/ Chatbot name /
#chatbot-name {
/ Customize bot name styling /
}/ Chatbot status indicator /
#chatbot-status {
/ Customize online/offline status /
}#chatbot-status.online {
/ Online status styling /
}#chatbot-status.offline {
/ Offline status styling /
}/ Menu button /
#chatbot-menu-button {
/ Customize the menu button /
}
/ Menu dropdown /
#chatbot-menu-dropdown {
/ Customize the dropdown menu /
}
Message Styling
css
/ User messages /
.message-container .user-message {
/ Customize user message bubbles /
}/ Bot messages /
.message-container .bot-message {
/ Customize bot message bubbles /
}/ Message wrappers with avatars /
.user-message-wrapper {
/ User message container with avatar /
}.bot-message-wrapper {
/ Bot message container with avatar /
}/ Message avatars /
.message-avatar {
/ General avatar styling /
}.message-avatar.user-avatar {
/ User avatar specific styling /
}
/ User avatar SVG icon /
.user-avatar-svg {
/ Customize user avatar icon /
}
Input Area
css
/ Input container /
#chatbot-input-container {
/ Customize the input wrapper /
}/ Text input field /
#chatbot-input {
/ Customize the message input field /
}/ Send button /
#chatbot-send {
/ Customize the send button /
}
#chatbot-send svg {
/ Customize the send button icon /
}
Pre-made Questions
css
/ Questions container /
#pre-made-questions {
/ Customize the questions area /
}/ Individual question buttons /
.pre-made-question {
/ Customize question button styling /
}
.pre-made-question:hover {
/ Question button hover effects /
}
Loading Animation
css
/ Loading dots container /
.loading-dots {
/ Customize loading animation container /
}.loading-dots .dot {
/ Individual loading dots /
}
/ Loading message container /
.message-container.loading {
/ Container for loading messages /
}
Error Messages
css
/ General error messages /
.error-message {
/ Basic error styling /
}
/ Configuration errors /
.error-message.config_error {
/ Specific config error styling /
}
Pro Features (WPiko Chatbot Pro)
Email Capture
css
/ Email capture overlay /
#email-capture-overlay-container {
/ Full overlay container /
}#email-capture-overlay {
/ Email capture form container /
}#email-capture-overlay h3 {
/ Email capture title /
}#email-capture-overlay input[type="email"] {
/ Email input field /
}
#email-capture-overlay button {
/ Email submit button /
}
Contact Form
css
/ Contact form message container /
.contact-form-message {
/ Contact form wrapper /
}/ Contact form /
#wpiko-contact-form {
/ Main contact form /
}#wpiko-contact-form .form-group {
/ Form field groups /
}#wpiko-contact-form input,
#wpiko-contact-form textarea {
/ Form input fields /
}#wpiko-contact-form button {
/ Form buttons /
}#contact-form-submit {
/ Submit button /
}
#contact-form-cancel {
/ Cancel button /
}
Product Cards
css
/ Product card container /
.message-container .product-link-container {
/ Product card wrapper /
}/ Product image /
.message-container .product-image {
/ Product image styling /
}/ Product information /
.message-container .product-info {
/ Product details container /
}/ Product name /
.message-container .product-name {
/ Product title styling /
}/ Product description /
.message-container .product-description {
/ Product description text /
}
/ Product price /
.message-container .product-price {
/ Product price styling /
}
Common Customization Examples
Change Chatbot Width and Height
css
#wpiko-chatbot-container {
max-width: 500px; / Custom width /
}
#chatbot-messages {
height: 400px; / Custom height /
}
Custom Message Bubble Styling
css
/ Rounded user messages /
.message-container .user-message {
border-radius: 25px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
/ Custom bot messages /
.message-container .bot-message {
background: #f8f9ff;
border-left: 4px solid #667eea;
border-radius: 0 15px 15px 15px;
}
Floating Button Customization
css
/ Custom floating button /
#wpiko-chatbot-floating-icon {
background: linear-gradient(135deg, #ff6b6b, #ee5a24);
width: 70px;
height: 70px;
bottom: 30px;
right: 30px;
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.1); }
100% { transform: scale(1); }
}
Header Customization
css
/ Custom header styling /
#chatbot-header {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
text-align: center;
padding: 20px;
}
#chatbot-name {
font-size: 18px;
font-weight: bold;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
Input Area Styling
css
/ Modern input styling /
#chatbot-input-container {
background: #f8f9fa;
border-radius: 25px;
border: 2px solid #e9ecef;
transition: border-color 0.3s ease;
}#chatbot-input-container:focus-within {
border-color: #007cba;
}#chatbot-input {
background: transparent;
font-size: 16px;
color: #333;
}#chatbot-send {
background: linear-gradient(135deg, #28a745, #20c997);
transition: transform 0.2s ease;
}
#chatbot-send:hover {
transform: scale(1.1);
}
Mobile Responsive Adjustments
css
/ Mobile-specific styling /
@media screen and (max-width: 767px) {
#wpiko-chatbot-floating-container {
/ Full screen on mobile /
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 0;
}
#chatbot-header {
padding-top: 40px; / Account for status bar /
}
#chatbot-input {
font-size: 16px; / Prevent zoom on iOS /
}
}
Animation Effects
css
/ Fade-in animation for messages /
.message-container {
animation: fadeInUp 0.3s ease-out;
}@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}/ Typing indicator animation /
.loading-dots .dot {
animation: typing 1.4s infinite ease-in-out;
}
@keyframes typing {
0%, 80%, 100% {
transform: scale(0);
opacity: 0.5;
}
40% {
transform: scale(1);
opacity: 1;
}
}
Best Practices for Custom CSS
Performance Optimization
Cross-Browser Compatibility
Responsive Design
em
, rem
, and percentages over fixed pixel valuesAccessibility Considerations
Troubleshooting Custom CSS
Common Issues and Solutions
Styles Not Applying
Styles Being Overridden
Mobile Issues
Browser Compatibility
Advanced Customization Techniques
CSS Grid and Flexbox
css
/ Advanced layout with CSS Grid /
#chatbot-messages {
display: grid;
grid-template-columns: 1fr;
gap: 10px;
}/ Flex-based message alignment /
.message-wrapper {
display: flex;
align-items: flex-end;
justify-content: flex-start;
}
.user-message-wrapper {
justify-content: flex-end;
}
CSS Transforms and Transitions
css
/ Smooth animations /
.pre-made-question {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}.pre-made-question:hover {
transform: translateY(-2px) scale(1.02);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}/ Micro-interactions /
#chatbot-send {
transition: transform 0.1s ease-out;
}
#chatbot-send:active {
transform: scale(0.95);
}
Custom Scrollbars
css
/ Webkit-based browsers /
#chatbot-messages::-webkit-scrollbar {
width: 6px;
}#chatbot-messages::-webkit-scrollbar-track {
background: transparent;
}#chatbot-messages::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.2);
border-radius: 3px;
}
#chatbot-messages::-webkit-scrollbar-thumb:hover {
background: rgba(0, 0, 0, 0.4);
}
Integration with Popular Themes
Compatibility Notes
Theme-Specific Adjustments
Different themes may require specific CSS adjustments. Always test your customizations with your active theme and make adjustments as needed.
Applying Changes
After adding your custom CSS:
- Save your changes in your chosen method (Customizer, child theme, or plugin)
- Clear any caching (browser cache, WordPress cache plugins)
- Test thoroughly across different devices and browsers
- Monitor performance to ensure your CSS doesn’t impact page load times
Getting Help
If you encounter issues with custom CSS:
- Check Browser Console: Look for CSS errors in developer tools
- Validate Your CSS: Use online CSS validators to check syntax
- Community Support: Reach out to the WordPress or WPiko community
- Professional Help: Consider hiring a CSS developer for complex customizations
Remember: Custom CSS gives you unlimited control over your chatbot’s appearance, but with great power comes great responsibility. Always test your changes thoroughly and keep backups of your working configurations.