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