PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.2.3
MxChat – AI Chatbot & Content Generation for WordPress v3.2.3
3.2.21 3.2.20 3.2.19 3.2.18 3.2.17 3.2.16 3.2.15 3.2.14 3.2.12 3.2.13 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 2.0.3 2.0.4 2.0.5 2.0.6 All 152 releases
mxchat-basic / css / chat-style.css

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

1,606 lines 35.7 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 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 width: 100%;
963 }
964
965 .chatbot-title-group {
966 display: flex;
967 align-items: center;
968 gap: 8px;
969 }
970
971 .chat-mode-indicator {
972 font-size: 12px;
973 margin-right: 8px;
974 padding: 4px 8px;
975 border-radius: 12px;
976 background: rgba(255, 255, 255, 0.2);
977 color: #ffffff;
978 }
979
980 .floating-chatbot {
981 position: fixed;
982 bottom: 25px;
983 right: 25px;
984 width: 375px;
985 /* Use viewport-aware height with fallbacks */
986 height: min(625px, calc(100vh - 50px)); /* 50px = 25px top + 25px bottom margin */
987 height: min(625px, calc(100dvh - 50px)); /* Dynamic viewport height for mobile browsers */
988 max-height: calc(100vh - 50px);
989 max-height: calc(100dvh - 50px); /* Fallback for browsers supporting dvh */
990 box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
991 border-radius: 20px;
992 overflow: hidden;
993 display: flex;
994 flex-direction: column;
995 z-index: 100000;
996 transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
997 transform: translateY(20%);
998 opacity: 0;
999 pointer-events: none;
1000 }
1001
1002 .floating-chatbot.visible {
1003 transform: translateY(0);
1004 opacity: 1;
1005 pointer-events: auto;
1006 }
1007
1008 /* ========================================
1009 EMBEDDED CHATBOT (Shortcode)
1010 ======================================== */
1011 /* Embedded chatbots are NOT inside .floating-chatbot wrapper */
1012 /* Apply fixed height like floating widget so quick questions overlay properly */
1013 .mxchat-chatbot-wrapper:not(.floating-chatbot .mxchat-chatbot-wrapper) {
1014 height: 500px;
1015 max-height: 500px;
1016 }
1017
1018 /* Hide the minimize/exit button for embedded chatbots - it doesn't make sense */
1019 .mxchat-chatbot-wrapper:not(.floating-chatbot .mxchat-chatbot-wrapper) .exit-chat {
1020 display: none !important;
1021 }
1022
1023 .floating-chatbot-button.hidden,
1024 .exit-chat span {
1025 display: none !important;
1026 }
1027
1028 .chatbot-top-bar button.exit-chat:hover {
1029 background: none;
1030 }
1031 .visible {
1032 display: flex;
1033 }
1034
1035 .floating-chatbot-button {
1036 transition: opacity 1s ease-in-out;
1037 font-size: 1.25rem;
1038 position: fixed;
1039 bottom: 30px;
1040 right: 25px;
1041 background-color: #212121;
1042 color: #fff;
1043 width: 60px;
1044 height: 60px;
1045 border-radius: 50%;
1046 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
1047 justify-content: center;
1048 align-items: center;
1049 cursor: pointer;
1050 transition: 0.3s;
1051 z-index: 100000;
1052 display: flex;
1053 }
1054
1055 .floating-chatbot-button img {
1056 max-width: 100%;
1057 max-height: 100%;
1058 width: auto;
1059 height: auto;
1060 }
1061
1062 .chatbot-top-bar {
1063 background: #212121;
1064 }
1065
1066 .mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1067 background: transparent;
1068 border: none;
1069 opacity: 0.8;
1070 padding: 0;
1071 min-width: 20px;
1072 }
1073
1074 .mxchat-chatbot-wrapper .chatbot-top-bar {
1075 cursor: pointer;
1076 color: #fff;
1077 padding: 10px;
1078 border-top-left-radius: 10px;
1079 border-top-right-radius: 10px;
1080 display: flex;
1081 justify-content: space-between;
1082 align-items: start;
1083 }
1084
1085 .mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1086 font-size: 16px;
1087 line-height: 25px;
1088 padding: 10px;
1089 margin: 0;
1090 font-family: 'Plus Jakarta Sans', sans-serif;
1091 font-weight: bold;
1092 }
1093
1094 .exit-chat {
1095 border: none;
1096 background: transparent;
1097 cursor: pointer;
1098 display: flex;
1099 align-items: center;
1100 justify-content: center;
1101 padding: 5px;
1102 margin-left: auto;
1103 opacity: 0.8;
1104 min-width: 20px;
1105 }
1106
1107 .exit-chat svg {
1108 fill: white;
1109 width: 24px;
1110 height: 24px;
1111 transform: rotate(270deg);
1112 }
1113
1114 .mxchat-chatbot-wrapper .chatbot-footer {
1115 text-align: center;
1116 padding-bottom: 10px;
1117 font-size: 0.85em;
1118 }
1119
1120 .mxchat-chatbot-wrapper .chatbot-footer .privacy-notice {
1121 font-size: 12px;
1122 margin: 0;
1123 color: #71717a;
1124 }
1125
1126 .mxchat-chatbot-wrapper .chatbot-footer .privacy-notice a {
1127 color: #0073aa;
1128 text-decoration: underline;
1129 font-size: 12px;
1130 }
1131
1132 .mxchat-chatbot-wrapper .chatbot-footer .powered-by {
1133 text-decoration: none;
1134 color: inherit;
1135 font-weight: 700;
1136 }
1137
1138 .mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
1139 text-decoration: underline;
1140 }
1141
1142 /* ========================================
1143 INIT LOADER (shown while chat initializes)
1144 ======================================== */
1145 .mxchat-init-loader {
1146 display: flex;
1147 align-items: center;
1148 justify-content: center;
1149 flex-grow: 1;
1150 min-height: 0;
1151 animation: fadeIn 0.3s ease-in-out;
1152 }
1153
1154 .mxchat-init-loader-dots {
1155 display: flex;
1156 gap: 8px;
1157 }
1158
1159 .mxchat-init-loader-dots .dot {
1160 width: 8px;
1161 height: 8px;
1162 border-radius: 50%;
1163 background-color: #888;
1164 animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1165 }
1166
1167 .mxchat-init-loader-dots .dot:nth-child(1) {
1168 animation-delay: -0.32s;
1169 }
1170
1171 .mxchat-init-loader-dots .dot:nth-child(2) {
1172 animation-delay: -0.16s;
1173 }
1174
1175 /* ========================================
1176 THINKING DOTS ANIMATION
1177 ======================================== */
1178 .chat-box .bot-message.temporary-message .thinking-dots-container {
1179 display: flex;
1180 justify-content: center;
1181 align-items: center;
1182 overflow: hidden;
1183 height: 20px;
1184 position: relative;
1185 z-index: 1;
1186 flex-shrink: 0;
1187 }
1188
1189 .chat-box .bot-message.temporary-message .thinking-dots {
1190 display: flex;
1191 justify-content: center;
1192 align-items: center;
1193 height: 90%;
1194 gap: 5px;
1195 flex-shrink: 0;
1196 }
1197
1198 .chat-box .bot-message.temporary-message .thinking-dots .dot {
1199 height: 6px;
1200 width: 6px;
1201 margin: 0 3px;
1202 background-color: #fff;
1203 border-radius: 50%;
1204 display: inline-block;
1205 animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1206 vertical-align: middle;
1207 }
1208
1209 .chat-box .bot-message.temporary-message .thinking-dots .dot:first-child {
1210 animation-delay: -0.32s;
1211 }
1212
1213 .chat-box .bot-message.temporary-message .thinking-dots .dot:nth-child(2) {
1214 animation-delay: -0.16s;
1215 }
1216
1217 @keyframes mxchat-dot-bounce {
1218 0%, 100%, 80% {
1219 transform: scale(1);
1220 }
1221 40% {
1222 transform: scale(1.5);
1223 }
1224 }
1225
1226 /* ========================================
1227 PRE-CHAT MESSAGE
1228 ======================================== */
1229 .pre-chat-message {
1230 position: fixed;
1231 bottom: 85px;
1232 right: 30px;
1233 background-color: #fff;
1234 color: #212121;
1235 padding: 10px;
1236 box-shadow: 0px 0px 10px rgba(150, 150, 150, 0.3);
1237 border-radius: 5px;
1238 z-index: 1000;
1239 cursor: pointer;
1240 max-width: 325px;
1241 font-size: 14px;
1242 display: none;
1243 margin-bottom: 10px;
1244 }
1245
1246 .pre-chat-message .close-pre-chat-message {
1247 position: absolute;
1248 top: -6px;
1249 right: -6px;
1250 background-color: #ccc;
1251 border: none;
1252 color: #212121;
1253 font-size: 14px;
1254 cursor: pointer;
1255 border-radius: 50%;
1256 width: 20px;
1257 min-width: 20px;
1258 min-height: 20px;
1259 height: 20px;
1260 display: flex;
1261 align-items: center;
1262 justify-content: center;
1263 padding: 0;
1264 line-height: 1;
1265 }
1266
1267 /* ========================================
1268 VIEWPORT HEIGHT CONSTRAINTS
1269 Handles bookmarks bar, browser zoom, and smaller screens
1270 ======================================== */
1271 @media screen and (max-height: 700px) {
1272 .floating-chatbot {
1273 bottom: 15px;
1274 height: calc(100vh - 30px);
1275 height: calc(100dvh - 30px);
1276 max-height: calc(100vh - 30px);
1277 max-height: calc(100dvh - 30px);
1278 }
1279
1280 .floating-chatbot-button {
1281 bottom: 20px;
1282 }
1283
1284 .pre-chat-message {
1285 bottom: 75px;
1286 }
1287 }
1288
1289 @media screen and (max-height: 550px) {
1290 .floating-chatbot {
1291 bottom: 10px;
1292 height: calc(100vh - 20px);
1293 height: calc(100dvh - 20px);
1294 max-height: calc(100vh - 20px);
1295 max-height: calc(100dvh - 20px);
1296 }
1297
1298 /* Reduce padding in tight spaces */
1299 .mxchat-popular-questions {
1300 padding: 0 8px 5px;
1301 margin-bottom: 8px;
1302 }
1303
1304 .mxchat-popular-question {
1305 padding: 8px 12px;
1306 font-size: 13px;
1307 line-height: 20px;
1308 }
1309
1310 .mxchat-chatbot .chat-container .input-container {
1311 margin: 0 8px 8px;
1312 }
1313
1314 .mxchat-chatbot-wrapper .chatbot-footer {
1315 padding-bottom: 5px;
1316 }
1317 }
1318
1319 /* ========================================
1320 MOBILE RESPONSIVE
1321 ======================================== */
1322 @media screen and (max-width: 782px) {
1323 .mxchat-search-results {
1324 gap: 15px !important;
1325 }
1326
1327 .mxchat-search-intro {
1328 font-size: 15px !important;
1329 }
1330
1331 .mxchat-search-title {
1332 font-size: 15px !important;
1333 }
1334
1335 .mxchat-search-description {
1336 font-size: 13px !important;
1337 }
1338 }
1339
1340 @media (max-width: 550px) {
1341 .questions-toggle-btn,
1342 .questions-collapse-btn {
1343 width: 28px;
1344 height: 28px;
1345 }
1346
1347 .questions-toggle-btn svg,
1348 .questions-collapse-btn svg {
1349 width: 22px;
1350 height: 22px;
1351 }
1352
1353 .pre-chat-message {
1354 bottom: 70px;
1355 right: 15px;
1356 }
1357
1358 .chat-input {
1359 width: calc(100% - 70px);
1360 }
1361
1362 .bot-message,
1363 .user-message {
1364 padding: 10px;
1365 max-width: 95%;
1366 }
1367
1368 .floating-chatbot-button {
1369 bottom: 15px;
1370 right: 10px;
1371 }
1372
1373 .floating-chatbot {
1374 width: calc(100vw - 16px);
1375 /* Use multiple fallbacks for maximum browser compatibility */
1376 height: calc(100vh - 16px); /* Fallback */
1377 height: calc(var(--vh, 1vh) * 100 - 16px); /* JS-set custom property fallback */
1378 height: calc(100dvh - 16px); /* Modern dynamic viewport height */
1379 max-height: calc(100vh - 16px);
1380 max-height: calc(100dvh - 16px);
1381 margin: 0;
1382 padding: 0;
1383 position: fixed;
1384 bottom: 8px;
1385 top: auto;
1386 left: 8px;
1387 right: 8px;
1388 border-radius: 16px;
1389 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
1390 }
1391
1392 .floating-chatbot .mxchat-chatbot-wrapper {
1393 border-radius: 16px;
1394 overflow: hidden;
1395 }
1396
1397 .mxchat-chatbot-wrapper .chatbot-top-bar {
1398 border-top-left-radius: 16px;
1399 border-top-right-radius: 16px;
1400 }
1401 }
1402
1403
1404
1405 pre {
1406 background-color: #000;
1407 border: 1px solid #ddd;
1408 border-radius: 20px;
1409 border-left: 3px solid #9e7aff;
1410 color: #fff;
1411 page-break-inside: avoid;
1412 font-family: monospace;
1413 font-size: 15px;
1414 line-height: 1.6;
1415 margin-bottom: 1.6em;
1416 max-width: 100%;
1417 overflow: auto;
1418 padding: 1em 1.5em;
1419 display: block;
1420 word-wrap: break-word;
1421 }
1422
1423 .copy-btn {
1424 padding: 10px 20px;
1425 border: none;
1426 border-radius: 4px;
1427 background-color: #9e7aff;
1428 transition: background-color 0.3s;
1429 color: #fff;
1430 font-size: 1rem;
1431 cursor: pointer;
1432 font-weight: 700;
1433 margin-bottom: 10px;
1434 }
1435
1436 .copy-btn:hover {
1437 opacity: 0.8;
1438 }
1439
1440 .mxchat-product-card {
1441 display: flex;
1442 flex-direction: column;
1443 align-items: center;
1444 margin: 10px 0;
1445 padding: 10px;
1446 border-radius: 5px;
1447 background-color: inherit;
1448 }
1449
1450 .mxchat-product-card img.mxchat-product-image {
1451 max-width: 100%;
1452 height: auto;
1453 margin-bottom: 5px;
1454 border-radius: 4px;
1455 }
1456
1457 .mxchat-product-card h3.mxchat-product-name {
1458 font-size: 16px;
1459 font-weight: bold;
1460 margin: 5px 0;
1461 text-align: center;
1462 color: inherit;
1463 }
1464
1465 .mxchat-product-card .mxchat-product-price {
1466 color: inherit;
1467 font-weight: bold;
1468 margin-bottom: 5px;
1469 }
1470
1471 .mxchat-product-card .mxchat-product-description {
1472 font-size: 14px;
1473 text-align: center;
1474 margin-bottom: 10px;
1475 color: inherit;
1476 }
1477
1478 .mxchat-product-card .mxchat-add-to-cart-button {
1479 background-color: #212121;
1480 color: #fff;
1481 padding: 8px 12px;
1482 border: none;
1483 cursor: pointer;
1484 border-radius: 12px;
1485 transition: background-color 0.3s ease;
1486 }
1487
1488 .mxchat-product-card .mxchat-add-to-cart-button:hover {
1489 background-color: #212121;
1490 }
1491
1492 .mxchat-image-gallery {
1493 display: flex;
1494 flex-wrap: wrap;
1495 gap: 10px;
1496 justify-content: center;
1497 }
1498
1499 .mxchat-image-item {
1500 text-align: center;
1501 overflow: hidden;
1502 word-wrap: break-word;
1503 }
1504
1505 .mxchat-image-title {
1506 display: block;
1507 font-size: 14px;
1508 color: inherit;
1509 white-space: nowrap;
1510 overflow: hidden;
1511 text-overflow: ellipsis;
1512 max-width: 100%;
1513 }
1514
1515 .mxchat-image-link {
1516 text-decoration: none;
1517 }
1518
1519 .mxchat-image-thumbnail {
1520 max-width: 100%;
1521 height: auto;
1522 border-radius: 5px;
1523 transition: transform 0.3s;
1524 }
1525
1526 .mxchat-image-thumbnail:hover {
1527 transform: scale(1.05);
1528 }
1529
1530 .mxchat-generated-image {
1531 max-width: 100%;
1532 height: auto;
1533 border-radius: 0 0 8px 8px;
1534 }
1535
1536 #widget_icon, #widget_icon_2, #widget_icon_3, #widget_icon_5, #widget_icon_4, #widget_icon_6, #widget_icon_7 {
1537 padding: 10px;
1538 }
1539
1540 #widget_icon_10 {
1541 fill: #fff;
1542 }
1543
1544
1545 /* This selector with more context - showing the collapse button in certain states */
1546 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn {
1547 background: none;
1548 border: none;
1549 padding: 0;
1550 margin: 0px;
1551 cursor: pointer;
1552 transition: all 0.2s ease;
1553 color: #212121;
1554 display: none; /* Hidden by default */
1555 align-items: center;
1556 justify-content: center;
1557 width: 32px;
1558 height: 32px;
1559 box-shadow: none;
1560 outline: none;
1561 align-self: center; /* THIS IS MISSING */
1562 order: -1; /* THIS IS MISSING */
1563 }
1564
1565 /* ALL hover states - these are MISSING from your new CSS */
1566 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover {
1567 background: none;
1568 border: none;
1569 box-shadow: none;
1570 }
1571
1572 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:focus {
1573 outline: none;
1574 background: none;
1575 border: none;
1576 box-shadow: none;
1577 }
1578
1579 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:active {
1580 background: none;
1581 border: none;
1582 box-shadow: none;
1583 }
1584
1585 /* SVG styles - these are MISSING */
1586 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn svg {
1587 fill: none;
1588 stroke: #212121;
1589 transition: transform 0.2s ease;
1590 width: 25px;
1591 height: 25px;
1592 }
1593
1594 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover svg {
1595 opacity: 0.7;
1596 }
1597
1598 /* THE CRITICAL DISPLAY RULE - this shows when it's been collapsed before */
1599 .mxchat-popular-questions.has-been-collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1600 display: flex;
1601 }
1602
1603 /* Hide when actually collapsed */
1604 .mxchat-popular-questions.collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1605 display: none;
1606 }