PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 1.1.8
MxChat – AI Chatbot & Content Generation for WordPress v1.1.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 +188 -1724 3.2.91.1.8 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,354 +131,225 @@
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;
137 + margin: 0px 0px 0px 0px;
910 138 }
911 139
912 -.send-button svg {
913 - width: 25px;
914 - height: 25px;
915 - pointer-events: none;
140 +#mxchat-chatbot #chat-container #input-container #send-button .fa-paper-plane {
141 + font-size: 1.3rem;
916 142 }
917 143
918 -.send-button:hover {
919 - opacity: 0.8;
144 +#send-button:hover, .copy-btn:hover {
145 + opacity: .8;
920 146 }
921 147
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;
148 +#mxchat-chatbot:after {
149 + content: "";
150 + display: table;
151 + clear: both;
927 152 }
928 153
929 -.mxchat-chatbot .spinner {
930 - animation: rotate 2s linear infinite;
931 - width: 20px;
932 - height: 20px;
154 +pre {
155 + background-color: #000;
156 + border: 1px solid #ddd;
157 + border-radius: 20px;
158 + border-left: 3px solid #9e7aff;
159 + color: #fff;
160 + page-break-inside: avoid;
161 + font-family: monospace;
162 + font-size: 15px;
163 + line-height: 1.6;
164 + margin-bottom: 1.6em;
165 + max-width: 100%;
166 + overflow: auto;
167 + padding: 1em 1.5em;
168 + display: block;
169 + word-wrap: break-word;
933 170 }
934 171
935 -.mxchat-chatbot .spinner circle {
936 - stroke: #212121;
937 - stroke-linecap: round;
938 - animation: dash 1.5s ease-in-out infinite;
172 +.copy-btn {
173 + padding: 10px 20px;
174 + border: none;
175 + border-radius: 4px;
176 + background-color: #9e7aff;
939 177 }
940 178
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 {
179 +#floating-chatbot {
996 180 position: fixed;
997 181 bottom: 25px;
998 182 right: 25px;
999 183 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);
184 + height: 625px;
185 + box-shadow: 0 0 10px rgba(0, 0, 0, .25);
1006 186 border-radius: 20px;
1007 187 overflow: hidden;
1008 188 display: flex;
1009 - flex-direction: column;
1010 189 z-index: 100000;
1011 - transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
190 + transition: transform .3s ease-in-out, opacity .3s ease-in-out;
1012 191 transform: translateY(20%);
1013 192 opacity: 0;
1014 193 pointer-events: none;
1015 194 }
1016 195
1017 -.floating-chatbot.visible {
196 +#floating-chatbot.visible {
1018 197 transform: translateY(0);
1019 198 opacity: 1;
1020 199 pointer-events: auto;
1021 200 }
1022 201
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;
202 +#floating-chatbot-button.hidden, .exit-chat span {
203 + display: none!important;
1031 204 }
1032 205
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 206 .visible {
1047 207 display: flex;
1048 208 }
1049 209
1050 -.floating-chatbot-button {
210 +#floating-chatbot-button {
1051 211 transition: opacity 1s ease-in-out;
1052 212 font-size: 1.25rem;
1053 213 position: fixed;
1054 214 bottom: 30px;
1055 215 right: 25px;
1056 - background-color: #212121;
216 + background-color: #d63638;
1057 217 color: #fff;
1058 218 width: 60px;
1059 219 height: 60px;
1060 220 border-radius: 50%;
1061 - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
221 + box-shadow: 0 4px 8px rgba(0, 0, 0, .2)!important;
1062 222 justify-content: center;
1063 223 align-items: center;
1064 224 cursor: pointer;
1065 - transition: 0.3s;
225 + transition: .3s;
1066 226 z-index: 100000;
1067 - display: flex;
227 + display: flex;
1068 228 }
1069 229
1070 -.floating-chatbot-button:focus-visible {
1071 - outline: 3px solid #7873f5;
1072 - outline-offset: 3px;
1073 -}
1074 -
1075 -.floating-chatbot-button img {
230 +#floating-chatbot-button img {
1076 231 max-width: 100%;
1077 232 max-height: 100%;
233 + padding: 10px;
1078 234 width: auto;
1079 235 height: auto;
1080 236 }
1081 237
1082 -.chatbot-top-bar {
1083 - background: #212121;
238 +#mxchat-chatbot-wrapper.active+#floating-chatbot-button {
239 + bottom: 530px;
240 + width: 100%;
1084 241 }
1085 242
1086 -.mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1087 - background: transparent;
243 +.chatbot-close-button {
244 + position: absolute;
245 + top: 5px;
246 + right: 5px;
1088 247 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;
248 + background: 0 0;
249 + cursor: pointer;
250 + font-size: 20px;
251 + color: #f0f0f1;
1097 252 }
1098 253
1099 -.mxchat-chatbot-wrapper .chatbot-top-bar {
254 +#mxchat-chatbot-wrapper .chatbot-top-bar {
1100 255 cursor: pointer;
1101 256 color: #fff;
1102 - padding: 8px 12px;
1103 - min-height: 48px;
1104 - gap: 8px;
257 + padding: 10px;
1105 258 border-top-left-radius: 10px;
1106 259 border-top-right-radius: 10px;
1107 260 display: flex;
1108 261 justify-content: space-between;
1109 - align-items: center;
262 + align-items: baseline;
1110 263 }
1111 264
1112 -.mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1113 - font-size: 15px;
1114 - line-height: 1.2;
1115 - padding: 0;
265 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
266 + font-size: 1rem;
267 + line-height: 25px;
268 + padding: 10px;
1116 269 margin: 0;
1117 270 font-family: 'Plus Jakarta Sans', sans-serif;
1118 - font-weight: 600;
271 + font-weight: bold;
1119 272 }
1120 273
274 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title span {
275 + font-weight: 700;
276 +}
277 +
278 +#mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
279 + background: 0 0;
280 + border: none;
281 + opacity: .8;
282 +}
283 +
1121 284 .exit-chat {
1122 285 border: none;
1123 - background: transparent;
286 + background: 0 0;
1124 287 cursor: pointer;
1125 - display: inline-flex;
288 + display: flex;
1126 289 align-items: center;
1127 290 justify-content: center;
1128 - padding: 0;
291 + padding: 5px;
1129 292 margin-left: auto;
1130 - opacity: 0.8;
1131 - width: 32px;
1132 - height: 32px;
1133 - min-width: 32px;
1134 - flex: 0 0 auto;
1135 293 }
1136 294
1137 295 .exit-chat svg {
1138 - width: 18px;
1139 - height: 18px;
1140 - fill: none;
1141 - stroke: currentColor;
296 + fill: white;
297 + width: 24px;
298 + height: 24px;
299 + transform: rotate(270deg);
1142 300 }
1143 301
1144 -.mxchat-chatbot-wrapper .chatbot-footer {
302 +#mxchat-chatbot-wrapper .chatbot-footer {
1145 303 text-align: center;
1146 304 padding-bottom: 10px;
1147 - font-size: 0.85em;
305 + font-size: .85em;
1148 306 }
1149 307
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 {
308 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by {
1163 309 text-decoration: none;
1164 310 color: inherit;
1165 311 font-weight: 700;
1166 312 }
1167 313
1168 -.mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
314 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
1169 315 text-decoration: underline;
1170 316 }
1171 317
1172 -/* ========================================
1173 - INIT LOADER (shown while chat initializes)
1174 - ======================================== */
1175 -.mxchat-init-loader {
318 +.thinking-dots-container {
1176 319 display: flex;
1177 - align-items: center;
1178 320 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 321 align-items: center;
1212 322 overflow: hidden;
1213 - height: 20px;
1214 - position: relative;
1215 - z-index: 1;
1216 - flex-shrink: 0;
323 + height: 20px; /* Adjust as needed */
1217 324 }
1218 325
1219 -.chat-box .bot-message.temporary-message .thinking-dots {
326 +.thinking-dots {
1220 327 display: flex;
1221 328 justify-content: center;
1222 329 align-items: center;
1223 330 height: 90%;
1224 - gap: 5px;
1225 - flex-shrink: 0;
1226 331 }
1227 332
1228 -.chat-box .bot-message.temporary-message .thinking-dots .dot {
1229 - height: 6px;
1230 - width: 6px;
333 +.dot {
334 + height: 8px;
335 + width: 8px;
1231 336 margin: 0 3px;
1232 337 background-color: #fff;
1233 338 border-radius: 50%;
1234 339 display: inline-block;
1235 - animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1236 - vertical-align: middle;
340 + animation: bounce 1.4s ease-in-out infinite both;
1237 341 }
1238 342
1239 -.chat-box .bot-message.temporary-message .thinking-dots .dot:first-child {
1240 - animation-delay: -0.32s;
343 +.dot:first-child {
344 + animation-delay: -.32s;
1241 345 }
1242 346
1243 -.chat-box .bot-message.temporary-message .thinking-dots .dot:nth-child(2) {
1244 - animation-delay: -0.16s;
347 +.dot:nth-child(2) {
348 + animation-delay: -.16s;
1245 349 }
1246 350
1247 -@keyframes mxchat-dot-bounce {
351 +@keyframes bounce {
1248 352 0%, 100%, 80% {
1249 353 transform: scale(1);
1250 354 }
1251 355 40% {
@@ -1252,41 +356,39 @@
1252 356 transform: scale(1.5);
1253 357 }
1254 358 }
1255 359
1256 -/* ========================================
1257 - PRE-CHAT MESSAGE
1258 - ======================================== */
1259 -.pre-chat-message {
360 +
361 +
362 +#pre-chat-message {
1260 363 position: fixed;
1261 - bottom: 85px;
1262 - right: 30px;
364 + bottom: 85px;
365 + right: 30px;
1263 366 background-color: #fff;
1264 - color: #212121;
367 + color: #333;
1265 368 padding: 10px;
1266 - box-shadow: 0px 0px 10px rgba(150, 150, 150, 0.3);
369 + box-shadow: rgba(150, 150, 150, 0.2) 0px 10px 30px 0px, rgba(150, 150, 150, 0.2) 0px 0px 0px 1px;
1267 370 border-radius: 5px;
1268 371 z-index: 1000;
1269 - cursor: pointer;
1270 - max-width: 325px;
372 + cursor: pointer;
373 + max-width: 70vw;
1271 374 font-size: 14px;
1272 - display: none;
375 + display: none;
376 + background: #fff;
1273 377 margin-bottom: 10px;
1274 378 }
1275 379
1276 -.pre-chat-message .close-pre-chat-message {
380 +#pre-chat-message .close-pre-chat-message {
1277 381 position: absolute;
1278 382 top: -6px;
1279 383 right: -6px;
1280 384 background-color: #ccc;
1281 385 border: none;
1282 - color: #212121;
386 + color: #333;
1283 387 font-size: 14px;
1284 388 cursor: pointer;
1285 389 border-radius: 50%;
1286 390 width: 20px;
1287 - min-width: 20px;
1288 - min-height: 20px;
1289 391 height: 20px;
1290 392 display: flex;
1291 393 align-items: center;
1292 394 justify-content: center;
@@ -1291,682 +393,44 @@
1291 393 align-items: center;
1292 394 justify-content: center;
1293 395 padding: 0;
1294 396 line-height: 1;
397 + display: flex; /* Show the close button on hover */
1295 398 }
1296 399
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 400
1310 - .floating-chatbot-button {
1311 - bottom: 20px;
1312 - }
1313 401
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 402 @media (max-width: 550px) {
1371 - .questions-toggle-btn,
1372 - .questions-collapse-btn {
1373 - width: 28px;
1374 - height: 28px;
403 +
404 + #pre-chat-message {
405 + bottom: 70px; /* Adjust this value as needed */
406 + right: 15px; /* Adjust this value as needed */
1375 407 }
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 {
408 +
409 + #chat-input {
1389 410 width: calc(100% - 70px);
1390 411 }
1391 -
1392 - .bot-message,
1393 - .user-message {
412 + .bot-message, .user-message {
1394 413 padding: 10px;
1395 414 max-width: 95%;
1396 415 }
1397 -
1398 - .floating-chatbot-button {
416 + #floating-chatbot-button {
1399 417 bottom: 15px;
1400 418 right: 10px;
1401 419 }
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);
420 + #floating-chatbot {
421 + width: 100vw;
422 + height: calc(var(--vh, 1vh) * 100);
1411 423 margin: 0;
1412 424 padding: 0;
1413 425 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);
426 + bottom: 0;
427 + top: 0;
428 + left: 0;
429 + right: 0;
430 + border-radius: 0;
1420 431 }
1421 -
1422 - .floating-chatbot .mxchat-chatbot-wrapper {
1423 - border-radius: 16px;
1424 - overflow: hidden;
432 + #mxchat-chatbot-wrapper .chatbot-top-bar {
433 + border-top-left-radius: 0;
434 + border-top-right-radius: 0;
1425 435 }
1426 -
1427 - .mxchat-chatbot-wrapper .chatbot-top-bar {
1428 - border-top-left-radius: 16px;
1429 - border-top-right-radius: 16px;
1430 - }
1431 436 }
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 -}