PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 1.2
MxChat – AI Chatbot & Content Generation for WordPress v1.2
3.2.21 3.2.20 3.2.19 3.2.18 3.2.17 3.2.16 3.2.15 3.2.14 3.2.12 3.2.13 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 2.0.3 2.0.4 2.0.5 2.0.6 All 152 releases
← All changes | css/chat-style.css +219 -1693 3.2.101.2 View file →
@@ -1,895 +1,190 @@
1 -/* ========================================
2 - NOTIFICATION SYSTEM
3 - ======================================== */
4 -.chat-notification-badge {
5 - animation: notification-pulse 2s infinite;
6 - box-shadow: 0 0 0 rgba(255, 68, 68, 0.4);
7 - transition: all 0.3s ease;
8 -}
9 -
10 -@keyframes notification-pulse {
11 - 0% {
12 - transform: scale(1);
13 - box-shadow: 0 0 0 0 rgba(255, 68, 68, 0.4);
14 - }
15 - 70% {
16 - transform: scale(1.1);
17 - box-shadow: 0 0 0 10px rgba(255, 68, 68, 0);
18 - }
19 - 100% {
20 - transform: scale(1);
21 - box-shadow: 0 0 0 0 rgba(255, 68, 68, 0);
22 - }
23 -}
24 -
25 -/* ========================================
26 - EMAIL COLLECTION SYSTEM
27 - ======================================== */
28 -.email-blocker {
29 - display: flex;
30 - flex-direction: column;
31 - align-items: center;
32 - justify-content: center;
33 - border-radius: 12px;
34 - padding: 30px 20px;
35 - max-width: 100%;
36 - margin: auto;
37 - text-align: center;
38 - animation: fadeIn 0.5s ease-in-out;
39 -}
40 -
41 -.email-blocker-header {
42 - margin-bottom: 20px;
43 -}
44 -
45 -.email-blocker-logo {
46 - max-width: 80px;
47 - margin-bottom: 10px;
48 -}
49 -
50 -.email-blocker h2 {
51 - font-size: 24px;
52 - font-weight: bold;
53 - color: #333333;
54 - margin-bottom: 10px;
55 -}
56 -
57 -.email-blocker p {
58 - font-size: 16px;
59 - color: #555555;
60 - margin-bottom: 20px;
61 -}
62 -
63 -.email-blocker input[type="email"],
64 -.email-blocker .mxchat-name-input {
65 - width: 100%;
66 - padding: 12px;
1 +#mxchat-popular-questions {
2 + padding: 10px;
67 3 margin-bottom: 15px;
68 - border: 1px solid #ddd;
69 - border-radius: 8px;
70 - font-size: 16px;
71 - color: #333333;
72 - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
73 - transition: border-color 0.3s, box-shadow 0.3s;
74 4 }
75 5
76 -.email-blocker input[type="email"]:focus,
77 -.email-blocker .mxchat-name-input:focus {
78 - border-color: #0073aa;
79 - box-shadow: 0 0 8px rgba(0, 115, 170, 0.3);
80 - outline: none;
81 -}
82 -
83 -.email-blocker button {
84 - background-color: #0073aa;
85 - color: #ffffff;
86 - padding: 12px 20px;
87 - border: none;
88 - border-radius: 8px;
6 +.mxchat-popular-questions-title {
89 7 font-size: 16px;
90 8 font-weight: bold;
91 - cursor: pointer;
92 - width: 100%;
93 - transition: background-color 0.3s, transform 0.2s;
9 + color: #333;
10 + margin-bottom: 10px;
94 11 }
95 12
96 -.email-blocker button:hover {
97 - background-color: #005177;
98 - transform: translateY(-2px);
99 -}
100 -
101 -.email-blocker-footer {
102 - margin-top: 20px;
103 - font-size: 12px;
104 - color: #888888;
105 -}
106 -
107 -.sr-only {
108 - position: absolute;
109 - width: 1px;
110 - height: 1px;
111 - padding: 0;
112 - margin: -1px;
113 - overflow: hidden;
114 - clip: rect(0, 0, 0, 0);
115 - white-space: nowrap;
116 - border: 0;
117 -}
118 -
119 -@keyframes fadeIn {
120 - from {
121 - opacity: 0;
122 - transform: translateY(-10px);
123 - }
124 - to {
125 - opacity: 1;
126 - transform: translateY(0);
127 - }
128 -}
129 -
130 -.mxchat-chatbot-wrapper {
131 - display: none;
132 -}
133 -
134 -/* ========================================
135 - SEARCH RESULTS SYSTEM
136 - ======================================== */
137 -.chatbot-title-icon {
138 - width: 24px;
139 - height: 24px;
140 - object-fit: contain;
141 -}
142 -
143 -.wp-admin .mxchat-search-results,
144 -.wp-content .mxchat-search-results,
145 -.site-content .mxchat-search-results,
146 -.mxchat-search-results {
13 +.mxchat-popular-questions-container {
147 14 display: flex;
148 15 flex-direction: column;
149 - gap: 20px;
150 - margin: 15px 0;
151 - font-size: 14px !important;
16 + gap: 10px;
152 17 }
153 18
154 -.mxchat-search-intro {
155 - font-size: 16px !important;
156 - margin: 0 0 15px 0 !important;
157 - line-height: 1.4 !important;
158 - font-weight: normal !important;
159 -}
160 -
161 -.mxchat-search-item {
162 - padding: 15px !important;
163 - border-radius: 8px !important;
164 - background: #ffffff !important;
165 - border: 1px solid rgba(0, 0, 0, 0.1) !important;
166 -}
167 -
168 -.mxchat-search-header {
169 - display: flex !important;
170 - align-items: center !important;
171 - gap: 8px !important;
172 - margin-bottom: 8px !important;
173 -}
174 -
175 -.mxchat-site-icon {
176 - width: 16px !important;
177 - height: 16px !important;
178 - flex-shrink: 0 !important;
179 -}
180 -
181 -.mxchat-site-url {
182 - font-size: 13px !important;
183 - color: #555 !important;
184 - line-height: 1 !important;
185 -}
186 -
187 -.mxchat-search-content {
188 - display: flex !important;
189 - flex-direction: column !important;
190 - gap: 10px !important;
191 -}
192 -
193 -.mxchat-search-title {
194 - font-size: 16px !important;
195 - line-height: 1.4 !important;
196 - margin: 0 !important;
197 - padding: 0 !important;
198 - font-weight: 600 !important;
199 -}
200 -
201 -.mxchat-search-title a {
202 - text-decoration: none !important;
203 - color: #000 !important;
204 -}
205 -
206 -.mxchat-search-title a:hover {
207 - text-decoration: underline !important;
208 -}
209 -
210 -.mxchat-search-thumbnail {
211 - max-width: 200px !important;
212 - margin: 10px 0 !important;
213 -}
214 -
215 -.mxchat-search-thumbnail img {
216 - max-width: 100% !important;
217 - height: auto !important;
218 - border-radius: 4px !important;
219 -}
220 -
221 -.mxchat-search-description {
222 - font-size: 14px !important;
223 - line-height: 1.6 !important;
224 - color: #333 !important;
225 - margin: 0 !important;
226 - padding: 0 !important;
227 -}
228 -
229 -/* ========================================
230 - ENHANCED HEADINGS & TEXT STYLING
231 - ======================================== */
232 -.bot-message .chat-heading {
233 - color: inherit;
234 - margin: 16px 0 12px 0 !important;
235 - font-weight: bold !important;
236 - line-height: 1.3 !important;
237 -}
238 -
239 -.bot-message h1.chat-heading,
240 -.chat-heading-1 {
241 - font-size: 1.5em !important;
242 - border-bottom: 2px solid rgba(255, 255, 255, 0.3) !important;
243 - padding-bottom: 8px !important;
244 -}
245 -
246 -.bot-message h2.chat-heading,
247 -.chat-heading-2 {
248 - font-size: 1.25em !important;
249 - border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
250 - padding-bottom: 6px !important;
251 -}
252 -
253 -.bot-message h3.chat-heading,
254 -.chat-heading-3 {
255 - font-size: 1.125em !important;
256 -}
257 -
258 -.bot-message h4.chat-heading,
259 -.chat-heading-4 {
260 - font-size: 1em !important;
261 -}
262 -
263 -.bot-message h5.chat-heading,
264 -.chat-heading-5 {
265 - font-size: 0.875em !important;
266 - text-transform: uppercase !important;
267 - letter-spacing: 0.5px !important;
268 -}
269 -
270 -.bot-message h6.chat-heading,
271 -.chat-heading-6 {
272 - font-size: 0.75em !important;
273 - text-transform: uppercase !important;
274 - letter-spacing: 0.5px !important;
275 -}
276 -
277 -.bot-message strong {
278 - font-weight: bold !important;
279 -}
280 -
281 -.bot-message em {
282 - font-style: italic !important;
283 -}
284 -
285 -.bot-message del {
286 - text-decoration: line-through !important;
287 - opacity: 0.7;
288 -}
289 -
290 -/* ========================================
291 - CODE BLOCKS & INLINE CODE
292 - ======================================== */
293 -.mxchat-table-wrapper {
294 - overflow-x: auto;
295 - margin: 12px 0;
296 - -webkit-overflow-scrolling: touch;
297 -}
298 -
299 -.mxchat-table {
300 - width: 100%;
301 - border-collapse: collapse;
302 - font-size: 0.9em;
303 - line-height: 1.4;
304 -}
305 -
306 -.mxchat-table th,
307 -.mxchat-table td {
308 - padding: 8px 12px;
309 - border: 1px solid rgba(128, 128, 128, 0.3);
310 - word-break: break-word;
311 -}
312 -
313 -.mxchat-table thead th {
314 - font-weight: 600;
315 - background: rgba(128, 128, 128, 0.15);
316 -}
317 -
318 -.mxchat-table tbody tr:nth-child(even) {
319 - background: rgba(128, 128, 128, 0.05);
320 -}
321 -
322 -.mxchat-code-block-container {
323 - margin: 16px 0;
19 +.mxchat-popular-question {
20 + padding: 12px 20px;
21 + background-color: #f5f5f5; /* Darker background for better contrast */
22 + border: 1px solid #bbb; /* Darker border for better visibility */
324 23 border-radius: 8px;
325 - background: rgba(255, 255, 255, 0.1);
326 - border: 1px solid rgba(255, 255, 255, 0.2);
327 - overflow: hidden;
328 - font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Courier New', monospace;
329 -}
330 -
331 -.mxchat-code-header {
332 - display: flex;
333 - justify-content: space-between;
334 - align-items: center;
335 - background: rgba(255, 255, 255, 0.15);
336 - padding: 8px 12px;
337 - border-bottom: 1px solid rgba(255, 255, 255, 0.2);
338 - font-size: 11px;
339 - min-height: 36px;
340 -}
341 -
342 -.mxchat-code-language {
343 - color: rgba(255, 255, 255, 0.8);
344 - font-weight: 600;
345 - text-transform: uppercase;
346 - letter-spacing: 0.5px;
347 - font-size: 10px;
348 -}
349 -
350 -.mxchat-copy-button {
351 - background: rgba(255, 255, 255, 0.2);
352 - color: white;
353 - border: 1px solid rgba(255, 255, 255, 0.3);
354 - padding: 4px 8px;
355 - border-radius: 4px;
356 - font-size: 10px;
24 + color: #333;
25 + font-size: 16px;
357 26 cursor: pointer;
358 - transition: all 0.2s ease;
359 - min-height: 24px;
360 - line-height: 1;
27 + text-align: left;
28 + transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
361 29 }
362 30
363 -.mxchat-copy-button:hover {
364 - background: rgba(255, 255, 255, 0.3);
365 - border-color: rgba(255, 255, 255, 0.4);
31 +.mxchat-popular-question:hover {
32 + background-color: #eaeaea; /* Slightly darker on hover */
33 + border-color: #999; /* Darker border on hover */
34 + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); /* Slightly darker shadow on hover */
35 + color: #212121;
366 36 }
367 37
368 -.mxchat-copy-button:active {
369 - background: rgba(255, 255, 255, 0.4);
38 +.mxchat-popular-question:focus {
39 + outline: none;
40 + background-color: #e0e0e0; /* Darker background on focus */
41 + border-color: #777; /* More prominent focus border */
42 + box-shadow: 0 0 0 3px rgba(100, 149, 237, 0.5); /* Subtle focus ring */
43 + color: #212121;
370 44 }
371 45
372 -.mxchat-code-block {
373 - margin: 0;
374 - padding: 16px;
375 - background: rgba(0, 0, 0, 0.3);
376 - overflow-x: auto;
377 - font-size: 13px;
378 - line-height: 1.4;
379 - white-space: pre;
380 - border: none;
46 +.mxchat-popular-question:active {
47 + background-color: #d8d8d8; /* Darker pressed background */
48 + border-color: #666; /* Darker border when pressed */
49 + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); /* Slightly darker pressed effect */
50 + color: #212121;
381 51 }
382 52
383 -.mxchat-code-block code {
384 - font-family: inherit;
385 - font-size: inherit;
386 - background: none !important;
387 - padding: 0 !important;
388 - border: none !important;
389 - color: rgba(255, 255, 255, 0.95) !important;
390 - display: block;
391 -}
392 53
393 -.mxchat-inline-code {
394 - background: rgba(255, 255, 255, 0.2) !important;
395 - padding: 2px 6px !important;
396 - border-radius: 3px !important;
397 - font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Courier New', monospace !important;
398 - font-size: 0.85em !important;
399 - color: #81c784 !important;
400 - border: 1px solid rgba(255, 255, 255, 0.3) !important;
401 -}
402 54
403 -/* ========================================
404 - TOOLBAR SYSTEM
405 - ======================================== */
406 -.active-pdf-container,
407 -.active-word-container {
408 - display: inline-flex;
409 - align-items: center;
410 - max-width: 200px;
411 - margin: 0;
412 - padding: 0;
413 - line-height: 13px;
414 -}
415 55
416 -.active-pdf-name,
417 -.active-word-name {
418 - font-size: 11px;
419 - white-space: nowrap;
420 - overflow: hidden;
421 - text-overflow: ellipsis;
422 -}
423 56
424 -.remove-pdf-btn,
425 -.remove-word-btn,
426 -.toolbar-perplexity {
427 - background: none;
428 - border: none;
429 - padding: 2px;
430 - margin-left: 4px;
431 - cursor: pointer;
432 - transition: opacity 0.2s;
433 - line-height: 13px;
434 -}
435 57
436 -.remove-pdf-btn:hover,
437 -.remove-word-btn:hover,
438 -.toolbar-perplexity:hover {
439 - opacity: 1;
440 - background: none;
441 -}
442 58
443 -.mxchat-chatbot .chat-toolbar {
444 - display: flex;
445 - gap: 10px;
446 - padding: 8px;
447 - background: none;
448 - align-items: end;
449 -}
450 59
451 -.mxchat-chatbot .toolbar-btn {
452 - background: none;
453 - border: none;
454 - padding: 0;
455 - cursor: pointer;
456 - width: 16px;
457 - height: 16px;
458 - align-items: center;
459 - justify-content: center;
460 - opacity: 0.6;
461 - transition: opacity 0.2s;
462 - margin: 0;
463 - min-width: 0;
464 - box-shadow: none;
465 -}
466 60
467 -.mxchat-chatbot .toolbar-btn svg {
468 - width: 100%;
469 - height: 100%;
470 -}
471 61
472 -.mxchat-chatbot .toolbar-btn:hover {
473 - opacity: 1;
474 - background: none;
475 - border: none;
476 - box-shadow: none;
477 -}
478 62
479 -.mxchat-chatbot .toolbar-btn:disabled {
480 - opacity: 0.3;
481 - cursor: not-allowed;
482 - background: none;
483 - border: none;
63 +#widget_icon, #widget_icon_2, #widget_icon_3, #widget_icon_5, #widget_icon_4, #widget_icon_6, #widget_icon_7 {
64 + padding: 10px;
484 65 }
485 66
486 -.toolbar-btn.active {
487 - background-color: rgba(120, 115, 245, 0.2);
488 - box-shadow: 0 0 0 2px rgba(120, 115, 245, 0.4);
489 -}
490 -
491 -.active-perplexity-container {
492 - display: flex;
493 - align-items: center;
494 - margin-left: 8px;
495 - font-size: 12px;
496 -}
497 -
498 -.perplexity-search-btn {
67 +.invisible {
499 68 display: none;
69 + opacity: 0;
70 + pointer-events: none;
500 71 }
501 72
502 -.perplexity-search-btn.active {
503 - opacity: 1;
504 -}
505 -
506 -/* ========================================
507 - POPULAR QUESTIONS SYSTEM
508 - ======================================== */
509 -.mxchat-popular-questions {
510 - padding: 0 10px 10px;
511 - transition: all 0.3s ease;
512 - margin-bottom: 12px;
513 - position: relative;
514 -}
515 -
516 -.mxchat-popular-questions-title {
517 - font-size: 14px;
518 - line-height: 24px;
519 - font-weight: bold;
520 - color: #212121;
521 - margin-bottom: 10px;
522 -}
523 -
524 -.mxchat-popular-questions-container {
525 - position: relative;
526 - display: flex;
527 - flex-direction: column;
528 - max-height: 200px;
529 - overflow-y: auto;
530 - padding: 0 10px 10px;
531 - scrollbar-width: thin;
532 - scrollbar-color: #212121 #f1f1f1;
533 - transition: all 0.3s ease;
534 - gap: 8px;
535 -}
536 -
537 -.mxchat-popular-questions.collapsed {
538 - padding: 0;
73 +#mxchat-chatbot-wrapper .chatbot-footer .privacy-notice {
74 + font-size: 0.75rem;
539 75 margin: 0;
76 + color: #71717a;
540 77 }
541 78
542 -.mxchat-popular-questions.collapsed .mxchat-popular-questions-container {
543 - flex-direction: row;
544 - justify-content: center;
545 - align-items: center;
546 - padding: 0;
547 - max-height: 40px;
548 - overflow: visible;
549 -}
79 +#mxchat-chatbot-wrapper .chatbot-footer .privacy-notice a {
80 + color: #0073aa; /* You can specify the color for the link */
81 + text-decoration: underline;
82 + font-size: 0.75rem;
550 83
551 -.mxchat-popular-questions.collapsed .mxchat-popular-question {
552 - display: none;
553 84 }
554 85
555 -.mxchat-popular-questions.collapsed .questions-collapse-btn {
556 - display: none;
557 -}
558 -
559 -/* MISSING - These need to be inside the container context: */
560 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-toggle-btn {
561 - background: none;
562 - border: none;
563 - padding: 0;
564 - margin: 0;
86 +#mxchat-chatbot #chat-container #input-container #send-button, .copy-btn {
87 + transition: background-color .3s;
88 + color: #fff;
89 + font-size: 1rem;
565 90 cursor: pointer;
566 - transition: all 0.2s ease;
567 - color: #212121;
568 - display: none; /* Hidden by default when open */
569 - align-items: center;
570 - justify-content: center;
571 - width: 32px;
572 - height: 32px;
573 - box-shadow: none;
574 - outline: none;
91 + font-weight: 700;
575 92 }
576 93
577 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn {
578 - background: none;
579 - border: none;
580 - padding: 0;
581 - margin: 0px; /* Center and add bottom margin */
582 - cursor: pointer;
583 - transition: all 0.2s ease;
584 - color: #212121;
585 - display: none; /* Hidden by default */
586 - align-items: center;
587 - justify-content: center;
588 - width: 32px;
589 - height: 32px;
590 - box-shadow: none;
591 - outline: none;
592 - align-self: center; /* Center in flex container */
593 - order: -1; /* Make sure it appears first */
594 -}
595 -
596 -.questions-toggle-btn:hover,
597 -.questions-collapse-btn:hover,
598 -.questions-toggle-btn:focus,
599 -.questions-collapse-btn:focus,
600 -.questions-toggle-btn:active,
601 -.questions-collapse-btn:active {
602 - background: none;
603 - border: none;
604 - box-shadow: none;
605 - outline: none;
606 -}
607 -
608 -.questions-toggle-btn svg,
609 -.questions-collapse-btn svg {
610 - transition: transform 0.2s ease;
611 - fill: none;
612 - stroke: #212121;
613 - width: 25px;
614 - height: 25px;
615 -}
616 -
617 -.questions-toggle-btn:hover svg,
618 -.questions-collapse-btn:hover svg {
619 - opacity: 0.7;
620 -}
621 -
622 -.mxchat-popular-questions.collapsed .questions-toggle-btn {
623 - display: flex;
624 -}
625 -
626 -.mxchat-popular-questions.has-been-collapsed .questions-collapse-btn {
627 - display: flex;
628 - align-self: center;
629 - order: -1;
630 -}
631 -
632 -.mxchat-popular-question {
633 - padding: 12px 20px;
634 - background-color: #f5f5f5;
635 - border: 1px solid #bbb;
636 - border-radius: 8px;
637 - color: #212121;
638 - font-size: 14px;
639 - line-height: 24px;
640 - cursor: pointer;
641 - text-align: initial;
642 - transition: all 0.3s ease;
643 - margin-bottom: 0;
644 - box-shadow: none;
645 -}
646 -
647 -.mxchat-popular-question:hover {
648 - background-color: #eaeaea;
649 - border-color: #999;
650 - box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
651 - transform: translateY(-1px);
652 -}
653 -
654 -.mxchat-popular-question:focus {
655 - outline: none;
656 - background-color: #e0e0e0;
657 - border-color: #777;
658 - box-shadow: 0 0 0 3px rgba(100, 149, 237, 0.5);
659 -}
660 -
661 -.mxchat-popular-question:active {
662 - background-color: #d8d8d8;
663 - border-color: #666;
664 - box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
665 - transform: translateY(0);
666 -}
667 -
668 -.mxchat-popular-questions-container::-webkit-scrollbar {
669 - width: 8px;
670 -}
671 -
672 -.mxchat-popular-questions-container::-webkit-scrollbar-track {
673 - background: #f1f1f1;
674 - border-radius: 4px;
675 -}
676 -
677 -.mxchat-popular-questions-container::-webkit-scrollbar-thumb {
678 - background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
679 - border-radius: 4px;
680 -}
681 -
682 -.mxchat-popular-questions-container::-webkit-scrollbar-thumb:hover {
683 - background: linear-gradient(135deg, #d164ce, #6568d8, #2daeb8);
684 -}
685 -
686 -/* ========================================
687 - CORE CHATBOT UI
688 - ======================================== */
689 -.invisible {
690 - display: none;
691 - opacity: 0;
692 - pointer-events: none;
693 -}
694 -
695 -.mxchat-chatbot{
696 - background: #fff;
94 +#mxchat-chatbot {
95 + max-width: 800px;
697 96 overflow: hidden;
698 97 position: relative;
699 98 display: flex;
700 99 flex-direction: column;
100 + height: 500px;
101 + box-sizing: border-box;
701 102 flex-grow: 1;
702 - min-height: 0; /* Allow flex shrinking */
703 - box-sizing: border-box;
704 103 }
705 104
706 -.chat-container {
105 +#chat-container {
707 106 display: flex;
708 107 flex-direction: column;
709 - flex-grow: 1;
710 - min-height: 0; /* Critical for flex overflow scrolling */
711 108 height: 100%;
712 109 }
713 110
714 -.chat-box {
111 +#chat-box {
715 112 flex-grow: 1;
716 113 overflow-y: auto;
717 114 padding: 10px;
718 115 margin-bottom: 0;
719 116 font-size: 1rem;
720 - min-height: 0; /* Critical for flex overflow scrolling */
721 117 }
722 118
723 -.chat-box::-webkit-scrollbar {
119 +#chat-box::-webkit-scrollbar {
724 120 width: 5px;
725 121 }
726 122
727 -.chat-box::-webkit-scrollbar-thumb {
728 - background-color: #212121;
123 +#chat-box::-webkit-scrollbar-thumb {
124 + background-color: #333;
729 125 border-radius: 20px;
730 126 }
731 127
732 -.bot-message,
733 -.user-message {
128 +.bot-message, .user-message {
734 129 margin-bottom: 15px;
735 130 padding: 10px;
736 131 display: inline-block;
737 132 max-width: 85%;
738 - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
739 - font-size: 14px;
740 - line-height: 24px;
133 + box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
741 134 }
742 135
743 136 .user-message {
744 - background: #fff;
745 - color: #212121;
746 - text-align: left;
747 - float: right;
748 - clear: both;
749 - border-radius: 18px 0 18px 18px;
750 - word-wrap: break-word;
751 - border: 1px solid rgba(226, 232, 255, 0.2);
137 + background: #fff;
138 + color: #212121;
139 + text-align: left;
140 + float: right;
141 + clear: both;
142 + border-radius: 18px 0 18px 18px;
143 + border: solid 1px #212121;
752 144 }
753 145
754 -.user-message p {
755 - margin: 0;
146 +#mxchat-chatbot #chat-container #chat-box .bot-message {
147 + text-align: left;
148 + float: left;
149 + clear: both;
150 + border: 1px solid rgba(226, 232, 255, .2);
151 + border-radius: 0 18px 18px;
152 + background: #212121;
153 + color: #fff;
756 154 }
757 155
758 -.mxchat-chatbot .chat-container .chat-box .bot-message {
759 - float: left;
760 - clear: both;
761 - border: 1px solid rgba(226, 232, 255, 0.2);
762 - border-radius: 0 18px 18px;
763 - background: #212121;
764 - color: #fff;
765 - overflow-x: hidden;
766 -}
767 -
768 -.mxchat-chatbot .chat-container .chat-box .agent-message {
769 - text-align: left;
770 - float: left;
771 - clear: both;
772 - border: 1px solid rgba(226, 232, 255, 0.2);
773 - border-radius: 0 18px 18px;
774 - background: #212121;
775 - color: #fff;
776 - overflow-x: hidden;
777 - margin-bottom: 15px;
778 - padding: 10px;
779 - display: inline-block;
780 - max-width: 85%;
781 - font-size: 14px;
782 - line-height: 24px;
783 - box-shadow: -2px 2px rgba(250, 115, 230, 0.6), -4px 4px rgba(120, 115, 245, 0.6);
784 -}
785 -
786 -.bot-message p {
787 - margin: 0 0 1em 0;
788 -}
789 -
790 -.bot-message p:last-child {
791 - margin-bottom: 0;
792 -}
793 -
794 -.bot-message {
795 - white-space: pre-line;
796 -}
797 -
798 -.bot-message a {
799 - color: #ffffff;
800 - text-decoration: underline !important;
801 -}
802 -
803 -.bot-message a:hover {
804 - color: #e0e0e0;
805 - text-decoration: underline;
806 -}
807 -
808 -.bot-message a:visited {
809 - color: #ffffff;
810 -}
811 -
812 -.system-message {
813 - padding: 8px 12px;
814 - margin: 8px 0;
815 - background-color: rgba(120, 115, 245, 0.1);
816 - border-radius: 8px;
817 - color: #555;
818 - font-style: italic;
819 - font-size: 14px;
820 - text-align: center;
821 -}
822 -
823 -.mxchat-chatbot-wrapper {
824 - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
156 +#mxchat-chatbot-wrapper {
157 + box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
825 158 border-radius: 10px;
826 159 display: flex;
827 160 flex-direction: column;
828 161 height: 100%;
829 162 width: 100%;
830 - min-height: 0; /* Allow flex shrinking */
831 - overflow: hidden;
832 163 }
833 164
834 -/* ========================================
835 - INPUT & CONTROLS
836 - ======================================== */
837 -.mxchat-chatbot .chat-container .input-container {
165 +#mxchat-chatbot #chat-container #input-container {
838 166 position: relative;
839 167 display: flex;
840 168 align-items: center;
841 - padding-right: 40px;
842 - border: 1px solid #ccc;
843 - border-radius: 10px;
844 - margin: 0 10px 10px;
169 + padding: 10px;
845 170 }
846 171
847 -.mxchat-chatbot .chat-container .input-container .chat-input {
172 +#mxchat-chatbot #chat-container #input-container #chat-input {
848 173 flex-grow: 1;
174 + padding: .5rem 2.5rem .5rem .5rem;
175 + border-radius: 10px;
176 + border: 1px solid #bbb;
849 177 color: #212121;
850 - line-height: 24px;
851 - background: transparent;
852 - margin-bottom: 0;
853 - width: 100%;
854 - min-height: 20px;
855 - max-height: 65px;
856 - resize: none;
857 - overflow-y: auto;
858 - font-size: 16px;
859 - border: none;
860 - border-radius: 5px;
861 - box-sizing: border-box;
862 - padding: 0.4em 0.5em;
863 - outline: none;
864 - border-radius: 10px;
178 + font-size: 1rem;
179 + background: 0 0;
180 + width: calc(100% - 30px);
181 + margin-bottom: 0px;
182 + height: 100%;
865 183 }
866 184
867 -.chat-input::-webkit-scrollbar {
868 - width: 8px;
869 -}
870 -
871 -.chat-input::-webkit-scrollbar-track {
872 - background: #f1f1f1;
873 - border-radius: 4px;
874 -}
875 -
876 -.chat-input::-webkit-scrollbar-thumb {
877 - background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
878 - border-radius: 4px;
879 -}
880 -
881 -.chat-input::-webkit-scrollbar-thumb:hover {
882 - background: linear-gradient(135deg, #d164ce, #6568d8, #2daeb8);
883 -}
884 -
885 -.chat-input {
886 - scrollbar-width: thin;
887 - scrollbar-color: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1) #f1f1f1;
888 -}
889 -
890 -.mxchat-chatbot .chat-container .input-container .send-button {
891 - position: absolute;
185 +#mxchat-chatbot #chat-container #input-container #send-button {
186 + position:absolute;
892 187 right: 10px;
893 188 top: 50%;
894 189 transform: translateY(-50%);
895 190 border: none;
@@ -898,354 +193,225 @@
898 193 height: 30px;
899 194 display: flex;
900 195 align-items: center;
901 196 justify-content: center;
902 - background: transparent !important;
197 + background: 0 0!important;
903 198 padding: 5px;
904 - margin: 0;
905 - transition: background-color 0.3s;
906 - color: #fff;
907 - font-size: 1rem;
908 - cursor: pointer;
909 - font-weight: 700;
199 + margin: 0px 0px 0px 0px;
910 200 }
911 201
912 -.send-button svg {
913 - width: 25px;
914 - height: 25px;
915 - pointer-events: none;
202 +#mxchat-chatbot #chat-container #input-container #send-button .fa-paper-plane {
203 + font-size: 1.3rem;
916 204 }
917 205
918 -.send-button:hover {
919 - opacity: 0.8;
206 +#send-button:hover, .copy-btn:hover {
207 + opacity: .8;
920 208 }
921 209
922 -/* Stop state while a response is streaming: the send button becomes a Stop
923 - control in place — same chrome and position, swapped glyph. Themeable hook;
924 - the glyph's size/color are mirrored from the send icon at runtime. */
925 -.mxchat-chatbot .chat-container .input-container .send-button.mxchat-stop-mode {
926 - cursor: pointer;
210 +#mxchat-chatbot:after {
211 + content: "";
212 + display: table;
213 + clear: both;
927 214 }
928 215
929 -.mxchat-chatbot .spinner {
930 - animation: rotate 2s linear infinite;
931 - width: 20px;
932 - height: 20px;
216 +pre {
217 + background-color: #000;
218 + border: 1px solid #ddd;
219 + border-radius: 20px;
220 + border-left: 3px solid #9e7aff;
221 + color: #fff;
222 + page-break-inside: avoid;
223 + font-family: monospace;
224 + font-size: 15px;
225 + line-height: 1.6;
226 + margin-bottom: 1.6em;
227 + max-width: 100%;
228 + overflow: auto;
229 + padding: 1em 1.5em;
230 + display: block;
231 + word-wrap: break-word;
933 232 }
934 233
935 -.mxchat-chatbot .spinner circle {
936 - stroke: #212121;
937 - stroke-linecap: round;
938 - animation: dash 1.5s ease-in-out infinite;
234 +.copy-btn {
235 + padding: 10px 20px;
236 + border: none;
237 + border-radius: 4px;
238 + background-color: #9e7aff;
939 239 }
940 240
941 -@keyframes rotate {
942 - 100% {
943 - transform: rotate(360deg);
944 - }
945 -}
946 -
947 -@keyframes dash {
948 - 0% {
949 - stroke-dasharray: 1, 150;
950 - stroke-dashoffset: 0;
951 - }
952 - 50% {
953 - stroke-dasharray: 90, 150;
954 - stroke-dashoffset: -35;
955 - }
956 - 100% {
957 - stroke-dasharray: 90, 150;
958 - stroke-dashoffset: -124;
959 - }
960 -}
961 -
962 -/* ========================================
963 - FLOATING CHATBOT & CONTROLS
964 - ======================================== */
965 -.chatbot-title-container {
966 - display: flex;
967 - align-items: center;
968 - justify-content: space-between;
969 - gap: 10px;
970 - flex: 1 1 auto;
971 - min-width: 0;
972 -}
973 -
974 -.chatbot-title-group {
975 - display: flex;
976 - align-items: center;
977 - gap: 8px;
978 -}
979 -
980 -.chat-mode-indicator {
981 - font-size: 12px;
982 - line-height: 1;
983 - margin-right: 0;
984 - padding: 4px 9px;
985 - border-radius: 999px;
986 - background: rgba(255, 255, 255, 0.18);
987 - color: #ffffff;
988 - display: inline-flex;
989 - align-items: center;
990 - height: 22px;
991 - white-space: nowrap;
992 - flex: 0 0 auto;
993 -}
994 -
995 -.floating-chatbot {
241 +#floating-chatbot {
996 242 position: fixed;
997 243 bottom: 25px;
998 244 right: 25px;
999 245 width: 375px;
1000 - /* Use viewport-aware height with fallbacks */
1001 - height: min(625px, calc(100vh - 50px)); /* 50px = 25px top + 25px bottom margin */
1002 - height: min(625px, calc(100dvh - 50px)); /* Dynamic viewport height for mobile browsers */
1003 - max-height: calc(100vh - 50px);
1004 - max-height: calc(100dvh - 50px); /* Fallback for browsers supporting dvh */
1005 - box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
246 + height: 625px;
247 + box-shadow: 0 0 10px rgba(0, 0, 0, .25);
1006 248 border-radius: 20px;
1007 249 overflow: hidden;
1008 250 display: flex;
1009 - flex-direction: column;
1010 251 z-index: 100000;
1011 - transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
252 + transition: transform .3s ease-in-out, opacity .3s ease-in-out;
1012 253 transform: translateY(20%);
1013 254 opacity: 0;
1014 255 pointer-events: none;
1015 256 }
1016 257
1017 -.floating-chatbot.visible {
258 +#floating-chatbot.visible {
1018 259 transform: translateY(0);
1019 260 opacity: 1;
1020 261 pointer-events: auto;
1021 262 }
1022 263
1023 -/* ========================================
1024 - EMBEDDED CHATBOT (Shortcode)
1025 - ======================================== */
1026 -/* Embedded chatbots are NOT inside .floating-chatbot wrapper */
1027 -/* Apply fixed height like floating widget so quick questions overlay properly */
1028 -.mxchat-chatbot-wrapper:not(.floating-chatbot .mxchat-chatbot-wrapper) {
1029 - height: 500px;
1030 - max-height: 500px;
264 +#floating-chatbot-button.hidden, .exit-chat span {
265 + display: none!important;
1031 266 }
1032 267
1033 -/* Hide the minimize/exit button for embedded chatbots - it doesn't make sense */
1034 -.mxchat-chatbot-wrapper:not(.floating-chatbot .mxchat-chatbot-wrapper) .exit-chat {
1035 - display: none !important;
1036 -}
1037 -
1038 -.floating-chatbot-button.hidden,
1039 -.exit-chat span {
1040 - display: none !important;
1041 -}
1042 -
1043 -.chatbot-top-bar button.exit-chat:hover {
1044 - background: rgba(255, 255, 255, 0.12);
1045 -}
1046 268 .visible {
1047 269 display: flex;
1048 270 }
1049 271
1050 -.floating-chatbot-button {
272 +#floating-chatbot-button {
1051 273 transition: opacity 1s ease-in-out;
1052 274 font-size: 1.25rem;
1053 275 position: fixed;
1054 276 bottom: 30px;
1055 277 right: 25px;
1056 - background-color: #212121;
278 + background-color: #d63638;
1057 279 color: #fff;
1058 280 width: 60px;
1059 281 height: 60px;
1060 282 border-radius: 50%;
1061 - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
283 + box-shadow: 0 4px 8px rgba(0, 0, 0, .2)!important;
1062 284 justify-content: center;
1063 285 align-items: center;
1064 286 cursor: pointer;
1065 - transition: 0.3s;
287 + transition: .3s;
1066 288 z-index: 100000;
1067 - display: flex;
289 + display: flex;
1068 290 }
1069 291
1070 -.floating-chatbot-button:focus-visible {
1071 - outline: 3px solid #7873f5;
1072 - outline-offset: 3px;
1073 -}
1074 -
1075 -.floating-chatbot-button img {
292 +#floating-chatbot-button img {
1076 293 max-width: 100%;
1077 294 max-height: 100%;
295 + padding: 10px;
1078 296 width: auto;
1079 297 height: auto;
1080 298 }
1081 299
1082 -.chatbot-top-bar {
1083 - background: #212121;
300 +#mxchat-chatbot-wrapper.active+#floating-chatbot-button {
301 + bottom: 530px;
302 + width: 100%;
1084 303 }
1085 304
1086 -.mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1087 - background: transparent;
305 +.chatbot-close-button {
306 + position: absolute;
307 + top: 5px;
308 + right: 5px;
1088 309 border: none;
1089 - opacity: 0.8;
1090 - padding: 0;
1091 - width: 32px;
1092 - height: 32px;
1093 - min-width: 32px;
1094 - flex: 0 0 auto;
1095 - border-radius: 6px;
1096 - transition: opacity 0.15s ease, background 0.15s ease;
310 + background: 0 0;
311 + cursor: pointer;
312 + font-size: 20px;
313 + color: #f0f0f1;
1097 314 }
1098 315
1099 -.mxchat-chatbot-wrapper .chatbot-top-bar {
316 +#mxchat-chatbot-wrapper .chatbot-top-bar {
1100 317 cursor: pointer;
1101 318 color: #fff;
1102 - padding: 8px 12px;
1103 - min-height: 48px;
1104 - gap: 8px;
319 + padding: 10px;
1105 320 border-top-left-radius: 10px;
1106 321 border-top-right-radius: 10px;
1107 322 display: flex;
1108 323 justify-content: space-between;
1109 - align-items: center;
324 + align-items: baseline;
1110 325 }
1111 326
1112 -.mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1113 - font-size: 15px;
1114 - line-height: 1.2;
1115 - padding: 0;
327 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
328 + font-size: 1rem;
329 + line-height: 25px;
330 + padding: 10px;
1116 331 margin: 0;
1117 332 font-family: 'Plus Jakarta Sans', sans-serif;
1118 - font-weight: 600;
333 + font-weight: bold;
1119 334 }
1120 335
336 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title span {
337 + font-weight: 700;
338 +}
339 +
340 +#mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
341 + background: 0 0;
342 + border: none;
343 + opacity: .8;
344 +}
345 +
1121 346 .exit-chat {
1122 347 border: none;
1123 - background: transparent;
348 + background: 0 0;
1124 349 cursor: pointer;
1125 - display: inline-flex;
350 + display: flex;
1126 351 align-items: center;
1127 352 justify-content: center;
1128 - padding: 0;
353 + padding: 5px;
1129 354 margin-left: auto;
1130 - opacity: 0.8;
1131 - width: 32px;
1132 - height: 32px;
1133 - min-width: 32px;
1134 - flex: 0 0 auto;
1135 355 }
1136 356
1137 357 .exit-chat svg {
1138 - width: 18px;
1139 - height: 18px;
1140 - fill: none;
1141 - stroke: currentColor;
358 + fill: white;
359 + width: 24px;
360 + height: 24px;
361 + transform: rotate(270deg);
1142 362 }
1143 363
1144 -.mxchat-chatbot-wrapper .chatbot-footer {
364 +#mxchat-chatbot-wrapper .chatbot-footer {
1145 365 text-align: center;
1146 366 padding-bottom: 10px;
1147 - font-size: 0.85em;
367 + font-size: .85em;
1148 368 }
1149 369
1150 -.mxchat-chatbot-wrapper .chatbot-footer .privacy-notice {
1151 - font-size: 12px;
1152 - margin: 0;
1153 - color: #71717a;
1154 -}
1155 -
1156 -.mxchat-chatbot-wrapper .chatbot-footer .privacy-notice a {
1157 - color: #0073aa;
1158 - text-decoration: underline;
1159 - font-size: 12px;
1160 -}
1161 -
1162 -.mxchat-chatbot-wrapper .chatbot-footer .powered-by {
370 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by {
1163 371 text-decoration: none;
1164 372 color: inherit;
1165 373 font-weight: 700;
1166 374 }
1167 375
1168 -.mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
376 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
1169 377 text-decoration: underline;
1170 378 }
1171 379
1172 -/* ========================================
1173 - INIT LOADER (shown while chat initializes)
1174 - ======================================== */
1175 -.mxchat-init-loader {
380 +.thinking-dots-container {
1176 381 display: flex;
1177 - align-items: center;
1178 382 justify-content: center;
1179 - flex-grow: 1;
1180 - min-height: 0;
1181 - animation: fadeIn 0.3s ease-in-out;
1182 -}
1183 -
1184 -.mxchat-init-loader-dots {
1185 - display: flex;
1186 - gap: 8px;
1187 -}
1188 -
1189 -.mxchat-init-loader-dots .dot {
1190 - width: 8px;
1191 - height: 8px;
1192 - border-radius: 50%;
1193 - background-color: #888;
1194 - animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1195 -}
1196 -
1197 -.mxchat-init-loader-dots .dot:nth-child(1) {
1198 - animation-delay: -0.32s;
1199 -}
1200 -
1201 -.mxchat-init-loader-dots .dot:nth-child(2) {
1202 - animation-delay: -0.16s;
1203 -}
1204 -
1205 -/* ========================================
1206 - THINKING DOTS ANIMATION
1207 - ======================================== */
1208 -.chat-box .bot-message.temporary-message .thinking-dots-container {
1209 - display: flex;
1210 - justify-content: center;
1211 383 align-items: center;
1212 384 overflow: hidden;
1213 - height: 20px;
1214 - position: relative;
1215 - z-index: 1;
1216 - flex-shrink: 0;
385 + height: 20px; /* Adjust as needed */
1217 386 }
1218 387
1219 -.chat-box .bot-message.temporary-message .thinking-dots {
388 +.thinking-dots {
1220 389 display: flex;
1221 390 justify-content: center;
1222 391 align-items: center;
1223 392 height: 90%;
1224 - gap: 5px;
1225 - flex-shrink: 0;
1226 393 }
1227 394
1228 -.chat-box .bot-message.temporary-message .thinking-dots .dot {
1229 - height: 6px;
1230 - width: 6px;
395 +.dot {
396 + height: 8px;
397 + width: 8px;
1231 398 margin: 0 3px;
1232 399 background-color: #fff;
1233 400 border-radius: 50%;
1234 401 display: inline-block;
1235 - animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1236 - vertical-align: middle;
402 + animation: bounce 1.4s ease-in-out infinite both;
1237 403 }
1238 404
1239 -.chat-box .bot-message.temporary-message .thinking-dots .dot:first-child {
1240 - animation-delay: -0.32s;
405 +.dot:first-child {
406 + animation-delay: -.32s;
1241 407 }
1242 408
1243 -.chat-box .bot-message.temporary-message .thinking-dots .dot:nth-child(2) {
1244 - animation-delay: -0.16s;
409 +.dot:nth-child(2) {
410 + animation-delay: -.16s;
1245 411 }
1246 412
1247 -@keyframes mxchat-dot-bounce {
413 +@keyframes bounce {
1248 414 0%, 100%, 80% {
1249 415 transform: scale(1);
1250 416 }
1251 417 40% {
@@ -1252,41 +418,39 @@
1252 418 transform: scale(1.5);
1253 419 }
1254 420 }
1255 421
1256 -/* ========================================
1257 - PRE-CHAT MESSAGE
1258 - ======================================== */
1259 -.pre-chat-message {
422 +
423 +
424 +#pre-chat-message {
1260 425 position: fixed;
1261 - bottom: 85px;
1262 - right: 30px;
426 + bottom: 85px;
427 + right: 30px;
1263 428 background-color: #fff;
1264 - color: #212121;
429 + color: #333;
1265 430 padding: 10px;
1266 - box-shadow: 0px 0px 10px rgba(150, 150, 150, 0.3);
431 + box-shadow: rgba(150, 150, 150, 0.2) 0px 10px 30px 0px, rgba(150, 150, 150, 0.2) 0px 0px 0px 1px;
1267 432 border-radius: 5px;
1268 433 z-index: 1000;
1269 - cursor: pointer;
1270 - max-width: 325px;
434 + cursor: pointer;
435 + max-width: 70vw;
1271 436 font-size: 14px;
1272 - display: none;
437 + display: none;
438 + background: #fff;
1273 439 margin-bottom: 10px;
1274 440 }
1275 441
1276 -.pre-chat-message .close-pre-chat-message {
442 +#pre-chat-message .close-pre-chat-message {
1277 443 position: absolute;
1278 444 top: -6px;
1279 445 right: -6px;
1280 446 background-color: #ccc;
1281 447 border: none;
1282 - color: #212121;
448 + color: #333;
1283 449 font-size: 14px;
1284 450 cursor: pointer;
1285 451 border-radius: 50%;
1286 452 width: 20px;
1287 - min-width: 20px;
1288 - min-height: 20px;
1289 453 height: 20px;
1290 454 display: flex;
1291 455 align-items: center;
1292 456 justify-content: center;
@@ -1291,682 +455,44 @@
1291 455 align-items: center;
1292 456 justify-content: center;
1293 457 padding: 0;
1294 458 line-height: 1;
459 + display: flex; /* Show the close button on hover */
1295 460 }
1296 461
1297 -/* ========================================
1298 - VIEWPORT HEIGHT CONSTRAINTS
1299 - Handles bookmarks bar, browser zoom, and smaller screens
1300 - ======================================== */
1301 -@media screen and (max-height: 700px) {
1302 - .floating-chatbot {
1303 - bottom: 15px;
1304 - height: calc(100vh - 30px);
1305 - height: calc(100dvh - 30px);
1306 - max-height: calc(100vh - 30px);
1307 - max-height: calc(100dvh - 30px);
1308 - }
1309 462
1310 - .floating-chatbot-button {
1311 - bottom: 20px;
1312 - }
1313 463
1314 - .pre-chat-message {
1315 - bottom: 75px;
1316 - }
1317 -}
1318 -
1319 -@media screen and (max-height: 550px) {
1320 - .floating-chatbot {
1321 - bottom: 10px;
1322 - height: calc(100vh - 20px);
1323 - height: calc(100dvh - 20px);
1324 - max-height: calc(100vh - 20px);
1325 - max-height: calc(100dvh - 20px);
1326 - }
1327 -
1328 - /* Reduce padding in tight spaces */
1329 - .mxchat-popular-questions {
1330 - padding: 0 8px 5px;
1331 - margin-bottom: 8px;
1332 - }
1333 -
1334 - .mxchat-popular-question {
1335 - padding: 8px 12px;
1336 - font-size: 13px;
1337 - line-height: 20px;
1338 - }
1339 -
1340 - .mxchat-chatbot .chat-container .input-container {
1341 - margin: 0 8px 8px;
1342 - }
1343 -
1344 - .mxchat-chatbot-wrapper .chatbot-footer {
1345 - padding-bottom: 5px;
1346 - }
1347 -}
1348 -
1349 -/* ========================================
1350 - MOBILE RESPONSIVE
1351 - ======================================== */
1352 -@media screen and (max-width: 782px) {
1353 - .mxchat-search-results {
1354 - gap: 15px !important;
1355 - }
1356 -
1357 - .mxchat-search-intro {
1358 - font-size: 15px !important;
1359 - }
1360 -
1361 - .mxchat-search-title {
1362 - font-size: 15px !important;
1363 - }
1364 -
1365 - .mxchat-search-description {
1366 - font-size: 13px !important;
1367 - }
1368 -}
1369 -
1370 464 @media (max-width: 550px) {
1371 - .questions-toggle-btn,
1372 - .questions-collapse-btn {
1373 - width: 28px;
1374 - height: 28px;
465 +
466 + #pre-chat-message {
467 + bottom: 70px; /* Adjust this value as needed */
468 + right: 15px; /* Adjust this value as needed */
1375 469 }
1376 -
1377 - .questions-toggle-btn svg,
1378 - .questions-collapse-btn svg {
1379 - width: 22px;
1380 - height: 22px;
1381 - }
1382 -
1383 - .pre-chat-message {
1384 - bottom: 70px;
1385 - right: 15px;
1386 - }
1387 -
1388 - .chat-input {
470 +
471 + #chat-input {
1389 472 width: calc(100% - 70px);
1390 473 }
1391 -
1392 - .bot-message,
1393 - .user-message {
474 + .bot-message, .user-message {
1394 475 padding: 10px;
1395 476 max-width: 95%;
1396 477 }
1397 -
1398 - .floating-chatbot-button {
478 + #floating-chatbot-button {
1399 479 bottom: 15px;
1400 480 right: 10px;
1401 481 }
1402 -
1403 - .floating-chatbot {
1404 - width: calc(100vw - 16px);
1405 - /* Use multiple fallbacks for maximum browser compatibility */
1406 - height: calc(100vh - 16px); /* Fallback */
1407 - height: calc(var(--vh, 1vh) * 100 - 16px); /* JS-set custom property fallback */
1408 - height: calc(100dvh - 16px); /* Modern dynamic viewport height */
1409 - max-height: calc(100vh - 16px);
1410 - max-height: calc(100dvh - 16px);
482 + #floating-chatbot {
483 + width: 100vw;
484 + height: calc(var(--vh, 1vh) * 100);
1411 485 margin: 0;
1412 486 padding: 0;
1413 487 position: fixed;
1414 - bottom: 8px;
1415 - top: auto;
1416 - left: 8px;
1417 - right: 8px;
1418 - border-radius: 16px;
1419 - box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
488 + bottom: 0;
489 + top: 0;
490 + left: 0;
491 + right: 0;
492 + border-radius: 0;
1420 493 }
1421 -
1422 - .floating-chatbot .mxchat-chatbot-wrapper {
1423 - border-radius: 16px;
1424 - overflow: hidden;
494 + #mxchat-chatbot-wrapper .chatbot-top-bar {
495 + border-top-left-radius: 0;
496 + border-top-right-radius: 0;
1425 497 }
1426 -
1427 - .mxchat-chatbot-wrapper .chatbot-top-bar {
1428 - border-top-left-radius: 16px;
1429 - border-top-right-radius: 16px;
1430 - }
1431 498 }
1432 -
1433 -
1434 -
1435 -pre {
1436 - background-color: #000;
1437 - border: 1px solid #ddd;
1438 - border-radius: 20px;
1439 - border-left: 3px solid #9e7aff;
1440 - color: #fff;
1441 - page-break-inside: avoid;
1442 - font-family: monospace;
1443 - font-size: 15px;
1444 - line-height: 1.6;
1445 - margin-bottom: 1.6em;
1446 - max-width: 100%;
1447 - overflow: auto;
1448 - padding: 1em 1.5em;
1449 - display: block;
1450 - word-wrap: break-word;
1451 -}
1452 -
1453 -.copy-btn {
1454 - padding: 10px 20px;
1455 - border: none;
1456 - border-radius: 4px;
1457 - background-color: #9e7aff;
1458 - transition: background-color 0.3s;
1459 - color: #fff;
1460 - font-size: 1rem;
1461 - cursor: pointer;
1462 - font-weight: 700;
1463 - margin-bottom: 10px;
1464 -}
1465 -
1466 -.copy-btn:hover {
1467 - opacity: 0.8;
1468 -}
1469 -
1470 -.mxchat-product-card {
1471 - display: flex;
1472 - flex-direction: column;
1473 - align-items: center;
1474 - margin: 10px 0;
1475 - padding: 10px;
1476 - border-radius: 5px;
1477 - background-color: inherit;
1478 -}
1479 -
1480 -.mxchat-product-card img.mxchat-product-image {
1481 - max-width: 100%;
1482 - height: auto;
1483 - margin-bottom: 5px;
1484 - border-radius: 4px;
1485 -}
1486 -
1487 -.mxchat-product-card h3.mxchat-product-name {
1488 - font-size: 16px;
1489 - font-weight: bold;
1490 - margin: 5px 0;
1491 - text-align: center;
1492 - color: inherit;
1493 -}
1494 -
1495 -.mxchat-product-card .mxchat-product-price {
1496 - color: inherit;
1497 - font-weight: bold;
1498 - margin-bottom: 5px;
1499 -}
1500 -
1501 -.mxchat-product-card .mxchat-product-description {
1502 - font-size: 14px;
1503 - text-align: center;
1504 - margin-bottom: 10px;
1505 - color: inherit;
1506 -}
1507 -
1508 -.mxchat-product-card .mxchat-add-to-cart-button {
1509 - background-color: #212121;
1510 - color: #fff;
1511 - padding: 8px 12px;
1512 - border: none;
1513 - cursor: pointer;
1514 - border-radius: 12px;
1515 - transition: background-color 0.3s ease;
1516 -}
1517 -
1518 -.mxchat-product-card .mxchat-add-to-cart-button:hover {
1519 - background-color: #212121;
1520 -}
1521 -
1522 -.mxchat-image-gallery {
1523 - display: flex;
1524 - flex-wrap: wrap;
1525 - gap: 10px;
1526 - justify-content: center;
1527 -}
1528 -
1529 -.mxchat-image-item {
1530 - text-align: center;
1531 - overflow: hidden;
1532 - word-wrap: break-word;
1533 -}
1534 -
1535 -.mxchat-image-title {
1536 - display: block;
1537 - font-size: 14px;
1538 - color: inherit;
1539 - white-space: nowrap;
1540 - overflow: hidden;
1541 - text-overflow: ellipsis;
1542 - max-width: 100%;
1543 -}
1544 -
1545 -.mxchat-image-link {
1546 - text-decoration: none;
1547 -}
1548 -
1549 -.mxchat-image-thumbnail {
1550 - max-width: 100%;
1551 - height: auto;
1552 - border-radius: 5px;
1553 - transition: transform 0.3s;
1554 -}
1555 -
1556 -.mxchat-image-thumbnail:hover {
1557 - transform: scale(1.05);
1558 -}
1559 -
1560 -.mxchat-generated-image {
1561 - max-width: 100%;
1562 - height: auto;
1563 - border-radius: 0 0 8px 8px;
1564 -}
1565 -
1566 -#widget_icon, #widget_icon_2, #widget_icon_3, #widget_icon_5, #widget_icon_4, #widget_icon_6, #widget_icon_7 {
1567 - padding: 10px;
1568 -}
1569 -
1570 -#widget_icon_10 {
1571 - fill: #fff;
1572 -}
1573 -
1574 -
1575 -/* This selector with more context - showing the collapse button in certain states */
1576 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn {
1577 - background: none;
1578 - border: none;
1579 - padding: 0;
1580 - margin: 0px;
1581 - cursor: pointer;
1582 - transition: all 0.2s ease;
1583 - color: #212121;
1584 - display: none; /* Hidden by default */
1585 - align-items: center;
1586 - justify-content: center;
1587 - width: 32px;
1588 - height: 32px;
1589 - box-shadow: none;
1590 - outline: none;
1591 - align-self: center; /* THIS IS MISSING */
1592 - order: -1; /* THIS IS MISSING */
1593 -}
1594 -
1595 -/* ALL hover states - these are MISSING from your new CSS */
1596 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover {
1597 - background: none;
1598 - border: none;
1599 - box-shadow: none;
1600 -}
1601 -
1602 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:focus {
1603 - outline: none;
1604 - background: none;
1605 - border: none;
1606 - box-shadow: none;
1607 -}
1608 -
1609 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:active {
1610 - background: none;
1611 - border: none;
1612 - box-shadow: none;
1613 -}
1614 -
1615 -/* SVG styles - these are MISSING */
1616 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn svg {
1617 - fill: none;
1618 - stroke: #212121;
1619 - transition: transform 0.2s ease;
1620 - width: 25px;
1621 - height: 25px;
1622 -}
1623 -
1624 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover svg {
1625 - opacity: 0.7;
1626 -}
1627 -
1628 -/* THE CRITICAL DISPLAY RULE - this shows when it's been collapsed before */
1629 -.mxchat-popular-questions.has-been-collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1630 - display: flex;
1631 -}
1632 -
1633 -/* Hide when actually collapsed */
1634 -.mxchat-popular-questions.collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1635 - display: none;
1636 -}
1637 -
1638 -/* ============================================================
1639 - Header overflow menu — 3-dot kebab + dropdown (v3.2.9 / v3.2.10)
1640 - Lives in .chatbot-top-bar to the LEFT of .exit-chat. Visual treatment
1641 - mirrors .exit-chat: transparent, white-on-dark, 0.8 opacity, 5px pad.
1642 -
1643 - v3.2.10: explicit `order` rules pin the visual order
1644 - title (0) | kebab (1) | down-arrow (2)
1645 - so the down-arrow is always the rightmost icon regardless of source
1646 - order or which sibling has margin-left:auto.
1647 - ============================================================ */
1648 -.mxchat-chatbot-wrapper .chatbot-top-bar > .chatbot-title-container { order: 0; }
1649 -.mxchat-chatbot-wrapper .chatbot-top-bar > .mxchat-header-menu-wrap { order: 1; }
1650 -.mxchat-chatbot-wrapper .chatbot-top-bar > .exit-chat { order: 2; }
1651 -
1652 -.mxchat-header-menu-wrap {
1653 - position: relative;
1654 - display: inline-flex;
1655 - align-items: center;
1656 - margin-left: auto; /* push kebab + arrow group to the right edge */
1657 -}
1658 -.mxchat-chatbot-wrapper .chatbot-top-bar .mxchat-header-menu-wrap ~ .exit-chat,
1659 -.mxchat-chatbot-wrapper .chatbot-top-bar .mxchat-header-menu-wrap + .exit-chat {
1660 - margin-left: 4px; /* even, snug gap between kebab and close */
1661 -}
1662 -.mxchat-chatbot-wrapper .chatbot-top-bar > .exit-chat:focus {
1663 - background: rgba(255, 255, 255, 0.12);
1664 - opacity: 1;
1665 - outline: none;
1666 -}
1667 -.mxchat-header-btn {
1668 - border: none;
1669 - background: transparent;
1670 - cursor: pointer;
1671 - display: inline-flex;
1672 - align-items: center;
1673 - justify-content: center;
1674 - padding: 0;
1675 - opacity: 0.8;
1676 - color: #fff;
1677 - transition: opacity 0.15s ease, background 0.15s ease;
1678 - border-radius: 6px;
1679 - line-height: 0;
1680 - width: 32px;
1681 - height: 32px;
1682 - min-width: 32px;
1683 - flex: 0 0 auto;
1684 -}
1685 -.mxchat-header-btn:hover,
1686 -.mxchat-header-btn:focus {
1687 - opacity: 1;
1688 - background: rgba(255, 255, 255, 0.12);
1689 - outline: none;
1690 -}
1691 -.mxchat-header-btn[aria-expanded="true"] {
1692 - opacity: 1;
1693 - background: rgba(255, 255, 255, 0.12);
1694 -}
1695 -.mxchat-menu-trigger svg {
1696 - width: 18px;
1697 - height: 18px;
1698 -}
1699 -
1700 -.mxchat-header-menu {
1701 - position: absolute;
1702 - top: calc(100% + 6px);
1703 - right: 0;
1704 - min-width: 220px;
1705 - background: var(--mxchat-menu-bg, #ffffff);
1706 - color: var(--mxchat-menu-fg, #1a1a1a);
1707 - border: 1px solid rgba(127, 127, 127, 0.20);
1708 - border-radius: 10px;
1709 - box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 0 2px 6px rgba(0, 0, 0, 0.10);
1710 - padding: 4px;
1711 - z-index: 5;
1712 - opacity: 0;
1713 - transform: translateY(-4px);
1714 - pointer-events: none;
1715 - transition: opacity 0.12s ease, transform 0.12s ease;
1716 -}
1717 -.mxchat-header-menu.is-open {
1718 - opacity: 1;
1719 - transform: translateY(0);
1720 - pointer-events: auto;
1721 -}
1722 -.mxchat-header-menu[hidden] {
1723 - display: none;
1724 -}
1725 -.mxchat-menu-item {
1726 - display: flex;
1727 - align-items: center;
1728 - gap: 10px;
1729 - width: 100%;
1730 - padding: 8px 12px;
1731 - min-height: 40px;
1732 - border: none;
1733 - background: transparent;
1734 - color: inherit;
1735 - font-size: 14px;
1736 - line-height: 1.3;
1737 - text-align: left;
1738 - cursor: pointer;
1739 - border-radius: 6px;
1740 - transition: background 0.12s ease;
1741 - text-decoration: none;
1742 - box-sizing: border-box;
1743 -}
1744 -.mxchat-menu-item:hover,
1745 -.mxchat-menu-item:focus {
1746 - background: rgba(127, 127, 127, 0.18);
1747 - outline: none;
1748 -}
1749 -.mxchat-menu-item-icon {
1750 - display: inline-flex;
1751 - align-items: center;
1752 - justify-content: center;
1753 - width: 16px;
1754 - height: 16px;
1755 - color: inherit;
1756 - opacity: 0.85;
1757 - flex-shrink: 0;
1758 -}
1759 -.mxchat-menu-item-icon svg {
1760 - width: 16px;
1761 - height: 16px;
1762 - display: block;
1763 -}
1764 -.mxchat-menu-item-label {
1765 - flex: 1;
1766 - color: inherit;
1767 -}
1768 -
1769 -/* RTL — flip the dropdown anchor edge */
1770 -[dir="rtl"] .mxchat-header-menu,
1771 -.mxchat-chatbot-wrapper[dir="rtl"] .mxchat-header-menu {
1772 - right: auto;
1773 - left: 0;
1774 -}
1775 -
1776 -/* ============================================================================
1777 - Satisfaction rating (v3.2.6 — polished per plan-141a12)
1778 - Theme-adaptive via currentColor + inherit. Clean slate — old rules removed.
1779 - ========================================================================= */
1780 -.mxchat-chatbot .chat-container .chat-box .mxchat-rating-prompt,
1781 -.mxchat-chatbot .chat-container .chat-box .mxchat-rating-feedback,
1782 -.mxchat-chatbot .chat-container .chat-box .mxchat-rating-saved {
1783 - clear: both;
1784 - float: left;
1785 - max-width: 92%;
1786 - box-sizing: border-box;
1787 -}
1788 -
1789 -/* Theme-adaptive wrapper — .bot-message carries the user's custom bg/color via
1790 - inline style; the inner rating component supplies its own padding + layout. */
1791 -.mxchat-rating-bot-bubble {
1792 - padding: 0;
1793 - overflow: visible;
1794 -}
1795 -
1796 -.mxchat-rating-prompt {
1797 - display: flex;
1798 - flex-direction: column;
1799 - align-items: stretch;
1800 - gap: 10px;
1801 - padding: 10px 14px;
1802 - margin: 10px 0;
1803 - font-size: 14px;
1804 - color: inherit;
1805 -}
1806 -
1807 -.mxchat-rating-question {
1808 - color: inherit;
1809 - opacity: 0.85;
1810 - font-weight: 500;
1811 -}
1812 -
1813 -.mxchat-rating-actions {
1814 - display: flex;
1815 - align-items: center;
1816 - gap: 8px;
1817 -}
1818 -
1819 -.mxchat-rating-buttons {
1820 - display: inline-flex;
1821 - gap: 6px;
1822 -}
1823 -
1824 -.mxchat-rating-btn {
1825 - display: inline-flex;
1826 - align-items: center;
1827 - justify-content: center;
1828 - width: 32px;
1829 - height: 32px;
1830 - border-radius: 8px;
1831 - background: transparent;
1832 - border: none;
1833 - color: inherit;
1834 - opacity: 0.6;
1835 - cursor: pointer;
1836 - transition: opacity 0.18s ease, transform 0.18s ease, background-color 0.18s ease, color 0.18s ease;
1837 - padding: 0;
1838 -}
1839 -
1840 -.mxchat-rating-btn:hover {
1841 - opacity: 1;
1842 - transform: scale(1.12);
1843 - background: rgba(255, 255, 255, 0.08);
1844 -}
1845 -
1846 -.mxchat-rating-btn:focus-visible {
1847 - opacity: 1;
1848 - outline: 2px solid currentColor;
1849 - outline-offset: 2px;
1850 -}
1851 -
1852 -.mxchat-rating-btn svg {
1853 - pointer-events: none;
1854 -}
1855 -
1856 -.mxchat-rating-dismiss {
1857 - width: 24px;
1858 - height: 24px;
1859 - border-radius: 6px;
1860 - background: transparent;
1861 - border: none;
1862 - color: inherit;
1863 - opacity: 0.45;
1864 - cursor: pointer;
1865 - font-size: 18px;
1866 - line-height: 1;
1867 - transition: opacity 0.18s ease, background-color 0.18s ease;
1868 -}
1869 -
1870 -.mxchat-rating-dismiss:hover {
1871 - opacity: 0.9;
1872 - background: rgba(255, 255, 255, 0.08);
1873 -}
1874 -
1875 -/* Feedback panel that replaces the prompt after a rating is clicked */
1876 -.mxchat-rating-feedback {
1877 - padding: 12px 14px;
1878 - margin: 10px 0;
1879 - display: flex;
1880 - flex-direction: column;
1881 - gap: 10px;
1882 - color: inherit;
1883 - animation: mxchat-rating-fade-in 0.22s ease;
1884 -}
1885 -
1886 -.mxchat-rating-feedback-label {
1887 - font-size: 13px;
1888 - opacity: 0.85;
1889 - font-weight: 500;
1890 -}
1891 -
1892 -.mxchat-rating-feedback-input {
1893 - width: 100%;
1894 - box-sizing: border-box;
1895 - padding: 8px 10px;
1896 - border: 1px solid rgba(255, 255, 255, 0.25);
1897 - border-radius: 8px;
1898 - font-size: 14px;
1899 - font-family: inherit;
1900 - resize: vertical;
1901 - background: rgba(255, 255, 255, 0.08);
1902 - color: inherit;
1903 -}
1904 -
1905 -.mxchat-rating-feedback-input:focus {
1906 - outline: none;
1907 - border-color: rgba(255, 255, 255, 0.45);
1908 - background: rgba(255, 255, 255, 0.15);
1909 -}
1910 -
1911 -.mxchat-rating-feedback-actions {
1912 - display: flex;
1913 - justify-content: flex-end;
1914 - gap: 8px;
1915 -}
1916 -
1917 -.mxchat-rating-skip,
1918 -.mxchat-rating-submit {
1919 - padding: 6px 14px;
1920 - border-radius: 8px;
1921 - font-size: 13px;
1922 - font-weight: 500;
1923 - cursor: pointer;
1924 - border: none;
1925 - transition: opacity 0.18s ease, transform 0.18s ease, background-color 0.18s ease;
1926 -}
1927 -
1928 -.mxchat-rating-skip {
1929 - background: transparent;
1930 - color: inherit;
1931 - opacity: 0.6;
1932 -}
1933 -
1934 -.mxchat-rating-skip:hover {
1935 - opacity: 1;
1936 - background: rgba(255, 255, 255, 0.08);
1937 -}
1938 -
1939 -.mxchat-rating-submit {
1940 - /* Filled "primary" pill: fill = the bot font color, label = the bubble bg.
1941 - syncRatingBubbleColors() in chat-script.js paints the real bot colors
1942 - straight onto this button (inline) from the bubble's COMPUTED style, so
1943 - it adapts to both the inline color pickers AND the mxchat-theme AI
1944 - customizer. These var()/literal values are the no-JS safety net — the
1945 - literal fallbacks (#212121 fill / #ffffff label) stay legible on their
1946 - own (no white-on-white). Longhand background-color (not the `background`
1947 - shorthand) because Chromium resolves inherited custom properties
1948 - unreliably inside the shorthand. Do NOT use currentColor here — setting
1949 - `color` would re-poison the background to the same value. */
1950 - background-color: var(--mxchat-bot-fg, #212121);
1951 - color: var(--mxchat-bot-bg, #ffffff);
1952 -}
1953 -
1954 -.mxchat-rating-submit:hover {
1955 - transform: translateY(-1px);
1956 - opacity: 0.9;
1957 -}
1958 -
1959 -.mxchat-rating-saved {
1960 - padding: 10px 14px;
1961 - margin: 10px 0;
1962 - font-size: 13px;
1963 - font-weight: 500;
1964 - text-align: center;
1965 - color: inherit;
1966 - animation: mxchat-rating-fade-in 0.22s ease;
1967 -}
1968 -
1969 -@keyframes mxchat-rating-fade-in {
1970 - from { opacity: 0; transform: translateY(4px); }
1971 - to { opacity: 1; transform: translateY(0); }
1972 -}