Files
luftglanz/css/components/ai-chat.css
Luftglanz ac7088c5ca Initial commit: Luftglanz drone website with integrated AI chat assistant
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
2025-07-08 11:54:37 +02:00

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;
}
}