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