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