PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 1.0.8
MxChat – AI Chatbot & Content Generation for WordPress v1.0.8
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 +180 -1731 3.2.101.0.8 View file →
@@ -1,895 +1,115 @@
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;
11 +#mxchat-chatbot #chat-container #input-container #send-button, .copy-btn {
12 + transition: background-color .3s;
13 + color: #fff;
14 + font-size: 1rem;
357 15 cursor: pointer;
358 - transition: all 0.2s ease;
359 - min-height: 24px;
360 - line-height: 1;
16 + font-weight: 700;
361 17 }
362 18
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 {
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;
381 -}
382 -
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 -
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 -
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;
19 +#mxchat-chatbot {
20 + max-width: 800px;
420 21 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;
431 - cursor: pointer;
432 - transition: opacity 0.2s;
433 - line-height: 13px;
434 -}
435 -
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 22 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 23 display: flex;
527 24 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;
697 - overflow: hidden;
698 - position: relative;
699 - display: flex;
700 - flex-direction: column;
25 + height: 500px;
26 + box-sizing: border-box;
701 27 flex-grow: 1;
702 - min-height: 0; /* Allow flex shrinking */
703 - box-sizing: border-box;
704 28 }
705 29
706 -.chat-container {
30 +#chat-container {
707 31 display: flex;
708 32 flex-direction: column;
709 - flex-grow: 1;
710 - min-height: 0; /* Critical for flex overflow scrolling */
711 33 height: 100%;
712 34 }
713 35
714 -.chat-box {
36 +#chat-box {
715 37 flex-grow: 1;
716 38 overflow-y: auto;
717 39 padding: 10px;
718 40 margin-bottom: 0;
719 41 font-size: 1rem;
720 - min-height: 0; /* Critical for flex overflow scrolling */
721 42 }
722 43
723 -.chat-box::-webkit-scrollbar {
44 +#chat-box::-webkit-scrollbar {
724 45 width: 5px;
725 46 }
726 47
727 -.chat-box::-webkit-scrollbar-thumb {
728 - background-color: #212121;
48 +#chat-box::-webkit-scrollbar-thumb {
49 + background-color: #333;
729 50 border-radius: 20px;
730 51 }
731 52
732 -.bot-message,
733 -.user-message {
53 +.bot-message, .user-message {
734 54 margin-bottom: 15px;
735 55 padding: 10px;
736 56 display: inline-block;
737 57 max-width: 85%;
738 - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
739 - font-size: 14px;
740 - line-height: 24px;
58 + box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
741 59 }
742 60
743 61 .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);
62 + background: #fff;
63 + color: #212121;
64 + text-align: left;
65 + float: right;
66 + clear: both;
67 + border-radius: 18px 0 18px 18px;
68 + border: solid 1px #212121;
752 69 }
753 70
754 -.user-message p {
755 - margin: 0;
71 +#mxchat-chatbot #chat-container #chat-box .bot-message {
72 + text-align: left;
73 + float: left;
74 + clear: both;
75 + border: 1px solid rgba(226, 232, 255, .2);
76 + border-radius: 0 18px 18px;
77 + background: #212121;
78 + color: #fff;
756 79 }
757 80
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);
81 +#mxchat-chatbot-wrapper {
82 + box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
825 83 border-radius: 10px;
826 84 display: flex;
827 85 flex-direction: column;
828 86 height: 100%;
829 87 width: 100%;
830 - min-height: 0; /* Allow flex shrinking */
831 - overflow: hidden;
832 88 }
833 89
834 -/* ========================================
835 - INPUT & CONTROLS
836 - ======================================== */
837 -.mxchat-chatbot .chat-container .input-container {
90 +#mxchat-chatbot #chat-container #input-container {
838 91 position: relative;
839 92 display: flex;
840 93 align-items: center;
841 - padding-right: 40px;
842 - border: 1px solid #ccc;
843 - border-radius: 10px;
844 - margin: 0 10px 10px;
94 + padding: 10px;
845 95 }
846 96
847 -.mxchat-chatbot .chat-container .input-container .chat-input {
97 +#mxchat-chatbot #chat-container #input-container #chat-input {
848 98 flex-grow: 1;
99 + padding: .5rem 2.5rem .5rem .5rem;
100 + border-radius: 10px;
101 + border: 1px solid #212121;
849 102 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;
103 + font-size: 1rem;
104 + background: 0 0;
105 + width: calc(100% - 30px);
106 + margin-bottom: 0px;
107 + height: 100%;
865 108 }
866 109
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;
110 +#mxchat-chatbot #chat-container #input-container #send-button {
111 + position:absolute;
892 112 right: 10px;
893 113 top: 50%;
894 114 transform: translateY(-50%);
895 115 border: none;
@@ -898,354 +118,223 @@
898 118 height: 30px;
899 119 display: flex;
900 120 align-items: center;
901 121 justify-content: center;
902 - background: transparent !important;
903 - 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;
122 + background: 0 0!important;
910 123 }
911 124
912 -.send-button svg {
913 - width: 25px;
914 - height: 25px;
915 - pointer-events: none;
125 +#mxchat-chatbot #chat-container #input-container #send-button .fa-paper-plane {
126 + font-size: 1.3rem;
916 127 }
917 128
918 -.send-button:hover {
919 - opacity: 0.8;
129 +#send-button:hover, .copy-btn:hover {
130 + opacity: .8;
920 131 }
921 132
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;
133 +#mxchat-chatbot:after {
134 + content: "";
135 + display: table;
136 + clear: both;
927 137 }
928 138
929 -.mxchat-chatbot .spinner {
930 - animation: rotate 2s linear infinite;
931 - width: 20px;
932 - height: 20px;
139 +pre {
140 + background-color: #000;
141 + border: 1px solid #ddd;
142 + border-radius: 20px;
143 + border-left: 3px solid #9e7aff;
144 + color: #fff;
145 + page-break-inside: avoid;
146 + font-family: monospace;
147 + font-size: 15px;
148 + line-height: 1.6;
149 + margin-bottom: 1.6em;
150 + max-width: 100%;
151 + overflow: auto;
152 + padding: 1em 1.5em;
153 + display: block;
154 + word-wrap: break-word;
933 155 }
934 156
935 -.mxchat-chatbot .spinner circle {
936 - stroke: #212121;
937 - stroke-linecap: round;
938 - animation: dash 1.5s ease-in-out infinite;
157 +.copy-btn {
158 + padding: 10px 20px;
159 + border: none;
160 + border-radius: 4px;
161 + background-color: #9e7aff;
939 162 }
940 163
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 {
164 +#floating-chatbot {
996 165 position: fixed;
997 166 bottom: 25px;
998 167 right: 25px;
999 168 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);
169 + height: 625px;
170 + box-shadow: 0 0 10px rgba(0, 0, 0, .25);
1006 171 border-radius: 20px;
1007 172 overflow: hidden;
1008 173 display: flex;
1009 - flex-direction: column;
1010 174 z-index: 100000;
1011 - transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
175 + transition: transform .3s ease-in-out, opacity .3s ease-in-out;
1012 176 transform: translateY(20%);
1013 177 opacity: 0;
1014 178 pointer-events: none;
1015 179 }
1016 180
1017 -.floating-chatbot.visible {
181 +#floating-chatbot.visible {
1018 182 transform: translateY(0);
1019 183 opacity: 1;
1020 184 pointer-events: auto;
1021 185 }
1022 186
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;
187 +#floating-chatbot-button.hidden, .exit-chat span {
188 + display: none!important;
1031 189 }
1032 190
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 191 .visible {
1047 192 display: flex;
1048 193 }
1049 194
1050 -.floating-chatbot-button {
195 +#floating-chatbot-button {
1051 196 transition: opacity 1s ease-in-out;
1052 197 font-size: 1.25rem;
1053 198 position: fixed;
1054 199 bottom: 30px;
1055 200 right: 25px;
1056 - background-color: #212121;
201 + background-color: #d63638;
1057 202 color: #fff;
1058 203 width: 60px;
1059 204 height: 60px;
1060 205 border-radius: 50%;
1061 - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
206 + box-shadow: 0 4px 8px rgba(0, 0, 0, .2)!important;
1062 207 justify-content: center;
1063 208 align-items: center;
1064 209 cursor: pointer;
1065 - transition: 0.3s;
210 + transition: .3s;
1066 211 z-index: 100000;
1067 - display: flex;
212 + display: flex;
1068 213 }
1069 214
1070 -.floating-chatbot-button:focus-visible {
1071 - outline: 3px solid #7873f5;
1072 - outline-offset: 3px;
1073 -}
1074 -
1075 -.floating-chatbot-button img {
215 +#floating-chatbot-button img {
1076 216 max-width: 100%;
1077 217 max-height: 100%;
218 + padding: 10px;
1078 219 width: auto;
1079 220 height: auto;
1080 221 }
1081 222
1082 -.chatbot-top-bar {
1083 - background: #212121;
223 +#mxchat-chatbot-wrapper.active+#floating-chatbot-button {
224 + bottom: 530px;
225 + width: 100%;
1084 226 }
1085 227
1086 -.mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1087 - background: transparent;
228 +.chatbot-close-button {
229 + position: absolute;
230 + top: 5px;
231 + right: 5px;
1088 232 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;
233 + background: 0 0;
234 + cursor: pointer;
235 + font-size: 20px;
236 + color: #f0f0f1;
1097 237 }
1098 238
1099 -.mxchat-chatbot-wrapper .chatbot-top-bar {
239 +#mxchat-chatbot-wrapper .chatbot-top-bar {
1100 240 cursor: pointer;
1101 241 color: #fff;
1102 - padding: 8px 12px;
1103 - min-height: 48px;
1104 - gap: 8px;
242 + padding: 10px;
1105 243 border-top-left-radius: 10px;
1106 244 border-top-right-radius: 10px;
1107 245 display: flex;
1108 246 justify-content: space-between;
1109 - align-items: center;
247 + align-items: baseline;
1110 248 }
1111 249
1112 -.mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1113 - font-size: 15px;
1114 - line-height: 1.2;
1115 - padding: 0;
250 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
251 + font-size: 1rem;
252 + line-height: 25px;
253 + padding: 10px;
1116 254 margin: 0;
1117 255 font-family: 'Plus Jakarta Sans', sans-serif;
1118 - font-weight: 600;
256 + font-weight: bold;
1119 257 }
1120 258
259 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title span {
260 + font-weight: 700;
261 +}
262 +
263 +#mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
264 + background: 0 0;
265 + border: none;
266 + opacity: .8;
267 +}
268 +
1121 269 .exit-chat {
1122 270 border: none;
1123 - background: transparent;
271 + background: 0 0;
1124 272 cursor: pointer;
1125 - display: inline-flex;
273 + display: flex;
1126 274 align-items: center;
1127 275 justify-content: center;
1128 - padding: 0;
276 + padding: 5px;
1129 277 margin-left: auto;
1130 - opacity: 0.8;
1131 - width: 32px;
1132 - height: 32px;
1133 - min-width: 32px;
1134 - flex: 0 0 auto;
1135 278 }
1136 279
1137 280 .exit-chat svg {
1138 - width: 18px;
1139 - height: 18px;
1140 - fill: none;
1141 - stroke: currentColor;
281 + fill: white;
282 + width: 24px;
283 + height: 24px;
284 + transform: rotate(270deg);
1142 285 }
1143 286
1144 -.mxchat-chatbot-wrapper .chatbot-footer {
287 +#mxchat-chatbot-wrapper .chatbot-footer {
1145 288 text-align: center;
1146 289 padding-bottom: 10px;
1147 - font-size: 0.85em;
290 + font-size: .85em;
1148 291 }
1149 292
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 {
293 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by {
1163 294 text-decoration: none;
1164 295 color: inherit;
1165 296 font-weight: 700;
1166 297 }
1167 298
1168 -.mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
299 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
1169 300 text-decoration: underline;
1170 301 }
1171 302
1172 -/* ========================================
1173 - INIT LOADER (shown while chat initializes)
1174 - ======================================== */
1175 -.mxchat-init-loader {
303 +.thinking-dots-container {
1176 304 display: flex;
1177 - align-items: center;
1178 305 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 306 align-items: center;
1212 307 overflow: hidden;
1213 - height: 20px;
1214 - position: relative;
1215 - z-index: 1;
1216 - flex-shrink: 0;
308 + height: 20px; /* Adjust as needed */
1217 309 }
1218 310
1219 -.chat-box .bot-message.temporary-message .thinking-dots {
311 +.thinking-dots {
1220 312 display: flex;
1221 313 justify-content: center;
1222 314 align-items: center;
1223 315 height: 90%;
1224 - gap: 5px;
1225 - flex-shrink: 0;
1226 316 }
1227 317
1228 -.chat-box .bot-message.temporary-message .thinking-dots .dot {
1229 - height: 6px;
1230 - width: 6px;
318 +.dot {
319 + height: 8px;
320 + width: 8px;
1231 321 margin: 0 3px;
1232 322 background-color: #fff;
1233 323 border-radius: 50%;
1234 324 display: inline-block;
1235 - animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1236 - vertical-align: middle;
325 + animation: bounce 1.4s ease-in-out infinite both;
1237 326 }
1238 327
1239 -.chat-box .bot-message.temporary-message .thinking-dots .dot:first-child {
1240 - animation-delay: -0.32s;
328 +.dot:first-child {
329 + animation-delay: -.32s;
1241 330 }
1242 331
1243 -.chat-box .bot-message.temporary-message .thinking-dots .dot:nth-child(2) {
1244 - animation-delay: -0.16s;
332 +.dot:nth-child(2) {
333 + animation-delay: -.16s;
1245 334 }
1246 335
1247 -@keyframes mxchat-dot-bounce {
336 +@keyframes bounce {
1248 337 0%, 100%, 80% {
1249 338 transform: scale(1);
1250 339 }
1251 340 40% {
@@ -1252,41 +341,39 @@
1252 341 transform: scale(1.5);
1253 342 }
1254 343 }
1255 344
1256 -/* ========================================
1257 - PRE-CHAT MESSAGE
1258 - ======================================== */
1259 -.pre-chat-message {
345 +
346 +
347 +#pre-chat-message {
1260 348 position: fixed;
1261 - bottom: 85px;
1262 - right: 30px;
349 + bottom: 85px;
350 + right: 30px;
1263 351 background-color: #fff;
1264 - color: #212121;
352 + color: #333;
1265 353 padding: 10px;
1266 - box-shadow: 0px 0px 10px rgba(150, 150, 150, 0.3);
354 + box-shadow: rgba(150, 150, 150, 0.2) 0px 10px 30px 0px, rgba(150, 150, 150, 0.2) 0px 0px 0px 1px;
1267 355 border-radius: 5px;
1268 356 z-index: 1000;
1269 - cursor: pointer;
1270 - max-width: 325px;
357 + cursor: pointer;
358 + max-width: 70vw;
1271 359 font-size: 14px;
1272 - display: none;
360 + display: none;
361 + background: #fff;
1273 362 margin-bottom: 10px;
1274 363 }
1275 364
1276 -.pre-chat-message .close-pre-chat-message {
365 +#pre-chat-message .close-pre-chat-message {
1277 366 position: absolute;
1278 367 top: -6px;
1279 368 right: -6px;
1280 369 background-color: #ccc;
1281 370 border: none;
1282 - color: #212121;
371 + color: #333;
1283 372 font-size: 14px;
1284 373 cursor: pointer;
1285 374 border-radius: 50%;
1286 375 width: 20px;
1287 - min-width: 20px;
1288 - min-height: 20px;
1289 376 height: 20px;
1290 377 display: flex;
1291 378 align-items: center;
1292 379 justify-content: center;
@@ -1291,682 +378,44 @@
1291 378 align-items: center;
1292 379 justify-content: center;
1293 380 padding: 0;
1294 381 line-height: 1;
382 + display: flex; /* Show the close button on hover */
1295 383 }
1296 384
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 385
1310 - .floating-chatbot-button {
1311 - bottom: 20px;
1312 - }
1313 386
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 387 @media (max-width: 550px) {
1371 - .questions-toggle-btn,
1372 - .questions-collapse-btn {
1373 - width: 28px;
1374 - height: 28px;
388 +
389 + #pre-chat-message {
390 + bottom: 70px; /* Adjust this value as needed */
391 + right: 15px; /* Adjust this value as needed */
1375 392 }
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 {
393 +
394 + #chat-input {
1389 395 width: calc(100% - 70px);
1390 396 }
1391 -
1392 - .bot-message,
1393 - .user-message {
397 + .bot-message, .user-message {
1394 398 padding: 10px;
1395 399 max-width: 95%;
1396 400 }
1397 -
1398 - .floating-chatbot-button {
401 + #floating-chatbot-button {
1399 402 bottom: 15px;
1400 403 right: 10px;
1401 404 }
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);
405 + #floating-chatbot {
406 + width: 100vw;
407 + height: calc(var(--vh, 1vh) * 100);
1411 408 margin: 0;
1412 409 padding: 0;
1413 410 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);
411 + bottom: 0;
412 + top: 0;
413 + left: 0;
414 + right: 0;
415 + border-radius: 0;
1420 416 }
1421 -
1422 - .floating-chatbot .mxchat-chatbot-wrapper {
1423 - border-radius: 16px;
1424 - overflow: hidden;
417 + #mxchat-chatbot-wrapper .chatbot-top-bar {
418 + border-top-left-radius: 0;
419 + border-top-right-radius: 0;
1425 420 }
1426 -
1427 - .mxchat-chatbot-wrapper .chatbot-top-bar {
1428 - border-top-left-radius: 16px;
1429 - border-top-right-radius: 16px;
1430 - }
1431 421 }
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 -}