Features: - Complete Luftglanz drone cleaning website - AI chat assistant integrated with OpenAI API - Expert product advice for AGO Quart and Mellerud cleaning products - Formal German language support (Sie form) - Secure PHP backend for API calls - Responsive design with mobile support - Product-specific knowledge base - Safety statements from manufacturers - Multi-page integration (index, products, services, contact) Technical components: - AI chat widget (js/ai-chat.js) - Chat styling (css/components/ai-chat.css) - Backend API (ai-chat-api.php) - Product knowledge base with detailed specifications - Demo and documentation files
301 lines
5.4 KiB
CSS
301 lines
5.4 KiB
CSS
/* AI Chat Widget Styles */
|
|
|
|
/* Chat Toggle Button */
|
|
#ai-chat-toggle {
|
|
position: fixed;
|
|
bottom: 20px;
|
|
right: 20px;
|
|
background: linear-gradient(135deg, #2980b9, #00adb8);
|
|
color: white;
|
|
border-radius: 50px;
|
|
padding: 15px 20px;
|
|
cursor: pointer;
|
|
box-shadow: 0 4px 20px rgba(41, 128, 185, 0.3);
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
font-weight: 600;
|
|
font-size: 14px;
|
|
transition: all 0.3s ease;
|
|
z-index: 1000;
|
|
border: none;
|
|
font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
|
|
}
|
|
|
|
#ai-chat-toggle:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 6px 25px rgba(41, 128, 185, 0.4);
|
|
}
|
|
|
|
#ai-chat-toggle.active {
|
|
background: linear-gradient(135deg, #1f6797, #00858e);
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
#ai-chat-toggle svg {
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
|
|
/* Chat Window */
|
|
#ai-chat-window {
|
|
position: fixed;
|
|
bottom: 90px;
|
|
right: 20px;
|
|
width: 350px;
|
|
height: 500px;
|
|
background: white;
|
|
border-radius: 15px;
|
|
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
|
|
transform: translateY(100%) scale(0.8);
|
|
opacity: 0;
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
z-index: 999;
|
|
overflow: hidden;
|
|
font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
|
|
border: 1px solid rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
#ai-chat-window.open {
|
|
transform: translateY(0) scale(1);
|
|
opacity: 1;
|
|
}
|
|
|
|
/* Chat Header */
|
|
.chat-header {
|
|
background: linear-gradient(135deg, #2980b9, #00adb8);
|
|
color: white;
|
|
padding: 15px 20px;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
border-radius: 15px 15px 0 0;
|
|
}
|
|
|
|
.chat-header h3 {
|
|
margin: 0;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
#chat-close {
|
|
background: none;
|
|
border: none;
|
|
color: white;
|
|
font-size: 24px;
|
|
cursor: pointer;
|
|
padding: 0;
|
|
width: 30px;
|
|
height: 30px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
border-radius: 50%;
|
|
transition: background 0.2s ease;
|
|
}
|
|
|
|
#chat-close:hover {
|
|
background: rgba(255, 255, 255, 0.2);
|
|
}
|
|
|
|
/* Chat Messages */
|
|
.chat-messages {
|
|
height: 360px;
|
|
overflow-y: auto;
|
|
padding: 15px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
background: #f8f9fa;
|
|
}
|
|
|
|
.chat-messages::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
|
|
.chat-messages::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
|
|
.chat-messages::-webkit-scrollbar-thumb {
|
|
background: #ccc;
|
|
border-radius: 3px;
|
|
}
|
|
|
|
.chat-messages::-webkit-scrollbar-thumb:hover {
|
|
background: #999;
|
|
}
|
|
|
|
/* Message Styling */
|
|
.message {
|
|
display: flex;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.message-content {
|
|
max-width: 80%;
|
|
padding: 12px 16px;
|
|
border-radius: 18px;
|
|
font-size: 14px;
|
|
line-height: 1.4;
|
|
word-wrap: break-word;
|
|
}
|
|
|
|
.user-message {
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.user-message .message-content {
|
|
background: linear-gradient(135deg, #2980b9, #00adb8);
|
|
color: white;
|
|
border-bottom-right-radius: 6px;
|
|
}
|
|
|
|
.bot-message {
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.bot-message .message-content {
|
|
background: white;
|
|
color: #333;
|
|
border: 1px solid #e1e5e9;
|
|
border-bottom-left-radius: 6px;
|
|
}
|
|
|
|
/* Typing Indicator */
|
|
.typing .message-content {
|
|
padding: 16px;
|
|
}
|
|
|
|
.typing-dots {
|
|
display: flex;
|
|
gap: 4px;
|
|
align-items: center;
|
|
}
|
|
|
|
.typing-dots span {
|
|
width: 8px;
|
|
height: 8px;
|
|
background: #666;
|
|
border-radius: 50%;
|
|
animation: typing 1.4s infinite ease-in-out;
|
|
}
|
|
|
|
.typing-dots span:nth-child(1) {
|
|
animation-delay: -0.32s;
|
|
}
|
|
|
|
.typing-dots span:nth-child(2) {
|
|
animation-delay: -0.16s;
|
|
}
|
|
|
|
@keyframes typing {
|
|
0%, 80%, 100% {
|
|
opacity: 0.3;
|
|
transform: scale(0.8);
|
|
}
|
|
40% {
|
|
opacity: 1;
|
|
transform: scale(1);
|
|
}
|
|
}
|
|
|
|
/* Chat Input */
|
|
.chat-input-container {
|
|
padding: 15px;
|
|
background: white;
|
|
border-top: 1px solid #e1e5e9;
|
|
display: flex;
|
|
gap: 10px;
|
|
align-items: flex-end;
|
|
}
|
|
|
|
#chat-input {
|
|
flex: 1;
|
|
border: 1px solid #ddd;
|
|
border-radius: 20px;
|
|
padding: 12px 16px;
|
|
font-size: 14px;
|
|
resize: none;
|
|
outline: none;
|
|
font-family: inherit;
|
|
transition: border-color 0.2s ease;
|
|
}
|
|
|
|
#chat-input:focus {
|
|
border-color: #2980b9;
|
|
}
|
|
|
|
#chat-send {
|
|
background: linear-gradient(135deg, #2980b9, #00adb8);
|
|
border: none;
|
|
border-radius: 50%;
|
|
width: 40px;
|
|
height: 40px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
color: white;
|
|
}
|
|
|
|
#chat-send:hover {
|
|
transform: scale(1.05);
|
|
box-shadow: 0 4px 12px rgba(41, 128, 185, 0.3);
|
|
}
|
|
|
|
#chat-send:active {
|
|
transform: scale(0.95);
|
|
}
|
|
|
|
/* Mobile Responsiveness */
|
|
@media (max-width: 768px) {
|
|
#ai-chat-window {
|
|
width: calc(100vw - 40px);
|
|
height: 450px;
|
|
bottom: 80px;
|
|
right: 20px;
|
|
left: 20px;
|
|
}
|
|
|
|
#ai-chat-toggle {
|
|
bottom: 15px;
|
|
right: 15px;
|
|
padding: 12px 16px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
#ai-chat-toggle span {
|
|
display: none;
|
|
}
|
|
|
|
.chat-messages {
|
|
height: 320px;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 480px) {
|
|
#ai-chat-window {
|
|
width: calc(100vw - 20px);
|
|
height: 400px;
|
|
bottom: 70px;
|
|
right: 10px;
|
|
left: 10px;
|
|
}
|
|
|
|
#ai-chat-toggle {
|
|
bottom: 10px;
|
|
right: 10px;
|
|
}
|
|
|
|
.chat-messages {
|
|
height: 280px;
|
|
padding: 10px;
|
|
}
|
|
|
|
.chat-input-container {
|
|
padding: 10px;
|
|
}
|
|
}
|