PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 1.1.4
MxChat – AI Chatbot & Content Generation for WordPress v1.1.4
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 +187 -1707 3.2.71.1.4 View file →
@@ -1,895 +1,128 @@
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;
1 +#widget_icon, #widget_icon_2, #widget_icon_3, #widget_icon_5, #widget_icon_4, #widget_icon_6, #widget_icon_7 {
2 + padding: 10px;
8 3 }
9 4
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;
67 - 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 -}
75 -
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;
89 - font-size: 16px;
90 - font-weight: bold;
91 - cursor: pointer;
92 - width: 100%;
93 - transition: background-color 0.3s, transform 0.2s;
94 -}
95 -
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 {
5 +.invisible {
131 6 display: none;
7 + opacity: 0;
8 + pointer-events: none;
132 9 }
133 10
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 {
147 - display: flex;
148 - flex-direction: column;
149 - gap: 20px;
150 - margin: 15px 0;
151 - font-size: 14px !important;
152 -}
153 -
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;
324 - 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;
357 - cursor: pointer;
358 - transition: all 0.2s ease;
359 - min-height: 24px;
360 - line-height: 1;
361 -}
362 -
363 -.mxchat-copy-button:hover {
364 - background: rgba(255, 255, 255, 0.3);
365 - border-color: rgba(255, 255, 255, 0.4);
366 -}
367 -
368 -.mxchat-copy-button:active {
369 - background: rgba(255, 255, 255, 0.4);
370 -}
371 -
372 -.mxchat-code-block {
11 +#mxchat-chatbot-wrapper .chatbot-footer .privacy-notice {
12 + font-size: 0.75rem;
373 13 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;
14 + color: #71717a;
381 15 }
382 16
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 -}
17 +#mxchat-chatbot-wrapper .chatbot-footer .privacy-notice a {
18 + color: #0073aa; /* You can specify the color for the link */
19 + text-decoration: underline;
20 + font-size: 0.75rem;
392 21
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 22 }
402 23
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 -
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 -
424 -.remove-pdf-btn,
425 -.remove-word-btn,
426 -.toolbar-perplexity {
427 - background: none;
428 - border: none;
429 - padding: 2px;
430 - margin-left: 4px;
24 +#mxchat-chatbot #chat-container #input-container #send-button, .copy-btn {
25 + transition: background-color .3s;
26 + color: #fff;
27 + font-size: 1rem;
431 28 cursor: pointer;
432 - transition: opacity 0.2s;
433 - line-height: 13px;
29 + font-weight: 700;
434 30 }
435 31
436 -.remove-pdf-btn:hover,
437 -.remove-word-btn:hover,
438 -.toolbar-perplexity:hover {
439 - opacity: 1;
440 - background: none;
441 -}
442 -
443 -.mxchat-chatbot .chat-toolbar {
444 - display: flex;
445 - gap: 10px;
446 - padding: 8px;
447 - background: none;
448 - align-items: end;
449 -}
450 -
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 -
467 -.mxchat-chatbot .toolbar-btn svg {
468 - width: 100%;
469 - height: 100%;
470 -}
471 -
472 -.mxchat-chatbot .toolbar-btn:hover {
473 - opacity: 1;
474 - background: none;
475 - border: none;
476 - box-shadow: none;
477 -}
478 -
479 -.mxchat-chatbot .toolbar-btn:disabled {
480 - opacity: 0.3;
481 - cursor: not-allowed;
482 - background: none;
483 - border: none;
484 -}
485 -
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 {
499 - display: none;
500 -}
501 -
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;
539 - margin: 0;
540 -}
541 -
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 -}
550 -
551 -.mxchat-popular-questions.collapsed .mxchat-popular-question {
552 - display: none;
553 -}
554 -
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;
565 - 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;
575 -}
576 -
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;
32 +#mxchat-chatbot {
33 + max-width: 800px;
697 34 overflow: hidden;
698 35 position: relative;
699 36 display: flex;
700 37 flex-direction: column;
38 + height: 500px;
39 + box-sizing: border-box;
701 40 flex-grow: 1;
702 - min-height: 0; /* Allow flex shrinking */
703 - box-sizing: border-box;
704 41 }
705 42
706 -.chat-container {
43 +#chat-container {
707 44 display: flex;
708 45 flex-direction: column;
709 - flex-grow: 1;
710 - min-height: 0; /* Critical for flex overflow scrolling */
711 46 height: 100%;
712 47 }
713 48
714 -.chat-box {
49 +#chat-box {
715 50 flex-grow: 1;
716 51 overflow-y: auto;
717 52 padding: 10px;
718 53 margin-bottom: 0;
719 54 font-size: 1rem;
720 - min-height: 0; /* Critical for flex overflow scrolling */
721 55 }
722 56
723 -.chat-box::-webkit-scrollbar {
57 +#chat-box::-webkit-scrollbar {
724 58 width: 5px;
725 59 }
726 60
727 -.chat-box::-webkit-scrollbar-thumb {
728 - background-color: #212121;
61 +#chat-box::-webkit-scrollbar-thumb {
62 + background-color: #333;
729 63 border-radius: 20px;
730 64 }
731 65
732 -.bot-message,
733 -.user-message {
66 +.bot-message, .user-message {
734 67 margin-bottom: 15px;
735 68 padding: 10px;
736 69 display: inline-block;
737 70 max-width: 85%;
738 - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
739 - font-size: 14px;
740 - line-height: 24px;
71 + box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
741 72 }
742 73
743 74 .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);
75 + background: #fff;
76 + color: #212121;
77 + text-align: left;
78 + float: right;
79 + clear: both;
80 + border-radius: 18px 0 18px 18px;
81 + border: solid 1px #212121;
752 82 }
753 83
754 -.user-message p {
755 - margin: 0;
84 +#mxchat-chatbot #chat-container #chat-box .bot-message {
85 + text-align: left;
86 + float: left;
87 + clear: both;
88 + border: 1px solid rgba(226, 232, 255, .2);
89 + border-radius: 0 18px 18px;
90 + background: #212121;
91 + color: #fff;
756 92 }
757 93
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);
94 +#mxchat-chatbot-wrapper {
95 + box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
825 96 border-radius: 10px;
826 97 display: flex;
827 98 flex-direction: column;
828 99 height: 100%;
829 100 width: 100%;
830 - min-height: 0; /* Allow flex shrinking */
831 - overflow: hidden;
832 101 }
833 102
834 -/* ========================================
835 - INPUT & CONTROLS
836 - ======================================== */
837 -.mxchat-chatbot .chat-container .input-container {
103 +#mxchat-chatbot #chat-container #input-container {
838 104 position: relative;
839 105 display: flex;
840 106 align-items: center;
841 - padding-right: 40px;
842 - border: 1px solid #ccc;
843 - border-radius: 10px;
844 - margin: 0 10px 10px;
107 + padding: 10px;
845 108 }
846 109
847 -.mxchat-chatbot .chat-container .input-container .chat-input {
110 +#mxchat-chatbot #chat-container #input-container #chat-input {
848 111 flex-grow: 1;
112 + padding: .5rem 2.5rem .5rem .5rem;
113 + border-radius: 10px;
114 + border: 1px solid #212121;
849 115 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;
116 + font-size: 1rem;
117 + background: 0 0;
118 + width: calc(100% - 30px);
119 + margin-bottom: 0px;
120 + height: 100%;
865 121 }
866 122
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;
123 +#mxchat-chatbot #chat-container #input-container #send-button {
124 + position:absolute;
892 125 right: 10px;
893 126 top: 50%;
894 127 transform: translateY(-50%);
895 128 border: none;
@@ -898,347 +131,224 @@
898 131 height: 30px;
899 132 display: flex;
900 133 align-items: center;
901 134 justify-content: center;
902 - background: transparent !important;
135 + background: 0 0!important;
903 136 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;
910 137 }
911 138
912 -.send-button svg {
913 - width: 25px;
914 - height: 25px;
915 - pointer-events: none;
139 +#mxchat-chatbot #chat-container #input-container #send-button .fa-paper-plane {
140 + font-size: 1.3rem;
916 141 }
917 142
918 -.send-button:hover {
919 - opacity: 0.8;
143 +#send-button:hover, .copy-btn:hover {
144 + opacity: .8;
920 145 }
921 146
922 -.mxchat-chatbot .spinner {
923 - animation: rotate 2s linear infinite;
924 - width: 20px;
925 - height: 20px;
147 +#mxchat-chatbot:after {
148 + content: "";
149 + display: table;
150 + clear: both;
926 151 }
927 152
928 -.mxchat-chatbot .spinner circle {
929 - stroke: #212121;
930 - stroke-linecap: round;
931 - animation: dash 1.5s ease-in-out infinite;
153 +pre {
154 + background-color: #000;
155 + border: 1px solid #ddd;
156 + border-radius: 20px;
157 + border-left: 3px solid #9e7aff;
158 + color: #fff;
159 + page-break-inside: avoid;
160 + font-family: monospace;
161 + font-size: 15px;
162 + line-height: 1.6;
163 + margin-bottom: 1.6em;
164 + max-width: 100%;
165 + overflow: auto;
166 + padding: 1em 1.5em;
167 + display: block;
168 + word-wrap: break-word;
932 169 }
933 170
934 -@keyframes rotate {
935 - 100% {
936 - transform: rotate(360deg);
937 - }
171 +.copy-btn {
172 + padding: 10px 20px;
173 + border: none;
174 + border-radius: 4px;
175 + background-color: #9e7aff;
938 176 }
939 177
940 -@keyframes dash {
941 - 0% {
942 - stroke-dasharray: 1, 150;
943 - stroke-dashoffset: 0;
944 - }
945 - 50% {
946 - stroke-dasharray: 90, 150;
947 - stroke-dashoffset: -35;
948 - }
949 - 100% {
950 - stroke-dasharray: 90, 150;
951 - stroke-dashoffset: -124;
952 - }
953 -}
954 -
955 -/* ========================================
956 - FLOATING CHATBOT & CONTROLS
957 - ======================================== */
958 -.chatbot-title-container {
959 - display: flex;
960 - align-items: center;
961 - justify-content: space-between;
962 - gap: 10px;
963 - flex: 1 1 auto;
964 - min-width: 0;
965 -}
966 -
967 -.chatbot-title-group {
968 - display: flex;
969 - align-items: center;
970 - gap: 8px;
971 -}
972 -
973 -.chat-mode-indicator {
974 - font-size: 12px;
975 - line-height: 1;
976 - margin-right: 0;
977 - padding: 4px 9px;
978 - border-radius: 999px;
979 - background: rgba(255, 255, 255, 0.18);
980 - color: #ffffff;
981 - display: inline-flex;
982 - align-items: center;
983 - height: 22px;
984 - white-space: nowrap;
985 - flex: 0 0 auto;
986 -}
987 -
988 -.floating-chatbot {
178 +#floating-chatbot {
989 179 position: fixed;
990 180 bottom: 25px;
991 181 right: 25px;
992 182 width: 375px;
993 - /* Use viewport-aware height with fallbacks */
994 - height: min(625px, calc(100vh - 50px)); /* 50px = 25px top + 25px bottom margin */
995 - height: min(625px, calc(100dvh - 50px)); /* Dynamic viewport height for mobile browsers */
996 - max-height: calc(100vh - 50px);
997 - max-height: calc(100dvh - 50px); /* Fallback for browsers supporting dvh */
998 - box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
183 + height: 625px;
184 + box-shadow: 0 0 10px rgba(0, 0, 0, .25);
999 185 border-radius: 20px;
1000 186 overflow: hidden;
1001 187 display: flex;
1002 - flex-direction: column;
1003 188 z-index: 100000;
1004 - transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
189 + transition: transform .3s ease-in-out, opacity .3s ease-in-out;
1005 190 transform: translateY(20%);
1006 191 opacity: 0;
1007 192 pointer-events: none;
1008 193 }
1009 194
1010 -.floating-chatbot.visible {
195 +#floating-chatbot.visible {
1011 196 transform: translateY(0);
1012 197 opacity: 1;
1013 198 pointer-events: auto;
1014 199 }
1015 200
1016 -/* ========================================
1017 - EMBEDDED CHATBOT (Shortcode)
1018 - ======================================== */
1019 -/* Embedded chatbots are NOT inside .floating-chatbot wrapper */
1020 -/* Apply fixed height like floating widget so quick questions overlay properly */
1021 -.mxchat-chatbot-wrapper:not(.floating-chatbot .mxchat-chatbot-wrapper) {
1022 - height: 500px;
1023 - max-height: 500px;
201 +#floating-chatbot-button.hidden, .exit-chat span {
202 + display: none!important;
1024 203 }
1025 204
1026 -/* Hide the minimize/exit button for embedded chatbots - it doesn't make sense */
1027 -.mxchat-chatbot-wrapper:not(.floating-chatbot .mxchat-chatbot-wrapper) .exit-chat {
1028 - display: none !important;
1029 -}
1030 -
1031 -.floating-chatbot-button.hidden,
1032 -.exit-chat span {
1033 - display: none !important;
1034 -}
1035 -
1036 -.chatbot-top-bar button.exit-chat:hover {
1037 - background: rgba(255, 255, 255, 0.12);
1038 -}
1039 205 .visible {
1040 206 display: flex;
1041 207 }
1042 208
1043 -.floating-chatbot-button {
209 +#floating-chatbot-button {
1044 210 transition: opacity 1s ease-in-out;
1045 211 font-size: 1.25rem;
1046 212 position: fixed;
1047 213 bottom: 30px;
1048 214 right: 25px;
1049 - background-color: #212121;
215 + background-color: #d63638;
1050 216 color: #fff;
1051 217 width: 60px;
1052 218 height: 60px;
1053 219 border-radius: 50%;
1054 - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
220 + box-shadow: 0 4px 8px rgba(0, 0, 0, .2)!important;
1055 221 justify-content: center;
1056 222 align-items: center;
1057 223 cursor: pointer;
1058 - transition: 0.3s;
224 + transition: .3s;
1059 225 z-index: 100000;
1060 - display: flex;
226 + display: flex;
1061 227 }
1062 228
1063 -.floating-chatbot-button:focus-visible {
1064 - outline: 3px solid #7873f5;
1065 - outline-offset: 3px;
1066 -}
1067 -
1068 -.floating-chatbot-button img {
229 +#floating-chatbot-button img {
1069 230 max-width: 100%;
1070 231 max-height: 100%;
232 + padding: 10px;
1071 233 width: auto;
1072 234 height: auto;
1073 235 }
1074 236
1075 -.chatbot-top-bar {
1076 - background: #212121;
237 +#mxchat-chatbot-wrapper.active+#floating-chatbot-button {
238 + bottom: 530px;
239 + width: 100%;
1077 240 }
1078 241
1079 -.mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1080 - background: transparent;
242 +.chatbot-close-button {
243 + position: absolute;
244 + top: 5px;
245 + right: 5px;
1081 246 border: none;
1082 - opacity: 0.8;
1083 - padding: 0;
1084 - width: 32px;
1085 - height: 32px;
1086 - min-width: 32px;
1087 - flex: 0 0 auto;
1088 - border-radius: 6px;
1089 - transition: opacity 0.15s ease, background 0.15s ease;
247 + background: 0 0;
248 + cursor: pointer;
249 + font-size: 20px;
250 + color: #f0f0f1;
1090 251 }
1091 252
1092 -.mxchat-chatbot-wrapper .chatbot-top-bar {
253 +#mxchat-chatbot-wrapper .chatbot-top-bar {
1093 254 cursor: pointer;
1094 255 color: #fff;
1095 - padding: 8px 12px;
1096 - min-height: 48px;
1097 - gap: 8px;
256 + padding: 10px;
1098 257 border-top-left-radius: 10px;
1099 258 border-top-right-radius: 10px;
1100 259 display: flex;
1101 260 justify-content: space-between;
1102 - align-items: center;
261 + align-items: baseline;
1103 262 }
1104 263
1105 -.mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1106 - font-size: 15px;
1107 - line-height: 1.2;
1108 - padding: 0;
264 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
265 + font-size: 1rem;
266 + line-height: 25px;
267 + padding: 10px;
1109 268 margin: 0;
1110 269 font-family: 'Plus Jakarta Sans', sans-serif;
1111 - font-weight: 600;
270 + font-weight: bold;
1112 271 }
1113 272
273 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title span {
274 + font-weight: 700;
275 +}
276 +
277 +#mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
278 + background: 0 0;
279 + border: none;
280 + opacity: .8;
281 +}
282 +
1114 283 .exit-chat {
1115 284 border: none;
1116 - background: transparent;
285 + background: 0 0;
1117 286 cursor: pointer;
1118 - display: inline-flex;
287 + display: flex;
1119 288 align-items: center;
1120 289 justify-content: center;
1121 - padding: 0;
290 + padding: 5px;
1122 291 margin-left: auto;
1123 - opacity: 0.8;
1124 - width: 32px;
1125 - height: 32px;
1126 - min-width: 32px;
1127 - flex: 0 0 auto;
1128 292 }
1129 293
1130 294 .exit-chat svg {
1131 - width: 18px;
1132 - height: 18px;
1133 - fill: none;
1134 - stroke: currentColor;
295 + fill: white;
296 + width: 24px;
297 + height: 24px;
298 + transform: rotate(270deg);
1135 299 }
1136 300
1137 -.mxchat-chatbot-wrapper .chatbot-footer {
301 +#mxchat-chatbot-wrapper .chatbot-footer {
1138 302 text-align: center;
1139 303 padding-bottom: 10px;
1140 - font-size: 0.85em;
304 + font-size: .85em;
1141 305 }
1142 306
1143 -.mxchat-chatbot-wrapper .chatbot-footer .privacy-notice {
1144 - font-size: 12px;
1145 - margin: 0;
1146 - color: #71717a;
1147 -}
1148 -
1149 -.mxchat-chatbot-wrapper .chatbot-footer .privacy-notice a {
1150 - color: #0073aa;
1151 - text-decoration: underline;
1152 - font-size: 12px;
1153 -}
1154 -
1155 -.mxchat-chatbot-wrapper .chatbot-footer .powered-by {
307 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by {
1156 308 text-decoration: none;
1157 309 color: inherit;
1158 310 font-weight: 700;
1159 311 }
1160 312
1161 -.mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
313 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
1162 314 text-decoration: underline;
1163 315 }
1164 316
1165 -/* ========================================
1166 - INIT LOADER (shown while chat initializes)
1167 - ======================================== */
1168 -.mxchat-init-loader {
317 +.thinking-dots-container {
1169 318 display: flex;
1170 - align-items: center;
1171 319 justify-content: center;
1172 - flex-grow: 1;
1173 - min-height: 0;
1174 - animation: fadeIn 0.3s ease-in-out;
1175 -}
1176 -
1177 -.mxchat-init-loader-dots {
1178 - display: flex;
1179 - gap: 8px;
1180 -}
1181 -
1182 -.mxchat-init-loader-dots .dot {
1183 - width: 8px;
1184 - height: 8px;
1185 - border-radius: 50%;
1186 - background-color: #888;
1187 - animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1188 -}
1189 -
1190 -.mxchat-init-loader-dots .dot:nth-child(1) {
1191 - animation-delay: -0.32s;
1192 -}
1193 -
1194 -.mxchat-init-loader-dots .dot:nth-child(2) {
1195 - animation-delay: -0.16s;
1196 -}
1197 -
1198 -/* ========================================
1199 - THINKING DOTS ANIMATION
1200 - ======================================== */
1201 -.chat-box .bot-message.temporary-message .thinking-dots-container {
1202 - display: flex;
1203 - justify-content: center;
1204 320 align-items: center;
1205 321 overflow: hidden;
1206 - height: 20px;
1207 - position: relative;
1208 - z-index: 1;
1209 - flex-shrink: 0;
322 + height: 20px; /* Adjust as needed */
1210 323 }
1211 324
1212 -.chat-box .bot-message.temporary-message .thinking-dots {
325 +.thinking-dots {
1213 326 display: flex;
1214 327 justify-content: center;
1215 328 align-items: center;
1216 329 height: 90%;
1217 - gap: 5px;
1218 - flex-shrink: 0;
1219 330 }
1220 331
1221 -.chat-box .bot-message.temporary-message .thinking-dots .dot {
1222 - height: 6px;
1223 - width: 6px;
332 +.dot {
333 + height: 8px;
334 + width: 8px;
1224 335 margin: 0 3px;
1225 336 background-color: #fff;
1226 337 border-radius: 50%;
1227 338 display: inline-block;
1228 - animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1229 - vertical-align: middle;
339 + animation: bounce 1.4s ease-in-out infinite both;
1230 340 }
1231 341
1232 -.chat-box .bot-message.temporary-message .thinking-dots .dot:first-child {
1233 - animation-delay: -0.32s;
342 +.dot:first-child {
343 + animation-delay: -.32s;
1234 344 }
1235 345
1236 -.chat-box .bot-message.temporary-message .thinking-dots .dot:nth-child(2) {
1237 - animation-delay: -0.16s;
346 +.dot:nth-child(2) {
347 + animation-delay: -.16s;
1238 348 }
1239 349
1240 -@keyframes mxchat-dot-bounce {
350 +@keyframes bounce {
1241 351 0%, 100%, 80% {
1242 352 transform: scale(1);
1243 353 }
1244 354 40% {
@@ -1245,41 +355,39 @@
1245 355 transform: scale(1.5);
1246 356 }
1247 357 }
1248 358
1249 -/* ========================================
1250 - PRE-CHAT MESSAGE
1251 - ======================================== */
1252 -.pre-chat-message {
359 +
360 +
361 +#pre-chat-message {
1253 362 position: fixed;
1254 - bottom: 85px;
1255 - right: 30px;
363 + bottom: 85px;
364 + right: 30px;
1256 365 background-color: #fff;
1257 - color: #212121;
366 + color: #333;
1258 367 padding: 10px;
1259 - box-shadow: 0px 0px 10px rgba(150, 150, 150, 0.3);
368 + box-shadow: rgba(150, 150, 150, 0.2) 0px 10px 30px 0px, rgba(150, 150, 150, 0.2) 0px 0px 0px 1px;
1260 369 border-radius: 5px;
1261 370 z-index: 1000;
1262 - cursor: pointer;
1263 - max-width: 325px;
371 + cursor: pointer;
372 + max-width: 70vw;
1264 373 font-size: 14px;
1265 - display: none;
374 + display: none;
375 + background: #fff;
1266 376 margin-bottom: 10px;
1267 377 }
1268 378
1269 -.pre-chat-message .close-pre-chat-message {
379 +#pre-chat-message .close-pre-chat-message {
1270 380 position: absolute;
1271 381 top: -6px;
1272 382 right: -6px;
1273 383 background-color: #ccc;
1274 384 border: none;
1275 - color: #212121;
385 + color: #333;
1276 386 font-size: 14px;
1277 387 cursor: pointer;
1278 388 border-radius: 50%;
1279 389 width: 20px;
1280 - min-width: 20px;
1281 - min-height: 20px;
1282 390 height: 20px;
1283 391 display: flex;
1284 392 align-items: center;
1285 393 justify-content: center;
@@ -1284,672 +392,44 @@
1284 392 align-items: center;
1285 393 justify-content: center;
1286 394 padding: 0;
1287 395 line-height: 1;
396 + display: flex; /* Show the close button on hover */
1288 397 }
1289 398
1290 -/* ========================================
1291 - VIEWPORT HEIGHT CONSTRAINTS
1292 - Handles bookmarks bar, browser zoom, and smaller screens
1293 - ======================================== */
1294 -@media screen and (max-height: 700px) {
1295 - .floating-chatbot {
1296 - bottom: 15px;
1297 - height: calc(100vh - 30px);
1298 - height: calc(100dvh - 30px);
1299 - max-height: calc(100vh - 30px);
1300 - max-height: calc(100dvh - 30px);
1301 - }
1302 399
1303 - .floating-chatbot-button {
1304 - bottom: 20px;
1305 - }
1306 400
1307 - .pre-chat-message {
1308 - bottom: 75px;
1309 - }
1310 -}
1311 -
1312 -@media screen and (max-height: 550px) {
1313 - .floating-chatbot {
1314 - bottom: 10px;
1315 - height: calc(100vh - 20px);
1316 - height: calc(100dvh - 20px);
1317 - max-height: calc(100vh - 20px);
1318 - max-height: calc(100dvh - 20px);
1319 - }
1320 -
1321 - /* Reduce padding in tight spaces */
1322 - .mxchat-popular-questions {
1323 - padding: 0 8px 5px;
1324 - margin-bottom: 8px;
1325 - }
1326 -
1327 - .mxchat-popular-question {
1328 - padding: 8px 12px;
1329 - font-size: 13px;
1330 - line-height: 20px;
1331 - }
1332 -
1333 - .mxchat-chatbot .chat-container .input-container {
1334 - margin: 0 8px 8px;
1335 - }
1336 -
1337 - .mxchat-chatbot-wrapper .chatbot-footer {
1338 - padding-bottom: 5px;
1339 - }
1340 -}
1341 -
1342 -/* ========================================
1343 - MOBILE RESPONSIVE
1344 - ======================================== */
1345 -@media screen and (max-width: 782px) {
1346 - .mxchat-search-results {
1347 - gap: 15px !important;
1348 - }
1349 -
1350 - .mxchat-search-intro {
1351 - font-size: 15px !important;
1352 - }
1353 -
1354 - .mxchat-search-title {
1355 - font-size: 15px !important;
1356 - }
1357 -
1358 - .mxchat-search-description {
1359 - font-size: 13px !important;
1360 - }
1361 -}
1362 -
1363 401 @media (max-width: 550px) {
1364 - .questions-toggle-btn,
1365 - .questions-collapse-btn {
1366 - width: 28px;
1367 - height: 28px;
402 +
403 + #pre-chat-message {
404 + bottom: 70px; /* Adjust this value as needed */
405 + right: 15px; /* Adjust this value as needed */
1368 406 }
1369 -
1370 - .questions-toggle-btn svg,
1371 - .questions-collapse-btn svg {
1372 - width: 22px;
1373 - height: 22px;
1374 - }
1375 -
1376 - .pre-chat-message {
1377 - bottom: 70px;
1378 - right: 15px;
1379 - }
1380 -
1381 - .chat-input {
407 +
408 + #chat-input {
1382 409 width: calc(100% - 70px);
1383 410 }
1384 -
1385 - .bot-message,
1386 - .user-message {
411 + .bot-message, .user-message {
1387 412 padding: 10px;
1388 413 max-width: 95%;
1389 414 }
1390 -
1391 - .floating-chatbot-button {
415 + #floating-chatbot-button {
1392 416 bottom: 15px;
1393 417 right: 10px;
1394 418 }
1395 -
1396 - .floating-chatbot {
1397 - width: calc(100vw - 16px);
1398 - /* Use multiple fallbacks for maximum browser compatibility */
1399 - height: calc(100vh - 16px); /* Fallback */
1400 - height: calc(var(--vh, 1vh) * 100 - 16px); /* JS-set custom property fallback */
1401 - height: calc(100dvh - 16px); /* Modern dynamic viewport height */
1402 - max-height: calc(100vh - 16px);
1403 - max-height: calc(100dvh - 16px);
419 + #floating-chatbot {
420 + width: 100vw;
421 + height: calc(var(--vh, 1vh) * 100);
1404 422 margin: 0;
1405 423 padding: 0;
1406 424 position: fixed;
1407 - bottom: 8px;
1408 - top: auto;
1409 - left: 8px;
1410 - right: 8px;
1411 - border-radius: 16px;
1412 - box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
425 + bottom: 0;
426 + top: 0;
427 + left: 0;
428 + right: 0;
429 + border-radius: 0;
1413 430 }
1414 -
1415 - .floating-chatbot .mxchat-chatbot-wrapper {
1416 - border-radius: 16px;
1417 - overflow: hidden;
431 + #mxchat-chatbot-wrapper .chatbot-top-bar {
432 + border-top-left-radius: 0;
433 + border-top-right-radius: 0;
1418 434 }
1419 -
1420 - .mxchat-chatbot-wrapper .chatbot-top-bar {
1421 - border-top-left-radius: 16px;
1422 - border-top-right-radius: 16px;
1423 - }
1424 435 }
1425 -
1426 -
1427 -
1428 -pre {
1429 - background-color: #000;
1430 - border: 1px solid #ddd;
1431 - border-radius: 20px;
1432 - border-left: 3px solid #9e7aff;
1433 - color: #fff;
1434 - page-break-inside: avoid;
1435 - font-family: monospace;
1436 - font-size: 15px;
1437 - line-height: 1.6;
1438 - margin-bottom: 1.6em;
1439 - max-width: 100%;
1440 - overflow: auto;
1441 - padding: 1em 1.5em;
1442 - display: block;
1443 - word-wrap: break-word;
1444 -}
1445 -
1446 -.copy-btn {
1447 - padding: 10px 20px;
1448 - border: none;
1449 - border-radius: 4px;
1450 - background-color: #9e7aff;
1451 - transition: background-color 0.3s;
1452 - color: #fff;
1453 - font-size: 1rem;
1454 - cursor: pointer;
1455 - font-weight: 700;
1456 - margin-bottom: 10px;
1457 -}
1458 -
1459 -.copy-btn:hover {
1460 - opacity: 0.8;
1461 -}
1462 -
1463 -.mxchat-product-card {
1464 - display: flex;
1465 - flex-direction: column;
1466 - align-items: center;
1467 - margin: 10px 0;
1468 - padding: 10px;
1469 - border-radius: 5px;
1470 - background-color: inherit;
1471 -}
1472 -
1473 -.mxchat-product-card img.mxchat-product-image {
1474 - max-width: 100%;
1475 - height: auto;
1476 - margin-bottom: 5px;
1477 - border-radius: 4px;
1478 -}
1479 -
1480 -.mxchat-product-card h3.mxchat-product-name {
1481 - font-size: 16px;
1482 - font-weight: bold;
1483 - margin: 5px 0;
1484 - text-align: center;
1485 - color: inherit;
1486 -}
1487 -
1488 -.mxchat-product-card .mxchat-product-price {
1489 - color: inherit;
1490 - font-weight: bold;
1491 - margin-bottom: 5px;
1492 -}
1493 -
1494 -.mxchat-product-card .mxchat-product-description {
1495 - font-size: 14px;
1496 - text-align: center;
1497 - margin-bottom: 10px;
1498 - color: inherit;
1499 -}
1500 -
1501 -.mxchat-product-card .mxchat-add-to-cart-button {
1502 - background-color: #212121;
1503 - color: #fff;
1504 - padding: 8px 12px;
1505 - border: none;
1506 - cursor: pointer;
1507 - border-radius: 12px;
1508 - transition: background-color 0.3s ease;
1509 -}
1510 -
1511 -.mxchat-product-card .mxchat-add-to-cart-button:hover {
1512 - background-color: #212121;
1513 -}
1514 -
1515 -.mxchat-image-gallery {
1516 - display: flex;
1517 - flex-wrap: wrap;
1518 - gap: 10px;
1519 - justify-content: center;
1520 -}
1521 -
1522 -.mxchat-image-item {
1523 - text-align: center;
1524 - overflow: hidden;
1525 - word-wrap: break-word;
1526 -}
1527 -
1528 -.mxchat-image-title {
1529 - display: block;
1530 - font-size: 14px;
1531 - color: inherit;
1532 - white-space: nowrap;
1533 - overflow: hidden;
1534 - text-overflow: ellipsis;
1535 - max-width: 100%;
1536 -}
1537 -
1538 -.mxchat-image-link {
1539 - text-decoration: none;
1540 -}
1541 -
1542 -.mxchat-image-thumbnail {
1543 - max-width: 100%;
1544 - height: auto;
1545 - border-radius: 5px;
1546 - transition: transform 0.3s;
1547 -}
1548 -
1549 -.mxchat-image-thumbnail:hover {
1550 - transform: scale(1.05);
1551 -}
1552 -
1553 -.mxchat-generated-image {
1554 - max-width: 100%;
1555 - height: auto;
1556 - border-radius: 0 0 8px 8px;
1557 -}
1558 -
1559 -#widget_icon, #widget_icon_2, #widget_icon_3, #widget_icon_5, #widget_icon_4, #widget_icon_6, #widget_icon_7 {
1560 - padding: 10px;
1561 -}
1562 -
1563 -#widget_icon_10 {
1564 - fill: #fff;
1565 -}
1566 -
1567 -
1568 -/* This selector with more context - showing the collapse button in certain states */
1569 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn {
1570 - background: none;
1571 - border: none;
1572 - padding: 0;
1573 - margin: 0px;
1574 - cursor: pointer;
1575 - transition: all 0.2s ease;
1576 - color: #212121;
1577 - display: none; /* Hidden by default */
1578 - align-items: center;
1579 - justify-content: center;
1580 - width: 32px;
1581 - height: 32px;
1582 - box-shadow: none;
1583 - outline: none;
1584 - align-self: center; /* THIS IS MISSING */
1585 - order: -1; /* THIS IS MISSING */
1586 -}
1587 -
1588 -/* ALL hover states - these are MISSING from your new CSS */
1589 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover {
1590 - background: none;
1591 - border: none;
1592 - box-shadow: none;
1593 -}
1594 -
1595 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:focus {
1596 - outline: none;
1597 - background: none;
1598 - border: none;
1599 - box-shadow: none;
1600 -}
1601 -
1602 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:active {
1603 - background: none;
1604 - border: none;
1605 - box-shadow: none;
1606 -}
1607 -
1608 -/* SVG styles - these are MISSING */
1609 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn svg {
1610 - fill: none;
1611 - stroke: #212121;
1612 - transition: transform 0.2s ease;
1613 - width: 25px;
1614 - height: 25px;
1615 -}
1616 -
1617 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover svg {
1618 - opacity: 0.7;
1619 -}
1620 -
1621 -/* THE CRITICAL DISPLAY RULE - this shows when it's been collapsed before */
1622 -.mxchat-popular-questions.has-been-collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1623 - display: flex;
1624 -}
1625 -
1626 -/* Hide when actually collapsed */
1627 -.mxchat-popular-questions.collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1628 - display: none;
1629 -}
1630 -
1631 -/* ============================================================
1632 - Header overflow menu — 3-dot kebab + dropdown (v3.2.9 / v3.2.10)
1633 - Lives in .chatbot-top-bar to the LEFT of .exit-chat. Visual treatment
1634 - mirrors .exit-chat: transparent, white-on-dark, 0.8 opacity, 5px pad.
1635 -
1636 - v3.2.10: explicit `order` rules pin the visual order
1637 - title (0) | kebab (1) | down-arrow (2)
1638 - so the down-arrow is always the rightmost icon regardless of source
1639 - order or which sibling has margin-left:auto.
1640 - ============================================================ */
1641 -.mxchat-chatbot-wrapper .chatbot-top-bar > .chatbot-title-container { order: 0; }
1642 -.mxchat-chatbot-wrapper .chatbot-top-bar > .mxchat-header-menu-wrap { order: 1; }
1643 -.mxchat-chatbot-wrapper .chatbot-top-bar > .exit-chat { order: 2; }
1644 -
1645 -.mxchat-header-menu-wrap {
1646 - position: relative;
1647 - display: inline-flex;
1648 - align-items: center;
1649 - margin-left: auto; /* push kebab + arrow group to the right edge */
1650 -}
1651 -.mxchat-chatbot-wrapper .chatbot-top-bar .mxchat-header-menu-wrap ~ .exit-chat,
1652 -.mxchat-chatbot-wrapper .chatbot-top-bar .mxchat-header-menu-wrap + .exit-chat {
1653 - margin-left: 4px; /* even, snug gap between kebab and close */
1654 -}
1655 -.mxchat-chatbot-wrapper .chatbot-top-bar > .exit-chat:focus {
1656 - background: rgba(255, 255, 255, 0.12);
1657 - opacity: 1;
1658 - outline: none;
1659 -}
1660 -.mxchat-header-btn {
1661 - border: none;
1662 - background: transparent;
1663 - cursor: pointer;
1664 - display: inline-flex;
1665 - align-items: center;
1666 - justify-content: center;
1667 - padding: 0;
1668 - opacity: 0.8;
1669 - color: #fff;
1670 - transition: opacity 0.15s ease, background 0.15s ease;
1671 - border-radius: 6px;
1672 - line-height: 0;
1673 - width: 32px;
1674 - height: 32px;
1675 - min-width: 32px;
1676 - flex: 0 0 auto;
1677 -}
1678 -.mxchat-header-btn:hover,
1679 -.mxchat-header-btn:focus {
1680 - opacity: 1;
1681 - background: rgba(255, 255, 255, 0.12);
1682 - outline: none;
1683 -}
1684 -.mxchat-header-btn[aria-expanded="true"] {
1685 - opacity: 1;
1686 - background: rgba(255, 255, 255, 0.12);
1687 -}
1688 -.mxchat-menu-trigger svg {
1689 - width: 18px;
1690 - height: 18px;
1691 -}
1692 -
1693 -.mxchat-header-menu {
1694 - position: absolute;
1695 - top: calc(100% + 6px);
1696 - right: 0;
1697 - min-width: 220px;
1698 - background: var(--mxchat-menu-bg, #ffffff);
1699 - color: var(--mxchat-menu-fg, #1a1a1a);
1700 - border: 1px solid rgba(127, 127, 127, 0.20);
1701 - border-radius: 10px;
1702 - box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 0 2px 6px rgba(0, 0, 0, 0.10);
1703 - padding: 4px;
1704 - z-index: 5;
1705 - opacity: 0;
1706 - transform: translateY(-4px);
1707 - pointer-events: none;
1708 - transition: opacity 0.12s ease, transform 0.12s ease;
1709 -}
1710 -.mxchat-header-menu.is-open {
1711 - opacity: 1;
1712 - transform: translateY(0);
1713 - pointer-events: auto;
1714 -}
1715 -.mxchat-header-menu[hidden] {
1716 - display: none;
1717 -}
1718 -.mxchat-menu-item {
1719 - display: flex;
1720 - align-items: center;
1721 - gap: 10px;
1722 - width: 100%;
1723 - padding: 8px 12px;
1724 - min-height: 40px;
1725 - border: none;
1726 - background: transparent;
1727 - color: inherit;
1728 - font-size: 14px;
1729 - line-height: 1.3;
1730 - text-align: left;
1731 - cursor: pointer;
1732 - border-radius: 6px;
1733 - transition: background 0.12s ease;
1734 - text-decoration: none;
1735 - box-sizing: border-box;
1736 -}
1737 -.mxchat-menu-item:hover,
1738 -.mxchat-menu-item:focus {
1739 - background: rgba(127, 127, 127, 0.18);
1740 - outline: none;
1741 -}
1742 -.mxchat-menu-item-icon {
1743 - display: inline-flex;
1744 - align-items: center;
1745 - justify-content: center;
1746 - width: 16px;
1747 - height: 16px;
1748 - color: inherit;
1749 - opacity: 0.85;
1750 - flex-shrink: 0;
1751 -}
1752 -.mxchat-menu-item-icon svg {
1753 - width: 16px;
1754 - height: 16px;
1755 - display: block;
1756 -}
1757 -.mxchat-menu-item-label {
1758 - flex: 1;
1759 - color: inherit;
1760 -}
1761 -
1762 -/* RTL — flip the dropdown anchor edge */
1763 -[dir="rtl"] .mxchat-header-menu,
1764 -.mxchat-chatbot-wrapper[dir="rtl"] .mxchat-header-menu {
1765 - right: auto;
1766 - left: 0;
1767 -}
1768 -
1769 -/* ============================================================================
1770 - Satisfaction rating (v3.2.6 — polished per plan-141a12)
1771 - Theme-adaptive via currentColor + inherit. Clean slate — old rules removed.
1772 - ========================================================================= */
1773 -.mxchat-chatbot .chat-container .chat-box .mxchat-rating-prompt,
1774 -.mxchat-chatbot .chat-container .chat-box .mxchat-rating-feedback,
1775 -.mxchat-chatbot .chat-container .chat-box .mxchat-rating-saved {
1776 - clear: both;
1777 - float: left;
1778 - max-width: 92%;
1779 - box-sizing: border-box;
1780 -}
1781 -
1782 -/* Theme-adaptive wrapper — .bot-message carries the user's custom bg/color via
1783 - inline style; the inner rating component supplies its own padding + layout. */
1784 -.mxchat-rating-bot-bubble {
1785 - padding: 0;
1786 - overflow: visible;
1787 -}
1788 -
1789 -.mxchat-rating-prompt {
1790 - display: flex;
1791 - flex-direction: column;
1792 - align-items: stretch;
1793 - gap: 10px;
1794 - padding: 10px 14px;
1795 - margin: 10px 0;
1796 - font-size: 14px;
1797 - color: inherit;
1798 -}
1799 -
1800 -.mxchat-rating-question {
1801 - color: inherit;
1802 - opacity: 0.85;
1803 - font-weight: 500;
1804 -}
1805 -
1806 -.mxchat-rating-actions {
1807 - display: flex;
1808 - align-items: center;
1809 - gap: 8px;
1810 -}
1811 -
1812 -.mxchat-rating-buttons {
1813 - display: inline-flex;
1814 - gap: 6px;
1815 -}
1816 -
1817 -.mxchat-rating-btn {
1818 - display: inline-flex;
1819 - align-items: center;
1820 - justify-content: center;
1821 - width: 32px;
1822 - height: 32px;
1823 - border-radius: 8px;
1824 - background: transparent;
1825 - border: none;
1826 - color: inherit;
1827 - opacity: 0.6;
1828 - cursor: pointer;
1829 - transition: opacity 0.18s ease, transform 0.18s ease, background-color 0.18s ease, color 0.18s ease;
1830 - padding: 0;
1831 -}
1832 -
1833 -.mxchat-rating-btn:hover {
1834 - opacity: 1;
1835 - transform: scale(1.12);
1836 - background: rgba(255, 255, 255, 0.08);
1837 -}
1838 -
1839 -.mxchat-rating-btn:focus-visible {
1840 - opacity: 1;
1841 - outline: 2px solid currentColor;
1842 - outline-offset: 2px;
1843 -}
1844 -
1845 -.mxchat-rating-btn svg {
1846 - pointer-events: none;
1847 -}
1848 -
1849 -.mxchat-rating-dismiss {
1850 - width: 24px;
1851 - height: 24px;
1852 - border-radius: 6px;
1853 - background: transparent;
1854 - border: none;
1855 - color: inherit;
1856 - opacity: 0.45;
1857 - cursor: pointer;
1858 - font-size: 18px;
1859 - line-height: 1;
1860 - transition: opacity 0.18s ease, background-color 0.18s ease;
1861 -}
1862 -
1863 -.mxchat-rating-dismiss:hover {
1864 - opacity: 0.9;
1865 - background: rgba(255, 255, 255, 0.08);
1866 -}
1867 -
1868 -/* Feedback panel that replaces the prompt after a rating is clicked */
1869 -.mxchat-rating-feedback {
1870 - padding: 12px 14px;
1871 - margin: 10px 0;
1872 - display: flex;
1873 - flex-direction: column;
1874 - gap: 10px;
1875 - color: inherit;
1876 - animation: mxchat-rating-fade-in 0.22s ease;
1877 -}
1878 -
1879 -.mxchat-rating-feedback-label {
1880 - font-size: 13px;
1881 - opacity: 0.85;
1882 - font-weight: 500;
1883 -}
1884 -
1885 -.mxchat-rating-feedback-input {
1886 - width: 100%;
1887 - box-sizing: border-box;
1888 - padding: 8px 10px;
1889 - border: 1px solid rgba(255, 255, 255, 0.25);
1890 - border-radius: 8px;
1891 - font-size: 14px;
1892 - font-family: inherit;
1893 - resize: vertical;
1894 - background: rgba(255, 255, 255, 0.08);
1895 - color: inherit;
1896 -}
1897 -
1898 -.mxchat-rating-feedback-input:focus {
1899 - outline: none;
1900 - border-color: rgba(255, 255, 255, 0.45);
1901 - background: rgba(255, 255, 255, 0.15);
1902 -}
1903 -
1904 -.mxchat-rating-feedback-actions {
1905 - display: flex;
1906 - justify-content: flex-end;
1907 - gap: 8px;
1908 -}
1909 -
1910 -.mxchat-rating-skip,
1911 -.mxchat-rating-submit {
1912 - padding: 6px 14px;
1913 - border-radius: 8px;
1914 - font-size: 13px;
1915 - font-weight: 500;
1916 - cursor: pointer;
1917 - border: none;
1918 - transition: opacity 0.18s ease, transform 0.18s ease, background-color 0.18s ease;
1919 -}
1920 -
1921 -.mxchat-rating-skip {
1922 - background: transparent;
1923 - color: inherit;
1924 - opacity: 0.6;
1925 -}
1926 -
1927 -.mxchat-rating-skip:hover {
1928 - opacity: 1;
1929 - background: rgba(255, 255, 255, 0.08);
1930 -}
1931 -
1932 -.mxchat-rating-submit {
1933 - background: currentColor;
1934 - color: var(--mxchat-bot-message-bg, #ffffff);
1935 -}
1936 -
1937 -.mxchat-rating-submit:hover {
1938 - transform: translateY(-1px);
1939 - opacity: 0.9;
1940 -}
1941 -
1942 -.mxchat-rating-saved {
1943 - padding: 10px 14px;
1944 - margin: 10px 0;
1945 - font-size: 13px;
1946 - font-weight: 500;
1947 - text-align: center;
1948 - color: inherit;
1949 - animation: mxchat-rating-fade-in 0.22s ease;
1950 -}
1951 -
1952 -@keyframes mxchat-rating-fade-in {
1953 - from { opacity: 0; transform: translateY(4px); }
1954 - to { opacity: 1; transform: translateY(0); }
1955 -}