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