PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 1.5.7
MxChat – AI Chatbot & Content Generation for WordPress v1.5.7
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 +1017 -2134 3.2.141.5.7 View file →
@@ -1,2134 +1,1017 @@
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 +.chatbot-title-icon {
2 + width: 24px;
3 + height: 24px;
4 + object-fit: contain;
5 +}
6 +
7 +
8 +.wp-admin .mxchat-search-results,
9 +.wp-content .mxchat-search-results,
10 +.site-content .mxchat-search-results,
11 +.mxchat-search-results {
12 + display: flex;
13 + flex-direction: column;
14 + gap: 20px;
15 + margin: 15px 0;
16 + font-size: 14px !important;
17 +}
18 +
19 +.mxchat-search-intro {
20 + font-size: 16px !important;
21 + margin: 0 0 15px 0 !important;
22 + line-height: 1.4 !important;
23 + font-weight: normal !important;
24 +}
25 +
26 +.mxchat-search-item {
27 + padding: 15px !important;
28 + border-radius: 8px !important;
29 + background: #ffffff !important;
30 + border: 1px solid rgba(0, 0, 0, 0.1) !important;
31 +}
32 +
33 +.mxchat-search-header {
34 + display: flex !important;
35 + align-items: center !important;
36 + gap: 8px !important;
37 + margin-bottom: 8px !important;
38 +}
39 +
40 +.mxchat-site-icon {
41 + width: 16px !important;
42 + height: 16px !important;
43 + flex-shrink: 0 !important;
44 +}
45 +
46 +.mxchat-site-url {
47 + font-size: 13px !important;
48 + color: #555 !important;
49 + line-height: 1 !important;
50 +}
51 +
52 +.mxchat-search-content {
53 + display: flex !important;
54 + flex-direction: column !important;
55 + gap: 10px !important;
56 +}
57 +
58 +.mxchat-search-title {
59 + font-size: 16px !important;
60 + line-height: 1.4 !important;
61 + margin: 0 !important;
62 + padding: 0 !important;
63 + font-weight: 600 !important;
64 +}
65 +
66 +.mxchat-search-title a {
67 + text-decoration: none !important;
68 + color: #000 !important;
69 +}
70 +
71 +.mxchat-search-title a:hover {
72 + text-decoration: underline !important;
73 +}
74 +
75 +.mxchat-search-thumbnail {
76 + max-width: 200px !important;
77 + margin: 10px 0 !important;
78 +}
79 +
80 +.mxchat-search-thumbnail img {
81 + max-width: 100% !important;
82 + height: auto !important;
83 + border-radius: 4px !important;
84 +}
85 +
86 +.mxchat-search-description {
87 + font-size: 14px !important;
88 + line-height: 1.6 !important;
89 + color: #333 !important;
90 + margin: 0 !important;
91 + padding: 0 !important;
92 +}
93 +
94 +@media screen and (max-width: 782px) {
95 + .mxchat-search-results {
96 + gap: 15px !important;
97 + }
98 +
99 + .mxchat-search-intro {
100 + font-size: 15px !important;
101 + }
102 +
103 + .mxchat-search-title {
104 + font-size: 15px !important;
105 + }
106 +
107 + .mxchat-search-description {
108 + font-size: 13px !important;
109 + }
110 +}
111 +
112 +
113 +
114 +
115 +
116 +
117 +
118 +
119 +
120 +
121 +
122 +.active-pdf-container {
123 + display: inline-flex;
124 + align-items: center;
125 + max-width: 200px;
126 + margin: 0px;
127 + padding: 0px;
128 + line-height: 13px;
129 +}
130 +
131 +.active-pdf-name {
132 + font-size: 11px;
133 + color: #666;
134 + white-space: nowrap;
135 + overflow: hidden;
136 + text-overflow: ellipsis;
137 +}
138 +
139 +.remove-pdf-btn {
140 + background: 0 0;
141 + border: none;
142 + padding: 2px;
143 + margin-left: 4px;
144 + cursor: pointer;
145 + transition: opacity .2s;
146 + line-height: 13px;
147 +}
148 +
149 +.remove-pdf-btn:hover {
150 + opacity: 1;
151 + background: none;
152 +}
153 +
154 +
155 +
156 +
157 +#mxchat-chatbot .chat-toolbar {
158 + display: flex;
159 + gap: 10px;
160 + padding: 8px;
161 + border-top: 1px solid #e5e5e5;
162 + background: none;
163 +}
164 +
165 +#mxchat-chatbot .toolbar-btn {
166 + background: none;
167 + border: none;
168 + padding: 0px;
169 + cursor: pointer;
170 + width: 20px;
171 + height: 20px;
172 + display: flex;
173 + align-items: center;
174 + justify-content: center;
175 + opacity: 0.6;
176 + transition: opacity 0.2s;
177 + margin: 0;
178 + min-width: 0;
179 + box-shadow: none;
180 +}
181 +
182 +#mxchat-chatbot .toolbar-btn svg {
183 + width: 100%;
184 + height: 100%;
185 +}
186 +
187 +#mxchat-chatbot .toolbar-btn:hover {
188 + opacity: 1;
189 + background: none;
190 + border: none;
191 + box-shadow: none;
192 +}
193 +
194 +#mxchat-chatbot .toolbar-btn:disabled {
195 + opacity: 0.3;
196 + cursor: not-allowed;
197 + background: none;
198 + border: none;
199 +}
200 +
201 +#mxchat-chatbot .spinner {
202 + animation: rotate 2s linear infinite;
203 + width: 20px;
204 + height: 20px;
205 +}
206 +
207 +#mxchat-chatbot .spinner circle {
208 + stroke: #212121;
209 + stroke-linecap: round;
210 + animation: dash 1.5s ease-in-out infinite;
211 +}
212 +
213 +@keyframes rotate {
214 + 100% {
215 + transform: rotate(360deg);
216 + }
217 +}
218 +
219 +@keyframes dash {
220 + 0% {
221 + stroke-dasharray: 1, 150;
222 + stroke-dashoffset: 0;
223 + }
224 + 50% {
225 + stroke-dasharray: 90, 150;
226 + stroke-dashoffset: -35;
227 + }
228 + 100% {
229 + stroke-dasharray: 90, 150;
230 + stroke-dashoffset: -124;
231 + }
232 +}
233 +
234 +
235 +
236 +
237 +.mxchat-code-block-container {
238 + position: relative;
239 + margin: 20px 0;
240 + font-family: monospace;
241 +}
242 +
243 +.chatbot-title-container {
244 + display: flex;
245 + align-items: center;
246 + justify-content: space-between;
247 + width: 100%;
248 +}
249 +
250 +.chatbot-title-group {
251 + display: flex;
252 + align-items: center;
253 + gap: 8px;
254 +}
255 +
256 +
257 +.chat-mode-indicator {
258 + font-size: 12px;
259 + margin-right: 8px;
260 + padding: 4px 8px;
261 + border-radius: 12px;
262 + background: rgba(255, 255, 255, 0.2);
263 + color: #ffffff;
264 +}
265 +
266 +#mxchat-chatbot #chat-container #chat-box .agent-message {
267 + text-align: left;
268 + float: left;
269 + clear: both;
270 + border: 1px solid rgba(226, 232, 255, .2);
271 + border-radius: 0 18px 18px;
272 + background: #212121;
273 + color: #fff;
274 + overflow-x: hidden;
275 + margin-bottom: 15px;
276 + padding: 10px;
277 + display: inline-block;
278 + max-width: 85%;
279 + font-size: 14px;
280 + line-height: 24px;
281 + box-shadow: -2px 2px rgba(250, 115, 230, 0.6), -4px 4px rgba(120, 115, 245, 0.6);
282 +}
283 +
284 +.mxchat-code-block {
285 + background-color: #212121;
286 + color: #fff;
287 + padding: 15px;
288 + border-radius: 5px;
289 + white-space: pre-wrap; /* Maintain formatting */
290 + overflow: auto; /* Enable scrolling for long content */
291 + font-family: monospace;
292 +}
293 +
294 +.mxchat-code-block code {
295 + display: block;
296 + white-space: pre-wrap;
297 +}
298 +
299 +/* Copy button styling */
300 +.mxchat-copy-button {
301 + position: absolute;
302 + top: 10px;
303 + right: 10px;
304 + background-color: #0073aa;
305 + color: #ffffff;
306 + border: none;
307 + border-radius: 5px;
308 + padding: 5px 15px;
309 + font-size: 12px;
310 + font-weight: bold;
311 + cursor: pointer;
312 + transition: background-color 0.3s ease, transform 0.2s ease;
313 + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
314 + z-index: 10; /* Ensure the button is on top */
315 +}
316 +
317 +.mxchat-copy-button:hover {
318 + background-color: #005177;
319 + transform: translateY(-1px);
320 +}
321 +
322 +.mxchat-copy-button:active {
323 + transform: translateY(1px);
324 +}
325 +
326 +.mxchat-image-gallery {
327 + display: flex;
328 + flex-wrap: wrap;
329 + gap: 10px;
330 + justify-content: center;
331 +}
332 +
333 +.mxchat-image-item {
334 + text-align: center;
335 + overflow: hidden;
336 + word-wrap: break-word;
337 +}
338 +
339 +.mxchat-image-title {
340 + display: block;
341 + font-size: 14px;
342 + color: inherit;
343 + white-space: nowrap;
344 + overflow: hidden;
345 + text-overflow: ellipsis;
346 + max-width: 100%;
347 +}
348 +
349 +.mxchat-image-link {
350 + text-decoration: none;
351 +}
352 +
353 +.mxchat-image-thumbnail {
354 + max-width: 100%;
355 + height: auto;
356 + border-radius: 5px;
357 + transition: transform 0.3s;
358 +}
359 +
360 +.mxchat-image-thumbnail:hover {
361 + transform: scale(1.05);
362 +}
363 +.mxchat-generated-image {
364 + max-width: 100%;
365 + height: auto;
366 + border-radius: 0 0 8px 8px;
367 +}
368 +
369 +
370 +/* MxChat Product Card Styling */
371 +.mxchat-product-card {
372 + display: flex;
373 + flex-direction: column;
374 + align-items: center;
375 + margin: 10px 0;
376 + padding: 10px;
377 + border-radius: 5px;
378 + background-color: inherit;
379 +}
380 +
381 +.mxchat-product-card img.mxchat-product-image {
382 + max-width: 100%;
383 + height: auto;
384 + margin-bottom: 5px;
385 + border-radius: 4px;
386 +}
387 +
388 +.mxchat-product-card h3.mxchat-product-name {
389 + font-size: 16px;
390 + font-weight: bold;
391 + margin: 5px 0;
392 + text-align: center;
393 + color: inherit;
394 +}
395 +
396 +.mxchat-product-card .mxchat-product-price {
397 + color: inherit;
398 + font-weight: bold;
399 + margin-bottom: 5px;
400 +}
401 +
402 +.mxchat-product-card .mxchat-product-description {
403 + font-size: 14px;
404 + text-align: center;
405 + margin-bottom: 10px;
406 + color: inherit;
407 +}
408 +
409 +.mxchat-product-card .mxchat-add-to-cart-button {
410 + background-color: #212121;
411 + color: #fff;
412 + padding: 8px 12px;
413 + border: none;
414 + cursor: pointer;
415 + border-radius: 12px;
416 + transition: background-color 0.3s ease;
417 +}
418 +
419 +.mxchat-product-card .mxchat-add-to-cart-button:hover {
420 + background-color: #212121;
421 +}
422 +
423 +
424 +
425 +
426 +
427 +#mxchat-popular-questions {
428 + padding: 10px;
429 +}
430 +
431 +.mxchat-popular-questions-title {
432 + font-size: 14px;
433 + line-height: 24px;
434 + font-weight: bold;
435 + color: #212121;
436 + margin-bottom: 10px;
437 +}
438 +
439 +.mxchat-popular-questions-container {
440 + position: relative; /* Make it the parent for positioning */
441 + display: flex;
442 + flex-direction: column;
443 + max-height: 200px;
444 + overflow-y: auto;
445 + padding-right: 10px;
446 + padding-bottom: 10px;
447 + scrollbar-width: thin; /* For Firefox */
448 + scrollbar-color: #212121 #f1f1f1; /* Thumb and track colors */
449 +}
450 +
451 +
452 +/* Styling the scrollbar for WebKit browsers (Chrome, Safari, etc.) */
453 +.mxchat-popular-questions-container::-webkit-scrollbar {
454 + width: 8px;
455 +}
456 +
457 +.mxchat-popular-questions-container::-webkit-scrollbar-track {
458 + background: #f1f1f1;
459 + border-radius: 4px;
460 +}
461 +
462 +.mxchat-popular-questions-container::-webkit-scrollbar-thumb {
463 + background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
464 + border-radius: 4px;
465 +}
466 +
467 +.mxchat-popular-questions-container::-webkit-scrollbar-thumb:hover {
468 + background: linear-gradient(135deg, #d164ce, #6568d8, #2daeb8);
469 +}
470 +
471 +/* For Firefox */
472 +.mxchat-popular-questions-container {
473 + scrollbar-width: thin; /* Makes the scrollbar thinner */
474 + scrollbar-color: #212121 #f1f1f1; /* Thumb color and track color */
475 +}
476 +
477 +/* For Edge and other modern browsers */
478 +.mxchat-popular-questions-container {
479 + -ms-overflow-style: none; /* Removes the default scrollbars for Edge */
480 + scrollbar-gutter: stable; /* Prevent layout shifting */
481 +}
482 +
483 +/* For a more uniform cross-browser look */
484 +.mxchat-popular-questions-container {
485 + overflow: auto;
486 + overscroll-behavior: contain;
487 +}
488 +
489 +.mxchat-popular-question {
490 + padding: 12px 20px;
491 + background-color: #f5f5f5; /* Darker background for better contrast */
492 + border: 1px solid #bbb; /* Darker border for better visibility */
493 + border-radius: 8px;
494 + color: #212121;
495 + font-size: 14px;
496 + line-height: 24px;
497 + cursor: pointer;
498 + text-align: left;
499 + transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
500 + margin-bottom: 10px;
501 +}
502 +
503 +.mxchat-popular-question:hover {
504 + background-color: #eaeaea; /* Slightly darker on hover */
505 + border-color: #999; /* Darker border on hover */
506 + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); /* Slightly darker shadow on hover */
507 + color: #212121;
508 +}
509 +
510 +.mxchat-popular-question:focus {
511 + outline: none;
512 + background-color: #e0e0e0; /* Darker background on focus */
513 + border-color: #777; /* More prominent focus border */
514 + box-shadow: 0 0 0 3px rgba(100, 149, 237, 0.5); /* Subtle focus ring */
515 + color: #212121;
516 +}
517 +
518 +.mxchat-popular-question:active {
519 + background-color: #d8d8d8; /* Darker pressed background */
520 + border-color: #666; /* Darker border when pressed */
521 + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); /* Slightly darker pressed effect */
522 + color: #212121;
523 +}
524 +
525 +
526 +#widget_icon, #widget_icon_2, #widget_icon_3, #widget_icon_5, #widget_icon_4, #widget_icon_6, #widget_icon_7 {
527 + padding: 10px;
528 +}
529 +
530 +#widget_icon_10 {
531 + fill: #fff;
532 +}
533 +
534 +.invisible {
535 + display: none;
536 + opacity: 0;
537 + pointer-events: none;
538 +}
539 +
540 +#mxchat-chatbot {
541 + background: #fff;
542 +}
543 +
544 +#mxchat-chatbot-wrapper .chatbot-footer .privacy-notice {
545 + font-size: 12px;
546 + margin: 0;
547 + color: #71717a;
548 +}
549 +
550 +#mxchat-chatbot-wrapper .chatbot-footer .privacy-notice a {
551 + color: #0073aa; /* You can specify the color for the link */
552 + text-decoration: underline;
553 + font-size: 12px;
554 +}
555 +
556 +#mxchat-chatbot #chat-container #input-container #send-button, .copy-btn {
557 + transition: background-color .3s;
558 + color: #fff;
559 + font-size: 1rem;
560 + cursor: pointer;
561 + font-weight: 700;
562 + margin-bottom: 10px;
563 +}
564 +
565 +#mxchat-chatbot {
566 + max-width: 800px;
567 + overflow: hidden;
568 + position: relative;
569 + display: flex;
570 + flex-direction: column;
571 + height: 500px;
572 + box-sizing: border-box;
573 + flex-grow: 1;
574 +}
575 +
576 +#chat-container {
577 + display: flex;
578 + flex-direction: column;
579 + height: 100%;
580 +}
581 +
582 +#chat-box {
583 + flex-grow: 1;
584 + overflow-y: auto;
585 + padding: 10px;
586 + margin-bottom: 0;
587 + font-size: 1rem;
588 +}
589 +
590 +#chat-box::-webkit-scrollbar {
591 + width: 5px;
592 +}
593 +
594 +#chat-box::-webkit-scrollbar-thumb {
595 + background-color: #212121;
596 + border-radius: 20px;
597 +}
598 +
599 +.bot-message, .user-message {
600 + margin-bottom: 15px;
601 + padding: 10px;
602 + display: inline-block;
603 + max-width: 85%;
604 + box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
605 + font-size: 14px;
606 + line-height: 24px;
607 +}
608 +
609 +.user-message {
610 + background: #fff;
611 + color: #212121;
612 + text-align: left;
613 + float: right;
614 + clear: both;
615 + border-radius: 18px 0 18px 18px;
616 + border: solid 1px #212121;
617 + word-wrap: break-word;
618 +}
619 +
620 +#mxchat-chatbot #chat-container #chat-box .bot-message {
621 + text-align: left;
622 + float: left;
623 + clear: both;
624 + border: 1px solid rgba(226, 232, 255, .2);
625 + border-radius: 0 18px 18px;
626 + background: #212121;
627 + color: #fff;
628 + overflow-x: hidden;
629 +}
630 +
631 +#mxchat-chatbot-wrapper {
632 + box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
633 + border-radius: 10px;
634 + display: flex;
635 + flex-direction: column;
636 + height: 100%;
637 + width: 100%;
638 +}
639 +
640 +#mxchat-chatbot #chat-container #input-container {
641 + position: relative;
642 + display: flex;
643 + align-items: center;
644 + padding-right: 40px;
645 + border: 1px solid #ccc;
646 + border-radius: 10px;
647 + margin: 10px;
648 +}
649 +
650 +#mxchat-chatbot #chat-container #input-container #chat-input {
651 + flex-grow: 1;
652 + color: #212121;
653 + line-height: 24px;
654 + background: 0 0;
655 + margin-bottom: 0px;
656 + width: 100%;
657 + min-height: 20px;
658 + max-height: 65px;
659 + resize: none;
660 + overflow-y: auto;
661 + font-size: 16px;
662 + border: none;
663 + border-radius: 5px;
664 + box-sizing: border-box;
665 + padding: 0.4em 0.5em;
666 + outline: none;
667 +}
668 +
669 +/* Styling the scrollbar for WebKit browsers (Chrome, Safari, etc.) */
670 +#chat-input::-webkit-scrollbar {
671 + width: 8px; /* Set the scrollbar width */
672 +}
673 +
674 +#chat-input::-webkit-scrollbar-track {
675 + background: #f1f1f1; /* Scrollbar track background */
676 + border-radius: 4px; /* Round the corners */
677 +}
678 +
679 +#chat-input::-webkit-scrollbar-thumb {
680 + background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1); /* Gradient scrollbar thumb */
681 + border-radius: 4px; /* Round the corners */
682 +}
683 +
684 +#chat-input::-webkit-scrollbar-thumb:hover {
685 + background: linear-gradient(135deg, #d164ce, #6568d8, #2daeb8); /* Hover effect */
686 +}
687 +
688 +/* Optional: Ensure consistent styling for other modern browsers using scrollbars */
689 +#chat-input {
690 + scrollbar-width: thin; /* For Firefox: sets scrollbar width to thin */
691 + scrollbar-color: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1) #f1f1f1; /* For Firefox: color for thumb and track */
692 +}
693 +
694 +
695 +#mxchat-chatbot #chat-container #input-container #send-button {
696 + position:absolute;
697 + right: 10px;
698 + top: 50%;
699 + transform: translateY(-50%);
700 + border: none;
701 + border-radius: 50%;
702 + width: 30px;
703 + height: 30px;
704 + display: flex;
705 + align-items: center;
706 + justify-content: center;
707 + background: 0 0!important;
708 + padding: 5px;
709 + margin: 0px 0px 0px 0px;
710 +}
711 +
712 +#mxchat-chatbot #chat-container #input-container #send-button .fa-paper-plane {
713 + font-size: 1.3rem;
714 +}
715 +
716 +#mxchat-chatbot #chat-container #input-container #send-button svg {
717 + width: 25px;
718 + height: 25px;
719 + pointer-events: none; /* Add this to prevent touch event issues */
720 +}
721 +
722 +#send-button:hover, .copy-btn:hover {
723 + opacity: .8;
724 +}
725 +
726 +#mxchat-chatbot:after {
727 + content: "";
728 + display: table;
729 + clear: both;
730 +}
731 +
732 +pre {
733 + background-color: #000;
734 + border: 1px solid #ddd;
735 + border-radius: 20px;
736 + border-left: 3px solid #9e7aff;
737 + color: #fff;
738 + page-break-inside: avoid;
739 + font-family: monospace;
740 + font-size: 15px;
741 + line-height: 1.6;
742 + margin-bottom: 1.6em;
743 + max-width: 100%;
744 + overflow: auto;
745 + padding: 1em 1.5em;
746 + display: block;
747 + word-wrap: break-word;
748 +}
749 +
750 +.copy-btn {
751 + padding: 10px 20px;
752 + border: none;
753 + border-radius: 4px;
754 + background-color: #9e7aff;
755 +}
756 +
757 +#floating-chatbot {
758 + position: fixed;
759 + bottom: 25px;
760 + right: 25px;
761 + width: 375px;
762 + height: 625px;
763 + box-shadow: 0 0 10px rgba(0, 0, 0, .25);
764 + border-radius: 20px;
765 + overflow: hidden;
766 + display: flex;
767 + z-index: 100000;
768 + transition: transform .3s ease-in-out, opacity .3s ease-in-out;
769 + transform: translateY(20%);
770 + opacity: 0;
771 + pointer-events: none;
772 +}
773 +
774 +#floating-chatbot.visible {
775 + transform: translateY(0);
776 + opacity: 1;
777 + pointer-events: auto;
778 +}
779 +
780 +#floating-chatbot-button.hidden, .exit-chat span {
781 + display: none!important;
782 +}
783 +
784 +.visible {
785 + display: flex;
786 +}
787 +
788 +#floating-chatbot-button {
789 + transition: opacity 1s ease-in-out;
790 + font-size: 1.25rem;
791 + position: fixed;
792 + bottom: 30px;
793 + right: 25px;
794 + background-color: #212121;
795 + color: #fff;
796 + width: 60px;
797 + height: 60px;
798 + border-radius: 50%;
799 + box-shadow: 0 4px 8px rgba(0, 0, 0, .2)!important;
800 + justify-content: center;
801 + align-items: center;
802 + cursor: pointer;
803 + transition: .3s;
804 + z-index: 100000;
805 + display: flex;
806 +}
807 +
808 +#floating-chatbot-button img {
809 + max-width: 100%;
810 + max-height: 100%;
811 + width: auto;
812 + height: auto;
813 +}
814 +
815 +#mxchat-chatbot-wrapper.active+#floating-chatbot-button {
816 + bottom: 530px;
817 + width: 100%;
818 +}
819 +
820 +.chatbot-close-button {
821 + position: absolute;
822 + top: 5px;
823 + right: 5px;
824 + border: none;
825 + background: 0 0;
826 + cursor: pointer;
827 + font-size: 20px;
828 + color: #f0f0f1;
829 +}
830 +
831 +.chatbot-top-bar {
832 + background: #212121;
833 +}
834 +
835 +#mxchat-chatbot-wrapper .chatbot-top-bar {
836 + cursor: pointer;
837 + color: #fff;
838 + padding: 10px;
839 + border-top-left-radius: 10px;
840 + border-top-right-radius: 10px;
841 + display: flex;
842 + justify-content: space-between;
843 + align-items: start;
844 +}
845 +
846 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
847 + font-size: 16px;
848 + line-height: 25px;
849 + padding: 10px;
850 + margin: 0;
851 + font-family: 'Plus Jakarta Sans', sans-serif;
852 + font-weight: bold;
853 +}
854 +
855 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title span {
856 + font-weight: 700;
857 +}
858 +
859 +#mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
860 + background: 0 0;
861 + border: none;
862 + opacity: .8;
863 +}
864 +
865 +.exit-chat {
866 + border: none;
867 + background: 0 0;
868 + cursor: pointer;
869 + display: flex;
870 + align-items: center;
871 + justify-content: center;
872 + padding: 5px;
873 + margin-left: auto;
874 +}
875 +
876 +.exit-chat svg {
877 + fill: white;
878 + width: 24px;
879 + height: 24px;
880 + transform: rotate(270deg);
881 +}
882 +
883 +#mxchat-chatbot-wrapper .chatbot-footer {
884 + text-align: center;
885 + padding-bottom: 10px;
886 + font-size: .85em;
887 +}
888 +
889 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by {
890 + text-decoration: none;
891 + color: inherit;
892 + font-weight: 700;
893 +}
894 +
895 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
896 + text-decoration: underline;
897 +}
898 +
899 +.thinking-dots-container {
900 + display: flex;
901 + justify-content: center;
902 + align-items: center;
903 + overflow: hidden;
904 + height: 20px; /* Adjust as needed */
905 +}
906 +
907 +.thinking-dots {
908 + display: flex;
909 + justify-content: center;
910 + align-items: center;
911 + height: 90%;
912 +}
913 +
914 +.dot {
915 + height: 8px;
916 + width: 8px;
917 + margin: 0 3px;
918 + background-color: #fff;
919 + border-radius: 50%;
920 + display: inline-block;
921 + animation: bounce 1.4s ease-in-out infinite both;
922 +}
923 +
924 +.dot:first-child {
925 + animation-delay: -.32s;
926 +}
927 +
928 +.dot:nth-child(2) {
929 + animation-delay: -.16s;
930 +}
931 +
932 +@keyframes bounce {
933 + 0%, 100%, 80% {
934 + transform: scale(1);
935 + }
936 + 40% {
937 + transform: scale(1.5);
938 + }
939 +}
940 +
941 +
942 +
943 +#pre-chat-message {
944 + position: fixed;
945 + bottom: 85px;
946 + right: 30px;
947 + background-color: #fff;
948 + color: #212121;
949 + padding: 10px;
950 + box-shadow: 0px 0px 10px rgba(150, 150, 150, 0.3);
951 + border-radius: 5px;
952 + z-index: 1000;
953 + cursor: pointer;
954 + max-width: 325px;
955 + font-size: 14px;
956 + display: none;
957 + background: #fff;
958 + margin-bottom: 10px;
959 +}
960 +
961 +#pre-chat-message .close-pre-chat-message {
962 + position: absolute;
963 + top: -6px;
964 + right: -6px;
965 + background-color: #ccc;
966 + border: none;
967 + color: #212121;
968 + font-size: 14px;
969 + cursor: pointer;
970 + border-radius: 50%;
971 + width: 20px;
972 + height: 20px;
973 + display: flex;
974 + align-items: center;
975 + justify-content: center;
976 + padding: 0;
977 + line-height: 1;
978 + display: flex; /* Show the close button on hover */
979 +}
980 +
981 +
982 +
983 +@media (max-width: 550px) {
984 +
985 + #pre-chat-message {
986 + bottom: 70px; /* Adjust this value as needed */
987 + right: 15px; /* Adjust this value as needed */
988 + }
989 +
990 + #chat-input {
991 + width: calc(100% - 70px);
992 + }
993 + .bot-message, .user-message {
994 + padding: 10px;
995 + max-width: 95%;
996 + }
997 + #floating-chatbot-button {
998 + bottom: 15px;
999 + right: 10px;
1000 + }
1001 + #floating-chatbot {
1002 + width: 100vw;
1003 + height: calc(var(--vh, 1vh) * 100);
1004 + margin: 0;
1005 + padding: 0;
1006 + position: fixed;
1007 + bottom: 0;
1008 + top: 0;
1009 + left: 0;
1010 + right: 0;
1011 + border-radius: 0;
1012 + }
1013 + #mxchat-chatbot-wrapper .chatbot-top-bar {
1014 + border-top-left-radius: 0;
1015 + border-top-right-radius: 0;
1016 + }
1017 +}