PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.1.5
MxChat – AI Chatbot & Content Generation for WordPress v3.1.5
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
mxchat-basic / css / chat-style.css

chat-style.css in MxChat – AI Chatbot & Content Generation for WordPress 3.1.5, at css/chat-style.css

1,571 lines 34.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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 width: 25px;
613 height: 25px;
614 }
615
616 .questions-toggle-btn:hover svg,
617 .questions-collapse-btn:hover svg {
618 opacity: 0.7;
619 }
620
621 .mxchat-popular-questions.collapsed .questions-toggle-btn {
622 display: flex;
623 }
624
625 .mxchat-popular-questions.has-been-collapsed .questions-collapse-btn {
626 display: flex;
627 align-self: center;
628 order: -1;
629 }
630
631 .mxchat-popular-question {
632 padding: 12px 20px;
633 background-color: #f5f5f5;
634 border: 1px solid #bbb;
635 border-radius: 8px;
636 color: #212121;
637 font-size: 14px;
638 line-height: 24px;
639 cursor: pointer;
640 text-align: initial;
641 transition: all 0.3s ease;
642 margin-bottom: 0;
643 box-shadow: none;
644 }
645
646 .mxchat-popular-question:hover {
647 background-color: #eaeaea;
648 border-color: #999;
649 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
650 transform: translateY(-1px);
651 }
652
653 .mxchat-popular-question:focus {
654 outline: none;
655 background-color: #e0e0e0;
656 border-color: #777;
657 box-shadow: 0 0 0 3px rgba(100, 149, 237, 0.5);
658 }
659
660 .mxchat-popular-question:active {
661 background-color: #d8d8d8;
662 border-color: #666;
663 box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
664 transform: translateY(0);
665 }
666
667 .mxchat-popular-questions-container::-webkit-scrollbar {
668 width: 8px;
669 }
670
671 .mxchat-popular-questions-container::-webkit-scrollbar-track {
672 background: #f1f1f1;
673 border-radius: 4px;
674 }
675
676 .mxchat-popular-questions-container::-webkit-scrollbar-thumb {
677 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
678 border-radius: 4px;
679 }
680
681 .mxchat-popular-questions-container::-webkit-scrollbar-thumb:hover {
682 background: linear-gradient(135deg, #d164ce, #6568d8, #2daeb8);
683 }
684
685 /* ========================================
686 CORE CHATBOT UI
687 ======================================== */
688 .invisible {
689 display: none;
690 opacity: 0;
691 pointer-events: none;
692 }
693
694 .mxchat-chatbot{
695 background: #fff;
696 overflow: hidden;
697 position: relative;
698 display: flex;
699 flex-direction: column;
700 flex-grow: 1;
701 min-height: 0; /* Allow flex shrinking */
702 box-sizing: border-box;
703 }
704
705 .chat-container {
706 display: flex;
707 flex-direction: column;
708 flex-grow: 1;
709 min-height: 0; /* Critical for flex overflow scrolling */
710 height: 100%;
711 }
712
713 .chat-box {
714 flex-grow: 1;
715 overflow-y: auto;
716 padding: 10px;
717 margin-bottom: 0;
718 font-size: 1rem;
719 min-height: 0; /* Critical for flex overflow scrolling */
720 }
721
722 .chat-box::-webkit-scrollbar {
723 width: 5px;
724 }
725
726 .chat-box::-webkit-scrollbar-thumb {
727 background-color: #212121;
728 border-radius: 20px;
729 }
730
731 .bot-message,
732 .user-message {
733 margin-bottom: 15px;
734 padding: 10px;
735 display: inline-block;
736 max-width: 85%;
737 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
738 font-size: 14px;
739 line-height: 24px;
740 }
741
742 .user-message {
743 background: #fff;
744 color: #212121;
745 text-align: left;
746 float: right;
747 clear: both;
748 border-radius: 18px 0 18px 18px;
749 word-wrap: break-word;
750 border: 1px solid rgba(226, 232, 255, 0.2);
751 }
752
753 .user-message p {
754 margin: 0;
755 }
756
757 .mxchat-chatbot .chat-container .chat-box .bot-message {
758 float: left;
759 clear: both;
760 border: 1px solid rgba(226, 232, 255, 0.2);
761 border-radius: 0 18px 18px;
762 background: #212121;
763 color: #fff;
764 overflow-x: hidden;
765 }
766
767 .mxchat-chatbot .chat-container .chat-box .agent-message {
768 text-align: left;
769 float: left;
770 clear: both;
771 border: 1px solid rgba(226, 232, 255, 0.2);
772 border-radius: 0 18px 18px;
773 background: #212121;
774 color: #fff;
775 overflow-x: hidden;
776 margin-bottom: 15px;
777 padding: 10px;
778 display: inline-block;
779 max-width: 85%;
780 font-size: 14px;
781 line-height: 24px;
782 box-shadow: -2px 2px rgba(250, 115, 230, 0.6), -4px 4px rgba(120, 115, 245, 0.6);
783 }
784
785 .bot-message p {
786 margin: 0 0 1em 0;
787 }
788
789 .bot-message p:last-child {
790 margin-bottom: 0;
791 }
792
793 .bot-message {
794 white-space: pre-line;
795 }
796
797 .bot-message a {
798 color: #ffffff;
799 text-decoration: underline !important;
800 }
801
802 .bot-message a:hover {
803 color: #e0e0e0;
804 text-decoration: underline;
805 }
806
807 .bot-message a:visited {
808 color: #ffffff;
809 }
810
811 .system-message {
812 padding: 8px 12px;
813 margin: 8px 0;
814 background-color: rgba(120, 115, 245, 0.1);
815 border-radius: 8px;
816 color: #555;
817 font-style: italic;
818 font-size: 14px;
819 text-align: center;
820 }
821
822 .mxchat-chatbot-wrapper {
823 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
824 border-radius: 10px;
825 display: flex;
826 flex-direction: column;
827 height: 100%;
828 width: 100%;
829 min-height: 0; /* Allow flex shrinking */
830 overflow: hidden;
831 }
832
833 /* ========================================
834 INPUT & CONTROLS
835 ======================================== */
836 .mxchat-chatbot .chat-container .input-container {
837 position: relative;
838 display: flex;
839 align-items: center;
840 padding-right: 40px;
841 border: 1px solid #ccc;
842 border-radius: 10px;
843 margin: 0 10px 10px;
844 }
845
846 .mxchat-chatbot .chat-container .input-container .chat-input {
847 flex-grow: 1;
848 color: #212121;
849 line-height: 24px;
850 background: transparent;
851 margin-bottom: 0;
852 width: 100%;
853 min-height: 20px;
854 max-height: 65px;
855 resize: none;
856 overflow-y: auto;
857 font-size: 16px;
858 border: none;
859 border-radius: 5px;
860 box-sizing: border-box;
861 padding: 0.4em 0.5em;
862 outline: none;
863 border-radius: 10px;
864 }
865
866 .chat-input::-webkit-scrollbar {
867 width: 8px;
868 }
869
870 .chat-input::-webkit-scrollbar-track {
871 background: #f1f1f1;
872 border-radius: 4px;
873 }
874
875 .chat-input::-webkit-scrollbar-thumb {
876 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
877 border-radius: 4px;
878 }
879
880 .chat-input::-webkit-scrollbar-thumb:hover {
881 background: linear-gradient(135deg, #d164ce, #6568d8, #2daeb8);
882 }
883
884 .chat-input {
885 scrollbar-width: thin;
886 scrollbar-color: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1) #f1f1f1;
887 }
888
889 .mxchat-chatbot .chat-container .input-container .send-button {
890 position: absolute;
891 right: 10px;
892 top: 50%;
893 transform: translateY(-50%);
894 border: none;
895 border-radius: 50%;
896 width: 30px;
897 height: 30px;
898 display: flex;
899 align-items: center;
900 justify-content: center;
901 background: transparent !important;
902 padding: 5px;
903 margin: 0;
904 transition: background-color 0.3s;
905 color: #fff;
906 font-size: 1rem;
907 cursor: pointer;
908 font-weight: 700;
909 }
910
911 .send-button svg {
912 width: 25px;
913 height: 25px;
914 pointer-events: none;
915 }
916
917 .send-button:hover {
918 opacity: 0.8;
919 }
920
921 .mxchat-chatbot .spinner {
922 animation: rotate 2s linear infinite;
923 width: 20px;
924 height: 20px;
925 }
926
927 .mxchat-chatbot .spinner circle {
928 stroke: #212121;
929 stroke-linecap: round;
930 animation: dash 1.5s ease-in-out infinite;
931 }
932
933 @keyframes rotate {
934 100% {
935 transform: rotate(360deg);
936 }
937 }
938
939 @keyframes dash {
940 0% {
941 stroke-dasharray: 1, 150;
942 stroke-dashoffset: 0;
943 }
944 50% {
945 stroke-dasharray: 90, 150;
946 stroke-dashoffset: -35;
947 }
948 100% {
949 stroke-dasharray: 90, 150;
950 stroke-dashoffset: -124;
951 }
952 }
953
954 /* ========================================
955 FLOATING CHATBOT & CONTROLS
956 ======================================== */
957 .chatbot-title-container {
958 display: flex;
959 align-items: center;
960 justify-content: space-between;
961 width: 100%;
962 }
963
964 .chatbot-title-group {
965 display: flex;
966 align-items: center;
967 gap: 8px;
968 }
969
970 .chat-mode-indicator {
971 font-size: 12px;
972 margin-right: 8px;
973 padding: 4px 8px;
974 border-radius: 12px;
975 background: rgba(255, 255, 255, 0.2);
976 color: #ffffff;
977 }
978
979 .floating-chatbot {
980 position: fixed;
981 bottom: 25px;
982 right: 25px;
983 width: 375px;
984 /* Use viewport-aware height with fallbacks */
985 height: min(625px, calc(100vh - 50px)); /* 50px = 25px top + 25px bottom margin */
986 height: min(625px, calc(100dvh - 50px)); /* Dynamic viewport height for mobile browsers */
987 max-height: calc(100vh - 50px);
988 max-height: calc(100dvh - 50px); /* Fallback for browsers supporting dvh */
989 box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
990 border-radius: 20px;
991 overflow: hidden;
992 display: flex;
993 flex-direction: column;
994 z-index: 100000;
995 transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
996 transform: translateY(20%);
997 opacity: 0;
998 pointer-events: none;
999 }
1000
1001 .floating-chatbot.visible {
1002 transform: translateY(0);
1003 opacity: 1;
1004 pointer-events: auto;
1005 }
1006
1007 /* ========================================
1008 EMBEDDED CHATBOT (Shortcode)
1009 ======================================== */
1010 /* Embedded chatbots are NOT inside .floating-chatbot wrapper */
1011 /* Apply fixed height like floating widget so quick questions overlay properly */
1012 .mxchat-chatbot-wrapper:not(.floating-chatbot .mxchat-chatbot-wrapper) {
1013 height: 500px;
1014 max-height: 500px;
1015 }
1016
1017 /* Hide the minimize/exit button for embedded chatbots - it doesn't make sense */
1018 .mxchat-chatbot-wrapper:not(.floating-chatbot .mxchat-chatbot-wrapper) .exit-chat {
1019 display: none !important;
1020 }
1021
1022 .floating-chatbot-button.hidden,
1023 .exit-chat span {
1024 display: none !important;
1025 }
1026
1027 .chatbot-top-bar button.exit-chat:hover {
1028 background: none;
1029 }
1030 .visible {
1031 display: flex;
1032 }
1033
1034 .floating-chatbot-button {
1035 transition: opacity 1s ease-in-out;
1036 font-size: 1.25rem;
1037 position: fixed;
1038 bottom: 30px;
1039 right: 25px;
1040 background-color: #212121;
1041 color: #fff;
1042 width: 60px;
1043 height: 60px;
1044 border-radius: 50%;
1045 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
1046 justify-content: center;
1047 align-items: center;
1048 cursor: pointer;
1049 transition: 0.3s;
1050 z-index: 100000;
1051 display: flex;
1052 }
1053
1054 .floating-chatbot-button img {
1055 max-width: 100%;
1056 max-height: 100%;
1057 width: auto;
1058 height: auto;
1059 }
1060
1061 .chatbot-top-bar {
1062 background: #212121;
1063 }
1064
1065 .mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1066 background: transparent;
1067 border: none;
1068 opacity: 0.8;
1069 padding: 0;
1070 min-width: 20px;
1071 }
1072
1073 .mxchat-chatbot-wrapper .chatbot-top-bar {
1074 cursor: pointer;
1075 color: #fff;
1076 padding: 10px;
1077 border-top-left-radius: 10px;
1078 border-top-right-radius: 10px;
1079 display: flex;
1080 justify-content: space-between;
1081 align-items: start;
1082 }
1083
1084 .mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1085 font-size: 16px;
1086 line-height: 25px;
1087 padding: 10px;
1088 margin: 0;
1089 font-family: 'Plus Jakarta Sans', sans-serif;
1090 font-weight: bold;
1091 }
1092
1093 .exit-chat {
1094 border: none;
1095 background: transparent;
1096 cursor: pointer;
1097 display: flex;
1098 align-items: center;
1099 justify-content: center;
1100 padding: 5px;
1101 margin-left: auto;
1102 opacity: 0.8;
1103 min-width: 20px;
1104 }
1105
1106 .exit-chat svg {
1107 fill: white;
1108 width: 24px;
1109 height: 24px;
1110 transform: rotate(270deg);
1111 }
1112
1113 .mxchat-chatbot-wrapper .chatbot-footer {
1114 text-align: center;
1115 padding-bottom: 10px;
1116 font-size: 0.85em;
1117 }
1118
1119 .mxchat-chatbot-wrapper .chatbot-footer .privacy-notice {
1120 font-size: 12px;
1121 margin: 0;
1122 color: #71717a;
1123 }
1124
1125 .mxchat-chatbot-wrapper .chatbot-footer .privacy-notice a {
1126 color: #0073aa;
1127 text-decoration: underline;
1128 font-size: 12px;
1129 }
1130
1131 .mxchat-chatbot-wrapper .chatbot-footer .powered-by {
1132 text-decoration: none;
1133 color: inherit;
1134 font-weight: 700;
1135 }
1136
1137 .mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
1138 text-decoration: underline;
1139 }
1140
1141 /* ========================================
1142 THINKING DOTS ANIMATION
1143 ======================================== */
1144 .chat-box .bot-message.temporary-message .thinking-dots-container {
1145 display: flex;
1146 justify-content: center;
1147 align-items: center;
1148 overflow: hidden;
1149 height: 20px;
1150 position: relative;
1151 z-index: 1;
1152 flex-shrink: 0;
1153 }
1154
1155 .chat-box .bot-message.temporary-message .thinking-dots {
1156 display: flex;
1157 justify-content: center;
1158 align-items: center;
1159 height: 90%;
1160 gap: 5px;
1161 flex-shrink: 0;
1162 }
1163
1164 .chat-box .bot-message.temporary-message .thinking-dots .dot {
1165 height: 6px;
1166 width: 6px;
1167 margin: 0 3px;
1168 background-color: #fff;
1169 border-radius: 50%;
1170 display: inline-block;
1171 animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1172 vertical-align: middle;
1173 }
1174
1175 .chat-box .bot-message.temporary-message .thinking-dots .dot:first-child {
1176 animation-delay: -0.32s;
1177 }
1178
1179 .chat-box .bot-message.temporary-message .thinking-dots .dot:nth-child(2) {
1180 animation-delay: -0.16s;
1181 }
1182
1183 @keyframes mxchat-dot-bounce {
1184 0%, 100%, 80% {
1185 transform: scale(1);
1186 }
1187 40% {
1188 transform: scale(1.5);
1189 }
1190 }
1191
1192 /* ========================================
1193 PRE-CHAT MESSAGE
1194 ======================================== */
1195 .pre-chat-message {
1196 position: fixed;
1197 bottom: 85px;
1198 right: 30px;
1199 background-color: #fff;
1200 color: #212121;
1201 padding: 10px;
1202 box-shadow: 0px 0px 10px rgba(150, 150, 150, 0.3);
1203 border-radius: 5px;
1204 z-index: 1000;
1205 cursor: pointer;
1206 max-width: 325px;
1207 font-size: 14px;
1208 display: none;
1209 margin-bottom: 10px;
1210 }
1211
1212 .pre-chat-message .close-pre-chat-message {
1213 position: absolute;
1214 top: -6px;
1215 right: -6px;
1216 background-color: #ccc;
1217 border: none;
1218 color: #212121;
1219 font-size: 14px;
1220 cursor: pointer;
1221 border-radius: 50%;
1222 width: 20px;
1223 min-width: 20px;
1224 min-height: 20px;
1225 height: 20px;
1226 display: flex;
1227 align-items: center;
1228 justify-content: center;
1229 padding: 0;
1230 line-height: 1;
1231 }
1232
1233 /* ========================================
1234 VIEWPORT HEIGHT CONSTRAINTS
1235 Handles bookmarks bar, browser zoom, and smaller screens
1236 ======================================== */
1237 @media screen and (max-height: 700px) {
1238 .floating-chatbot {
1239 bottom: 15px;
1240 height: calc(100vh - 30px);
1241 height: calc(100dvh - 30px);
1242 max-height: calc(100vh - 30px);
1243 max-height: calc(100dvh - 30px);
1244 }
1245
1246 .floating-chatbot-button {
1247 bottom: 20px;
1248 }
1249
1250 .pre-chat-message {
1251 bottom: 75px;
1252 }
1253 }
1254
1255 @media screen and (max-height: 550px) {
1256 .floating-chatbot {
1257 bottom: 10px;
1258 height: calc(100vh - 20px);
1259 height: calc(100dvh - 20px);
1260 max-height: calc(100vh - 20px);
1261 max-height: calc(100dvh - 20px);
1262 }
1263
1264 /* Reduce padding in tight spaces */
1265 .mxchat-popular-questions {
1266 padding: 0 8px 5px;
1267 margin-bottom: 8px;
1268 }
1269
1270 .mxchat-popular-question {
1271 padding: 8px 12px;
1272 font-size: 13px;
1273 line-height: 20px;
1274 }
1275
1276 .mxchat-chatbot .chat-container .input-container {
1277 margin: 0 8px 8px;
1278 }
1279
1280 .mxchat-chatbot-wrapper .chatbot-footer {
1281 padding-bottom: 5px;
1282 }
1283 }
1284
1285 /* ========================================
1286 MOBILE RESPONSIVE
1287 ======================================== */
1288 @media screen and (max-width: 782px) {
1289 .mxchat-search-results {
1290 gap: 15px !important;
1291 }
1292
1293 .mxchat-search-intro {
1294 font-size: 15px !important;
1295 }
1296
1297 .mxchat-search-title {
1298 font-size: 15px !important;
1299 }
1300
1301 .mxchat-search-description {
1302 font-size: 13px !important;
1303 }
1304 }
1305
1306 @media (max-width: 550px) {
1307 .questions-toggle-btn,
1308 .questions-collapse-btn {
1309 width: 28px;
1310 height: 28px;
1311 }
1312
1313 .questions-toggle-btn svg,
1314 .questions-collapse-btn svg {
1315 width: 22px;
1316 height: 22px;
1317 }
1318
1319 .pre-chat-message {
1320 bottom: 70px;
1321 right: 15px;
1322 }
1323
1324 .chat-input {
1325 width: calc(100% - 70px);
1326 }
1327
1328 .bot-message,
1329 .user-message {
1330 padding: 10px;
1331 max-width: 95%;
1332 }
1333
1334 .floating-chatbot-button {
1335 bottom: 15px;
1336 right: 10px;
1337 }
1338
1339 .floating-chatbot {
1340 width: calc(100vw - 16px);
1341 /* Use multiple fallbacks for maximum browser compatibility */
1342 height: calc(100vh - 16px); /* Fallback */
1343 height: calc(var(--vh, 1vh) * 100 - 16px); /* JS-set custom property fallback */
1344 height: calc(100dvh - 16px); /* Modern dynamic viewport height */
1345 max-height: calc(100vh - 16px);
1346 max-height: calc(100dvh - 16px);
1347 margin: 0;
1348 padding: 0;
1349 position: fixed;
1350 bottom: 8px;
1351 top: auto;
1352 left: 8px;
1353 right: 8px;
1354 border-radius: 16px;
1355 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
1356 }
1357
1358 .floating-chatbot .mxchat-chatbot-wrapper {
1359 border-radius: 16px;
1360 overflow: hidden;
1361 }
1362
1363 .mxchat-chatbot-wrapper .chatbot-top-bar {
1364 border-top-left-radius: 16px;
1365 border-top-right-radius: 16px;
1366 }
1367 }
1368
1369
1370
1371 pre {
1372 background-color: #000;
1373 border: 1px solid #ddd;
1374 border-radius: 20px;
1375 border-left: 3px solid #9e7aff;
1376 color: #fff;
1377 page-break-inside: avoid;
1378 font-family: monospace;
1379 font-size: 15px;
1380 line-height: 1.6;
1381 margin-bottom: 1.6em;
1382 max-width: 100%;
1383 overflow: auto;
1384 padding: 1em 1.5em;
1385 display: block;
1386 word-wrap: break-word;
1387 }
1388
1389 .copy-btn {
1390 padding: 10px 20px;
1391 border: none;
1392 border-radius: 4px;
1393 background-color: #9e7aff;
1394 transition: background-color 0.3s;
1395 color: #fff;
1396 font-size: 1rem;
1397 cursor: pointer;
1398 font-weight: 700;
1399 margin-bottom: 10px;
1400 }
1401
1402 .copy-btn:hover {
1403 opacity: 0.8;
1404 }
1405
1406 .mxchat-product-card {
1407 display: flex;
1408 flex-direction: column;
1409 align-items: center;
1410 margin: 10px 0;
1411 padding: 10px;
1412 border-radius: 5px;
1413 background-color: inherit;
1414 }
1415
1416 .mxchat-product-card img.mxchat-product-image {
1417 max-width: 100%;
1418 height: auto;
1419 margin-bottom: 5px;
1420 border-radius: 4px;
1421 }
1422
1423 .mxchat-product-card h3.mxchat-product-name {
1424 font-size: 16px;
1425 font-weight: bold;
1426 margin: 5px 0;
1427 text-align: center;
1428 color: inherit;
1429 }
1430
1431 .mxchat-product-card .mxchat-product-price {
1432 color: inherit;
1433 font-weight: bold;
1434 margin-bottom: 5px;
1435 }
1436
1437 .mxchat-product-card .mxchat-product-description {
1438 font-size: 14px;
1439 text-align: center;
1440 margin-bottom: 10px;
1441 color: inherit;
1442 }
1443
1444 .mxchat-product-card .mxchat-add-to-cart-button {
1445 background-color: #212121;
1446 color: #fff;
1447 padding: 8px 12px;
1448 border: none;
1449 cursor: pointer;
1450 border-radius: 12px;
1451 transition: background-color 0.3s ease;
1452 }
1453
1454 .mxchat-product-card .mxchat-add-to-cart-button:hover {
1455 background-color: #212121;
1456 }
1457
1458 .mxchat-image-gallery {
1459 display: flex;
1460 flex-wrap: wrap;
1461 gap: 10px;
1462 justify-content: center;
1463 }
1464
1465 .mxchat-image-item {
1466 text-align: center;
1467 overflow: hidden;
1468 word-wrap: break-word;
1469 }
1470
1471 .mxchat-image-title {
1472 display: block;
1473 font-size: 14px;
1474 color: inherit;
1475 white-space: nowrap;
1476 overflow: hidden;
1477 text-overflow: ellipsis;
1478 max-width: 100%;
1479 }
1480
1481 .mxchat-image-link {
1482 text-decoration: none;
1483 }
1484
1485 .mxchat-image-thumbnail {
1486 max-width: 100%;
1487 height: auto;
1488 border-radius: 5px;
1489 transition: transform 0.3s;
1490 }
1491
1492 .mxchat-image-thumbnail:hover {
1493 transform: scale(1.05);
1494 }
1495
1496 .mxchat-generated-image {
1497 max-width: 100%;
1498 height: auto;
1499 border-radius: 0 0 8px 8px;
1500 }
1501
1502 #widget_icon, #widget_icon_2, #widget_icon_3, #widget_icon_5, #widget_icon_4, #widget_icon_6, #widget_icon_7 {
1503 padding: 10px;
1504 }
1505
1506 #widget_icon_10 {
1507 fill: #fff;
1508 }
1509
1510
1511 /* This selector with more context - showing the collapse button in certain states */
1512 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn {
1513 background: none;
1514 border: none;
1515 padding: 0;
1516 margin: 0px;
1517 cursor: pointer;
1518 transition: all 0.2s ease;
1519 color: #212121;
1520 display: none; /* Hidden by default */
1521 align-items: center;
1522 justify-content: center;
1523 width: 32px;
1524 height: 32px;
1525 box-shadow: none;
1526 outline: none;
1527 align-self: center; /* THIS IS MISSING */
1528 order: -1; /* THIS IS MISSING */
1529 }
1530
1531 /* ALL hover states - these are MISSING from your new CSS */
1532 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover {
1533 background: none;
1534 border: none;
1535 box-shadow: none;
1536 }
1537
1538 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:focus {
1539 outline: none;
1540 background: none;
1541 border: none;
1542 box-shadow: none;
1543 }
1544
1545 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:active {
1546 background: none;
1547 border: none;
1548 box-shadow: none;
1549 }
1550
1551 /* SVG styles - these are MISSING */
1552 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn svg {
1553 fill: none;
1554 transition: transform 0.2s ease;
1555 width: 25px;
1556 height: 25px;
1557 }
1558
1559 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover svg {
1560 opacity: 0.7;
1561 }
1562
1563 /* THE CRITICAL DISPLAY RULE - this shows when it's been collapsed before */
1564 .mxchat-popular-questions.has-been-collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1565 display: flex;
1566 }
1567
1568 /* Hide when actually collapsed */
1569 .mxchat-popular-questions.collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1570 display: none;
1571 }