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 -1722 3.2.81.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,347 +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 -.mxchat-chatbot .spinner {
923 - animation: rotate 2s linear infinite;
924 - width: 20px;
925 - height: 20px;
139 +#mxchat-chatbot:after {
140 + content: "";
141 + display: table;
142 + clear: both;
926 143 }
927 144
928 -.mxchat-chatbot .spinner circle {
929 - stroke: #212121;
930 - stroke-linecap: round;
931 - animation: dash 1.5s ease-in-out infinite;
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;
932 161 }
933 162
934 -@keyframes rotate {
935 - 100% {
936 - transform: rotate(360deg);
937 - }
163 +.copy-btn {
164 + padding: 10px 20px;
165 + border: none;
166 + border-radius: 4px;
167 + background-color: #9e7aff;
938 168 }
939 169
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 {
170 +#floating-chatbot {
989 171 position: fixed;
990 172 bottom: 25px;
991 173 right: 25px;
992 174 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);
175 + height: 625px;
176 + box-shadow: 0 0 10px rgba(0, 0, 0, .25);
999 177 border-radius: 20px;
1000 178 overflow: hidden;
1001 179 display: flex;
1002 - flex-direction: column;
1003 180 z-index: 100000;
1004 - 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;
1005 182 transform: translateY(20%);
1006 183 opacity: 0;
1007 184 pointer-events: none;
1008 185 }
1009 186
1010 -.floating-chatbot.visible {
187 +#floating-chatbot.visible {
1011 188 transform: translateY(0);
1012 189 opacity: 1;
1013 190 pointer-events: auto;
1014 191 }
1015 192
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;
193 +#floating-chatbot-button.hidden, .exit-chat span {
194 + display: none!important;
1024 195 }
1025 196
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 197 .visible {
1040 198 display: flex;
1041 199 }
1042 200
1043 -.floating-chatbot-button {
201 +#floating-chatbot-button {
1044 202 transition: opacity 1s ease-in-out;
1045 203 font-size: 1.25rem;
1046 204 position: fixed;
1047 205 bottom: 30px;
1048 206 right: 25px;
1049 - background-color: #212121;
207 + background-color: #d63638;
1050 208 color: #fff;
1051 209 width: 60px;
1052 210 height: 60px;
1053 211 border-radius: 50%;
1054 - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
212 + box-shadow: 0 4px 8px rgba(0, 0, 0, .2)!important;
1055 213 justify-content: center;
1056 214 align-items: center;
1057 215 cursor: pointer;
1058 - transition: 0.3s;
216 + transition: .3s;
1059 217 z-index: 100000;
1060 - display: flex;
218 + display: flex;
1061 219 }
1062 220
1063 -.floating-chatbot-button:focus-visible {
1064 - outline: 3px solid #7873f5;
1065 - outline-offset: 3px;
1066 -}
1067 -
1068 -.floating-chatbot-button img {
221 +#floating-chatbot-button img {
1069 222 max-width: 100%;
1070 223 max-height: 100%;
224 + padding: 10px;
1071 225 width: auto;
1072 226 height: auto;
1073 227 }
1074 228
1075 -.chatbot-top-bar {
1076 - background: #212121;
229 +#mxchat-chatbot-wrapper.active+#floating-chatbot-button {
230 + bottom: 530px;
231 + width: 100%;
1077 232 }
1078 233
1079 -.mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1080 - background: transparent;
234 +.chatbot-close-button {
235 + position: absolute;
236 + top: 5px;
237 + right: 5px;
1081 238 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;
239 + background: 0 0;
240 + cursor: pointer;
241 + font-size: 20px;
242 + color: #f0f0f1;
1090 243 }
1091 244
1092 -.mxchat-chatbot-wrapper .chatbot-top-bar {
245 +#mxchat-chatbot-wrapper .chatbot-top-bar {
1093 246 cursor: pointer;
1094 247 color: #fff;
1095 - padding: 8px 12px;
1096 - min-height: 48px;
1097 - gap: 8px;
248 + padding: 10px;
1098 249 border-top-left-radius: 10px;
1099 250 border-top-right-radius: 10px;
1100 251 display: flex;
1101 252 justify-content: space-between;
1102 - align-items: center;
253 + align-items: baseline;
1103 254 }
1104 255
1105 -.mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1106 - font-size: 15px;
1107 - line-height: 1.2;
1108 - padding: 0;
256 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
257 + font-size: 1rem;
258 + line-height: 25px;
259 + padding: 10px;
1109 260 margin: 0;
1110 261 font-family: 'Plus Jakarta Sans', sans-serif;
1111 - font-weight: 600;
262 + font-weight: bold;
1112 263 }
1113 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 +
1114 275 .exit-chat {
1115 276 border: none;
1116 - background: transparent;
277 + background: 0 0;
1117 278 cursor: pointer;
1118 - display: inline-flex;
279 + display: flex;
1119 280 align-items: center;
1120 281 justify-content: center;
1121 - padding: 0;
282 + padding: 5px;
1122 283 margin-left: auto;
1123 - opacity: 0.8;
1124 - width: 32px;
1125 - height: 32px;
1126 - min-width: 32px;
1127 - flex: 0 0 auto;
1128 284 }
1129 285
1130 286 .exit-chat svg {
1131 - width: 18px;
1132 - height: 18px;
1133 - fill: none;
1134 - stroke: currentColor;
287 + fill: white;
288 + width: 24px;
289 + height: 24px;
290 + transform: rotate(270deg);
1135 291 }
1136 292
1137 -.mxchat-chatbot-wrapper .chatbot-footer {
293 +#mxchat-chatbot-wrapper .chatbot-footer {
1138 294 text-align: center;
1139 295 padding-bottom: 10px;
1140 - font-size: 0.85em;
296 + font-size: .85em;
1141 297 }
1142 298
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 {
299 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by {
1156 300 text-decoration: none;
1157 301 color: inherit;
1158 302 font-weight: 700;
1159 303 }
1160 304
1161 -.mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
305 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
1162 306 text-decoration: underline;
1163 307 }
1164 308
1165 -/* ========================================
1166 - INIT LOADER (shown while chat initializes)
1167 - ======================================== */
1168 -.mxchat-init-loader {
309 +.thinking-dots-container {
1169 310 display: flex;
1170 - align-items: center;
1171 311 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 312 align-items: center;
1205 313 overflow: hidden;
1206 - height: 20px;
1207 - position: relative;
1208 - z-index: 1;
1209 - flex-shrink: 0;
314 + height: 20px; /* Adjust as needed */
1210 315 }
1211 316
1212 -.chat-box .bot-message.temporary-message .thinking-dots {
317 +.thinking-dots {
1213 318 display: flex;
1214 319 justify-content: center;
1215 320 align-items: center;
1216 321 height: 90%;
1217 - gap: 5px;
1218 - flex-shrink: 0;
1219 322 }
1220 323
1221 -.chat-box .bot-message.temporary-message .thinking-dots .dot {
1222 - height: 6px;
1223 - width: 6px;
324 +.dot {
325 + height: 8px;
326 + width: 8px;
1224 327 margin: 0 3px;
1225 328 background-color: #fff;
1226 329 border-radius: 50%;
1227 330 display: inline-block;
1228 - animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1229 - vertical-align: middle;
331 + animation: bounce 1.4s ease-in-out infinite both;
1230 332 }
1231 333
1232 -.chat-box .bot-message.temporary-message .thinking-dots .dot:first-child {
1233 - animation-delay: -0.32s;
334 +.dot:first-child {
335 + animation-delay: -.32s;
1234 336 }
1235 337
1236 -.chat-box .bot-message.temporary-message .thinking-dots .dot:nth-child(2) {
1237 - animation-delay: -0.16s;
338 +.dot:nth-child(2) {
339 + animation-delay: -.16s;
1238 340 }
1239 341
1240 -@keyframes mxchat-dot-bounce {
342 +@keyframes bounce {
1241 343 0%, 100%, 80% {
1242 344 transform: scale(1);
1243 345 }
1244 346 40% {
@@ -1245,41 +347,39 @@
1245 347 transform: scale(1.5);
1246 348 }
1247 349 }
1248 350
1249 -/* ========================================
1250 - PRE-CHAT MESSAGE
1251 - ======================================== */
1252 -.pre-chat-message {
351 +
352 +
353 +#pre-chat-message {
1253 354 position: fixed;
1254 - bottom: 85px;
1255 - right: 30px;
355 + bottom: 85px;
356 + right: 30px;
1256 357 background-color: #fff;
1257 - color: #212121;
358 + color: #333;
1258 359 padding: 10px;
1259 - 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;
1260 361 border-radius: 5px;
1261 362 z-index: 1000;
1262 - cursor: pointer;
1263 - max-width: 325px;
363 + cursor: pointer;
364 + max-width: 70vw;
1264 365 font-size: 14px;
1265 - display: none;
366 + display: none;
367 + background: #fff;
1266 368 margin-bottom: 10px;
1267 369 }
1268 370
1269 -.pre-chat-message .close-pre-chat-message {
371 +#pre-chat-message .close-pre-chat-message {
1270 372 position: absolute;
1271 373 top: -6px;
1272 374 right: -6px;
1273 375 background-color: #ccc;
1274 376 border: none;
1275 - color: #212121;
377 + color: #333;
1276 378 font-size: 14px;
1277 379 cursor: pointer;
1278 380 border-radius: 50%;
1279 381 width: 20px;
1280 - min-width: 20px;
1281 - min-height: 20px;
1282 382 height: 20px;
1283 383 display: flex;
1284 384 align-items: center;
1285 385 justify-content: center;
@@ -1284,682 +384,44 @@
1284 384 align-items: center;
1285 385 justify-content: center;
1286 386 padding: 0;
1287 387 line-height: 1;
388 + display: flex; /* Show the close button on hover */
1288 389 }
1289 390
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 391
1303 - .floating-chatbot-button {
1304 - bottom: 20px;
1305 - }
1306 392
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 393 @media (max-width: 550px) {
1364 - .questions-toggle-btn,
1365 - .questions-collapse-btn {
1366 - width: 28px;
1367 - height: 28px;
394 +
395 + #pre-chat-message {
396 + bottom: 70px; /* Adjust this value as needed */
397 + right: 15px; /* Adjust this value as needed */
1368 398 }
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 {
399 +
400 + #chat-input {
1382 401 width: calc(100% - 70px);
1383 402 }
1384 -
1385 - .bot-message,
1386 - .user-message {
403 + .bot-message, .user-message {
1387 404 padding: 10px;
1388 405 max-width: 95%;
1389 406 }
1390 -
1391 - .floating-chatbot-button {
407 + #floating-chatbot-button {
1392 408 bottom: 15px;
1393 409 right: 10px;
1394 410 }
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);
411 + #floating-chatbot {
412 + width: 100vw;
413 + height: calc(var(--vh, 1vh) * 100);
1404 414 margin: 0;
1405 415 padding: 0;
1406 416 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);
417 + bottom: 0;
418 + top: 0;
419 + left: 0;
420 + right: 0;
421 + border-radius: 0;
1413 422 }
1414 -
1415 - .floating-chatbot .mxchat-chatbot-wrapper {
1416 - border-radius: 16px;
1417 - overflow: hidden;
423 + #mxchat-chatbot-wrapper .chatbot-top-bar {
424 + border-top-left-radius: 0;
425 + border-top-right-radius: 0;
1418 426 }
1419 -
1420 - .mxchat-chatbot-wrapper .chatbot-top-bar {
1421 - border-top-left-radius: 16px;
1422 - border-top-right-radius: 16px;
1423 - }
1424 427 }
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 - /* Filled "primary" pill: fill = the bot font color, label = the bubble bg.
1934 - syncRatingBubbleColors() in chat-script.js paints the real bot colors
1935 - straight onto this button (inline) from the bubble's COMPUTED style, so
1936 - it adapts to both the inline color pickers AND the mxchat-theme AI
1937 - customizer. These var()/literal values are the no-JS safety net — the
1938 - literal fallbacks (#212121 fill / #ffffff label) stay legible on their
1939 - own (no white-on-white). Longhand background-color (not the `background`
1940 - shorthand) because Chromium resolves inherited custom properties
1941 - unreliably inside the shorthand. Do NOT use currentColor here — setting
1942 - `color` would re-poison the background to the same value. */
1943 - background-color: var(--mxchat-bot-fg, #212121);
1944 - color: var(--mxchat-bot-bg, #ffffff);
1945 -}
1946 -
1947 -.mxchat-rating-submit:hover {
1948 - transform: translateY(-1px);
1949 - opacity: 0.9;
1950 -}
1951 -
1952 -.mxchat-rating-saved {
1953 - padding: 10px 14px;
1954 - margin: 10px 0;
1955 - font-size: 13px;
1956 - font-weight: 500;
1957 - text-align: center;
1958 - color: inherit;
1959 - animation: mxchat-rating-fade-in 0.22s ease;
1960 -}
1961 -
1962 -@keyframes mxchat-rating-fade-in {
1963 - from { opacity: 0; transform: translateY(4px); }
1964 - to { opacity: 1; transform: translateY(0); }
1965 -}