PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 2.4.6
MxChat – AI Chatbot & Content Generation for WordPress v2.4.6
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 +104 -544 3.2.52.4.6 View file →
@@ -126,9 +126,9 @@
126 126 transform: translateY(0);
127 127 }
128 128 }
129 129
130 -.mxchat-chatbot-wrapper {
130 +#mxchat-chatbot-wrapper {
131 131 display: none;
132 132 }
133 133
134 134 /* ========================================
@@ -289,37 +289,8 @@
289 289
290 290 /* ========================================
291 291 CODE BLOCKS & INLINE CODE
292 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 293 .mxchat-code-block-container {
323 294 margin: 16px 0;
324 295 border-radius: 8px;
325 296 background: rgba(255, 255, 255, 0.1);
@@ -439,9 +410,9 @@
439 410 opacity: 1;
440 411 background: none;
441 412 }
442 413
443 -.mxchat-chatbot .chat-toolbar {
414 +#mxchat-chatbot .chat-toolbar {
444 415 display: flex;
445 416 gap: 10px;
446 417 padding: 8px;
447 418 background: none;
@@ -447,9 +418,9 @@
447 418 background: none;
448 419 align-items: end;
449 420 }
450 421
451 -.mxchat-chatbot .toolbar-btn {
422 +#mxchat-chatbot .toolbar-btn {
452 423 background: none;
453 424 border: none;
454 425 padding: 0;
455 426 cursor: pointer;
@@ -463,14 +434,14 @@
463 434 min-width: 0;
464 435 box-shadow: none;
465 436 }
466 437
467 -.mxchat-chatbot .toolbar-btn svg {
438 +#mxchat-chatbot .toolbar-btn svg {
468 439 width: 100%;
469 440 height: 100%;
470 441 }
471 442
472 -.mxchat-chatbot .toolbar-btn:hover {
443 +#mxchat-chatbot .toolbar-btn:hover {
473 444 opacity: 1;
474 445 background: none;
475 446 border: none;
476 447 box-shadow: none;
@@ -475,9 +446,9 @@
475 446 border: none;
476 447 box-shadow: none;
477 448 }
478 449
479 -.mxchat-chatbot .toolbar-btn:disabled {
450 +#mxchat-chatbot .toolbar-btn:disabled {
480 451 opacity: 0.3;
481 452 cursor: not-allowed;
482 453 background: none;
483 454 border: none;
@@ -487,9 +458,9 @@
487 458 background-color: rgba(120, 115, 245, 0.2);
488 459 box-shadow: 0 0 0 2px rgba(120, 115, 245, 0.4);
489 460 }
490 461
491 -.active-perplexity-container {
462 +#active-perplexity-container {
492 463 display: flex;
493 464 align-items: center;
494 465 margin-left: 8px;
495 466 font-size: 12px;
@@ -494,13 +465,13 @@
494 465 margin-left: 8px;
495 466 font-size: 12px;
496 467 }
497 468
498 -.perplexity-search-btn {
469 +#perplexity-search-btn {
499 470 display: none;
500 471 }
501 472
502 -.perplexity-search-btn.active {
473 +#perplexity-search-btn.active {
503 474 opacity: 1;
504 475 }
505 476
506 477 /* ========================================
@@ -505,9 +476,9 @@
505 476
506 477 /* ========================================
507 478 POPULAR QUESTIONS SYSTEM
508 479 ======================================== */
509 -.mxchat-popular-questions {
480 +#mxchat-popular-questions {
510 481 padding: 0 10px 10px;
511 482 transition: all 0.3s ease;
512 483 margin-bottom: 12px;
513 484 position: relative;
@@ -533,14 +504,14 @@
533 504 transition: all 0.3s ease;
534 505 gap: 8px;
535 506 }
536 507
537 -.mxchat-popular-questions.collapsed {
508 +#mxchat-popular-questions.collapsed {
538 509 padding: 0;
539 510 margin: 0;
540 511 }
541 512
542 -.mxchat-popular-questions.collapsed .mxchat-popular-questions-container {
513 +#mxchat-popular-questions.collapsed .mxchat-popular-questions-container {
543 514 flex-direction: row;
544 515 justify-content: center;
545 516 align-items: center;
546 517 padding: 0;
@@ -547,18 +518,18 @@
547 518 max-height: 40px;
548 519 overflow: visible;
549 520 }
550 521
551 -.mxchat-popular-questions.collapsed .mxchat-popular-question {
522 +#mxchat-popular-questions.collapsed .mxchat-popular-question {
552 523 display: none;
553 524 }
554 525
555 -.mxchat-popular-questions.collapsed .questions-collapse-btn {
526 +#mxchat-popular-questions.collapsed .questions-collapse-btn {
556 527 display: none;
557 528 }
558 529
559 530 /* MISSING - These need to be inside the container context: */
560 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-toggle-btn {
531 +#mxchat-popular-questions .mxchat-popular-questions-container .questions-toggle-btn {
561 532 background: none;
562 533 border: none;
563 534 padding: 0;
564 535 margin: 0;
@@ -573,9 +544,9 @@
573 544 box-shadow: none;
574 545 outline: none;
575 546 }
576 547
577 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn {
548 +#mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn {
578 549 background: none;
579 550 border: none;
580 551 padding: 0;
581 552 margin: 0px; /* Center and add bottom margin */
@@ -608,9 +579,8 @@
608 579 .questions-toggle-btn svg,
609 580 .questions-collapse-btn svg {
610 581 transition: transform 0.2s ease;
611 582 fill: none;
612 - stroke: #212121;
613 583 width: 25px;
614 584 height: 25px;
615 585 }
616 586
@@ -618,13 +588,13 @@
618 588 .questions-collapse-btn:hover svg {
619 589 opacity: 0.7;
620 590 }
621 591
622 -.mxchat-popular-questions.collapsed .questions-toggle-btn {
592 +#mxchat-popular-questions.collapsed .questions-toggle-btn {
623 593 display: flex;
624 594 }
625 595
626 -.mxchat-popular-questions.has-been-collapsed .questions-collapse-btn {
596 +#mxchat-popular-questions.has-been-collapsed .questions-collapse-btn {
627 597 display: flex;
628 598 align-self: center;
629 599 order: -1;
630 600 }
@@ -691,41 +661,38 @@
691 661 opacity: 0;
692 662 pointer-events: none;
693 663 }
694 664
695 -.mxchat-chatbot{
665 +#mxchat-chatbot {
696 666 background: #fff;
697 667 overflow: hidden;
698 668 position: relative;
699 669 display: flex;
700 670 flex-direction: column;
671 + height: 500px;
672 + box-sizing: border-box;
701 673 flex-grow: 1;
702 - min-height: 0; /* Allow flex shrinking */
703 - box-sizing: border-box;
704 674 }
705 675
706 -.chat-container {
676 +#chat-container {
707 677 display: flex;
708 678 flex-direction: column;
709 - flex-grow: 1;
710 - min-height: 0; /* Critical for flex overflow scrolling */
711 679 height: 100%;
712 680 }
713 681
714 -.chat-box {
682 +#chat-box {
715 683 flex-grow: 1;
716 684 overflow-y: auto;
717 685 padding: 10px;
718 686 margin-bottom: 0;
719 687 font-size: 1rem;
720 - min-height: 0; /* Critical for flex overflow scrolling */
721 688 }
722 689
723 -.chat-box::-webkit-scrollbar {
690 +#chat-box::-webkit-scrollbar {
724 691 width: 5px;
725 692 }
726 693
727 -.chat-box::-webkit-scrollbar-thumb {
694 +#chat-box::-webkit-scrollbar-thumb {
728 695 background-color: #212121;
729 696 border-radius: 20px;
730 697 }
731 698
@@ -754,9 +721,9 @@
754 721 .user-message p {
755 722 margin: 0;
756 723 }
757 724
758 -.mxchat-chatbot .chat-container .chat-box .bot-message {
725 +#mxchat-chatbot #chat-container #chat-box .bot-message {
759 726 float: left;
760 727 clear: both;
761 728 border: 1px solid rgba(226, 232, 255, 0.2);
762 729 border-radius: 0 18px 18px;
@@ -764,9 +731,9 @@
764 731 color: #fff;
765 732 overflow-x: hidden;
766 733 }
767 734
768 -.mxchat-chatbot .chat-container .chat-box .agent-message {
735 +#mxchat-chatbot #chat-container #chat-box .agent-message {
769 736 text-align: left;
770 737 float: left;
771 738 clear: both;
772 739 border: 1px solid rgba(226, 232, 255, 0.2);
@@ -819,9 +786,9 @@
819 786 font-size: 14px;
820 787 text-align: center;
821 788 }
822 789
823 -.mxchat-chatbot-wrapper {
790 +#mxchat-chatbot-wrapper {
824 791 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
825 792 border-radius: 10px;
826 793 display: flex;
827 794 flex-direction: column;
@@ -826,16 +793,14 @@
826 793 display: flex;
827 794 flex-direction: column;
828 795 height: 100%;
829 796 width: 100%;
830 - min-height: 0; /* Allow flex shrinking */
831 - overflow: hidden;
832 797 }
833 798
834 799 /* ========================================
835 800 INPUT & CONTROLS
836 801 ======================================== */
837 -.mxchat-chatbot .chat-container .input-container {
802 +#mxchat-chatbot #chat-container #input-container {
838 803 position: relative;
839 804 display: flex;
840 805 align-items: center;
841 806 padding-right: 40px;
@@ -843,9 +808,9 @@
843 808 border-radius: 10px;
844 809 margin: 0 10px 10px;
845 810 }
846 811
847 -.mxchat-chatbot .chat-container .input-container .chat-input {
812 +#mxchat-chatbot #chat-container #input-container #chat-input {
848 813 flex-grow: 1;
849 814 color: #212121;
850 815 line-height: 24px;
851 816 background: transparent;
@@ -863,32 +828,32 @@
863 828 outline: none;
864 829 border-radius: 10px;
865 830 }
866 831
867 -.chat-input::-webkit-scrollbar {
832 +#chat-input::-webkit-scrollbar {
868 833 width: 8px;
869 834 }
870 835
871 -.chat-input::-webkit-scrollbar-track {
836 +#chat-input::-webkit-scrollbar-track {
872 837 background: #f1f1f1;
873 838 border-radius: 4px;
874 839 }
875 840
876 -.chat-input::-webkit-scrollbar-thumb {
841 +#chat-input::-webkit-scrollbar-thumb {
877 842 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
878 843 border-radius: 4px;
879 844 }
880 845
881 -.chat-input::-webkit-scrollbar-thumb:hover {
846 +#chat-input::-webkit-scrollbar-thumb:hover {
882 847 background: linear-gradient(135deg, #d164ce, #6568d8, #2daeb8);
883 848 }
884 849
885 -.chat-input {
850 +#chat-input {
886 851 scrollbar-width: thin;
887 852 scrollbar-color: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1) #f1f1f1;
888 853 }
889 854
890 -.mxchat-chatbot .chat-container .input-container .send-button {
855 +#mxchat-chatbot #chat-container #input-container #send-button {
891 856 position: absolute;
892 857 right: 10px;
893 858 top: 50%;
894 859 transform: translateY(-50%);
@@ -908,25 +873,25 @@
908 873 cursor: pointer;
909 874 font-weight: 700;
910 875 }
911 876
912 -.send-button svg {
877 +#send-button svg {
913 878 width: 25px;
914 879 height: 25px;
915 880 pointer-events: none;
916 881 }
917 882
918 -.send-button:hover {
883 +#send-button:hover {
919 884 opacity: 0.8;
920 885 }
921 886
922 -.mxchat-chatbot .spinner {
887 +#mxchat-chatbot .spinner {
923 888 animation: rotate 2s linear infinite;
924 889 width: 20px;
925 890 height: 20px;
926 891 }
927 892
928 -.mxchat-chatbot .spinner circle {
893 +#mxchat-chatbot .spinner circle {
929 894 stroke: #212121;
930 895 stroke-linecap: round;
931 896 animation: dash 1.5s ease-in-out infinite;
932 897 }
@@ -958,11 +923,9 @@
958 923 .chatbot-title-container {
959 924 display: flex;
960 925 align-items: center;
961 926 justify-content: space-between;
962 - gap: 10px;
963 - flex: 1 1 auto;
964 - min-width: 0;
927 + width: 100%;
965 928 }
966 929
967 930 .chatbot-title-group {
968 931 display: flex;
@@ -971,36 +934,25 @@
971 934 }
972 935
973 936 .chat-mode-indicator {
974 937 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);
938 + margin-right: 8px;
939 + padding: 4px 8px;
940 + border-radius: 12px;
941 + background: rgba(255, 255, 255, 0.2);
980 942 color: #ffffff;
981 - display: inline-flex;
982 - align-items: center;
983 - height: 22px;
984 - white-space: nowrap;
985 - flex: 0 0 auto;
986 943 }
987 944
988 -.floating-chatbot {
945 +#floating-chatbot {
989 946 position: fixed;
990 947 bottom: 25px;
991 948 right: 25px;
992 949 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 */
950 + height: 625px;
998 951 box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
999 952 border-radius: 20px;
1000 953 overflow: hidden;
1001 954 display: flex;
1002 - flex-direction: column;
1003 955 z-index: 100000;
1004 956 transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
1005 957 transform: translateY(20%);
1006 958 opacity: 0;
@@ -1006,42 +958,24 @@
1006 958 opacity: 0;
1007 959 pointer-events: none;
1008 960 }
1009 961
1010 -.floating-chatbot.visible {
962 +#floating-chatbot.visible {
1011 963 transform: translateY(0);
1012 964 opacity: 1;
1013 965 pointer-events: auto;
1014 966 }
1015 967
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,
968 +#floating-chatbot-button.hidden,
1032 969 .exit-chat span {
1033 970 display: none !important;
1034 971 }
1035 972
1036 -.chatbot-top-bar button.exit-chat:hover {
1037 - background: rgba(255, 255, 255, 0.12);
1038 -}
1039 973 .visible {
1040 974 display: flex;
1041 975 }
1042 976
1043 -.floating-chatbot-button {
977 +#floating-chatbot-button {
1044 978 transition: opacity 1s ease-in-out;
1045 979 font-size: 1.25rem;
1046 980 position: fixed;
1047 981 bottom: 30px;
@@ -1059,9 +993,9 @@
1059 993 z-index: 100000;
1060 994 display: flex;
1061 995 }
1062 996
1063 -.floating-chatbot-button img {
997 +#floating-chatbot-button img {
1064 998 max-width: 100%;
1065 999 max-height: 100%;
1066 1000 width: auto;
1067 1001 height: auto;
@@ -1070,41 +1004,34 @@
1070 1004 .chatbot-top-bar {
1071 1005 background: #212121;
1072 1006 }
1073 1007
1074 -.mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1008 +#mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1075 1009 background: transparent;
1076 1010 border: none;
1077 1011 opacity: 0.8;
1078 1012 padding: 0;
1079 - width: 32px;
1080 - height: 32px;
1081 - min-width: 32px;
1082 - flex: 0 0 auto;
1083 - border-radius: 6px;
1084 - transition: opacity 0.15s ease, background 0.15s ease;
1013 + min-width: 20px;
1085 1014 }
1086 1015
1087 -.mxchat-chatbot-wrapper .chatbot-top-bar {
1016 +#mxchat-chatbot-wrapper .chatbot-top-bar {
1088 1017 cursor: pointer;
1089 1018 color: #fff;
1090 - padding: 8px 12px;
1091 - min-height: 48px;
1092 - gap: 8px;
1019 + padding: 10px;
1093 1020 border-top-left-radius: 10px;
1094 1021 border-top-right-radius: 10px;
1095 1022 display: flex;
1096 1023 justify-content: space-between;
1097 - align-items: center;
1024 + align-items: start;
1098 1025 }
1099 1026
1100 -.mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1101 - font-size: 15px;
1102 - line-height: 1.2;
1103 - padding: 0;
1027 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1028 + font-size: 16px;
1029 + line-height: 25px;
1030 + padding: 10px;
1104 1031 margin: 0;
1105 1032 font-family: 'Plus Jakarta Sans', sans-serif;
1106 - font-weight: 600;
1033 + font-weight: bold;
1107 1034 }
1108 1035
1109 1036 .exit-chat {
1110 1037 border: none;
@@ -1109,92 +1036,56 @@
1109 1036 .exit-chat {
1110 1037 border: none;
1111 1038 background: transparent;
1112 1039 cursor: pointer;
1113 - display: inline-flex;
1040 + display: flex;
1114 1041 align-items: center;
1115 1042 justify-content: center;
1116 - padding: 0;
1043 + padding: 5px;
1117 1044 margin-left: auto;
1118 1045 opacity: 0.8;
1119 - width: 32px;
1120 - height: 32px;
1121 - min-width: 32px;
1122 - flex: 0 0 auto;
1046 + min-width: 20px;
1123 1047 }
1124 1048
1125 1049 .exit-chat svg {
1126 - width: 18px;
1127 - height: 18px;
1128 - fill: none;
1129 - stroke: currentColor;
1050 + fill: white;
1051 + width: 24px;
1052 + height: 24px;
1053 + transform: rotate(270deg);
1130 1054 }
1131 1055
1132 -.mxchat-chatbot-wrapper .chatbot-footer {
1056 +#mxchat-chatbot-wrapper .chatbot-footer {
1133 1057 text-align: center;
1134 1058 padding-bottom: 10px;
1135 1059 font-size: 0.85em;
1136 1060 }
1137 1061
1138 -.mxchat-chatbot-wrapper .chatbot-footer .privacy-notice {
1062 +#mxchat-chatbot-wrapper .chatbot-footer .privacy-notice {
1139 1063 font-size: 12px;
1140 1064 margin: 0;
1141 1065 color: #71717a;
1142 1066 }
1143 1067
1144 -.mxchat-chatbot-wrapper .chatbot-footer .privacy-notice a {
1068 +#mxchat-chatbot-wrapper .chatbot-footer .privacy-notice a {
1145 1069 color: #0073aa;
1146 1070 text-decoration: underline;
1147 1071 font-size: 12px;
1148 1072 }
1149 1073
1150 -.mxchat-chatbot-wrapper .chatbot-footer .powered-by {
1074 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by {
1151 1075 text-decoration: none;
1152 1076 color: inherit;
1153 1077 font-weight: 700;
1154 1078 }
1155 1079
1156 -.mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
1080 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
1157 1081 text-decoration: underline;
1158 1082 }
1159 1083
1160 1084 /* ========================================
1161 - INIT LOADER (shown while chat initializes)
1162 - ======================================== */
1163 -.mxchat-init-loader {
1164 - display: flex;
1165 - align-items: center;
1166 - justify-content: center;
1167 - flex-grow: 1;
1168 - min-height: 0;
1169 - animation: fadeIn 0.3s ease-in-out;
1170 -}
1171 -
1172 -.mxchat-init-loader-dots {
1173 - display: flex;
1174 - gap: 8px;
1175 -}
1176 -
1177 -.mxchat-init-loader-dots .dot {
1178 - width: 8px;
1179 - height: 8px;
1180 - border-radius: 50%;
1181 - background-color: #888;
1182 - animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1183 -}
1184 -
1185 -.mxchat-init-loader-dots .dot:nth-child(1) {
1186 - animation-delay: -0.32s;
1187 -}
1188 -
1189 -.mxchat-init-loader-dots .dot:nth-child(2) {
1190 - animation-delay: -0.16s;
1191 -}
1192 -
1193 -/* ========================================
1194 1085 THINKING DOTS ANIMATION
1195 1086 ======================================== */
1196 -.chat-box .bot-message.temporary-message .thinking-dots-container {
1087 +#chat-box .bot-message.temporary-message .thinking-dots-container {
1197 1088 display: flex;
1198 1089 justify-content: center;
1199 1090 align-items: center;
1200 1091 overflow: hidden;
@@ -1203,9 +1094,9 @@
1203 1094 z-index: 1;
1204 1095 flex-shrink: 0;
1205 1096 }
1206 1097
1207 -.chat-box .bot-message.temporary-message .thinking-dots {
1098 +#chat-box .bot-message.temporary-message .thinking-dots {
1208 1099 display: flex;
1209 1100 justify-content: center;
1210 1101 align-items: center;
1211 1102 height: 90%;
@@ -1212,9 +1103,9 @@
1212 1103 gap: 5px;
1213 1104 flex-shrink: 0;
1214 1105 }
1215 1106
1216 -.chat-box .bot-message.temporary-message .thinking-dots .dot {
1107 +#chat-box .bot-message.temporary-message .thinking-dots .dot {
1217 1108 height: 6px;
1218 1109 width: 6px;
1219 1110 margin: 0 3px;
1220 1111 background-color: #fff;
@@ -1219,21 +1110,21 @@
1219 1110 margin: 0 3px;
1220 1111 background-color: #fff;
1221 1112 border-radius: 50%;
1222 1113 display: inline-block;
1223 - animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1114 + animation: bounce 1.4s ease-in-out infinite both;
1224 1115 vertical-align: middle;
1225 1116 }
1226 1117
1227 -.chat-box .bot-message.temporary-message .thinking-dots .dot:first-child {
1118 +#chat-box .bot-message.temporary-message .thinking-dots .dot:first-child {
1228 1119 animation-delay: -0.32s;
1229 1120 }
1230 1121
1231 -.chat-box .bot-message.temporary-message .thinking-dots .dot:nth-child(2) {
1122 +#chat-box .bot-message.temporary-message .thinking-dots .dot:nth-child(2) {
1232 1123 animation-delay: -0.16s;
1233 1124 }
1234 1125
1235 -@keyframes mxchat-dot-bounce {
1126 +@keyframes bounce {
1236 1127 0%, 100%, 80% {
1237 1128 transform: scale(1);
1238 1129 }
1239 1130 40% {
@@ -1243,9 +1134,9 @@
1243 1134
1244 1135 /* ========================================
1245 1136 PRE-CHAT MESSAGE
1246 1137 ======================================== */
1247 -.pre-chat-message {
1138 +#pre-chat-message {
1248 1139 position: fixed;
1249 1140 bottom: 85px;
1250 1141 right: 30px;
1251 1142 background-color: #fff;
@@ -1260,9 +1151,9 @@
1260 1151 display: none;
1261 1152 margin-bottom: 10px;
1262 1153 }
1263 1154
1264 -.pre-chat-message .close-pre-chat-message {
1155 +#pre-chat-message .close-pre-chat-message {
1265 1156 position: absolute;
1266 1157 top: -6px;
1267 1158 right: -6px;
1268 1159 background-color: #ccc;
@@ -1282,60 +1173,8 @@
1282 1173 line-height: 1;
1283 1174 }
1284 1175
1285 1176 /* ========================================
1286 - VIEWPORT HEIGHT CONSTRAINTS
1287 - Handles bookmarks bar, browser zoom, and smaller screens
1288 - ======================================== */
1289 -@media screen and (max-height: 700px) {
1290 - .floating-chatbot {
1291 - bottom: 15px;
1292 - height: calc(100vh - 30px);
1293 - height: calc(100dvh - 30px);
1294 - max-height: calc(100vh - 30px);
1295 - max-height: calc(100dvh - 30px);
1296 - }
1297 -
1298 - .floating-chatbot-button {
1299 - bottom: 20px;
1300 - }
1301 -
1302 - .pre-chat-message {
1303 - bottom: 75px;
1304 - }
1305 -}
1306 -
1307 -@media screen and (max-height: 550px) {
1308 - .floating-chatbot {
1309 - bottom: 10px;
1310 - height: calc(100vh - 20px);
1311 - height: calc(100dvh - 20px);
1312 - max-height: calc(100vh - 20px);
1313 - max-height: calc(100dvh - 20px);
1314 - }
1315 -
1316 - /* Reduce padding in tight spaces */
1317 - .mxchat-popular-questions {
1318 - padding: 0 8px 5px;
1319 - margin-bottom: 8px;
1320 - }
1321 -
1322 - .mxchat-popular-question {
1323 - padding: 8px 12px;
1324 - font-size: 13px;
1325 - line-height: 20px;
1326 - }
1327 -
1328 - .mxchat-chatbot .chat-container .input-container {
1329 - margin: 0 8px 8px;
1330 - }
1331 -
1332 - .mxchat-chatbot-wrapper .chatbot-footer {
1333 - padding-bottom: 5px;
1334 - }
1335 -}
1336 -
1337 -/* ========================================
1338 1177 MOBILE RESPONSIVE
1339 1178 ======================================== */
1340 1179 @media screen and (max-width: 782px) {
1341 1180 .mxchat-search-results {
@@ -1367,14 +1206,14 @@
1367 1206 width: 22px;
1368 1207 height: 22px;
1369 1208 }
1370 1209
1371 - .pre-chat-message {
1210 + #pre-chat-message {
1372 1211 bottom: 70px;
1373 1212 right: 15px;
1374 1213 }
1375 1214
1376 - .chat-input {
1215 + #chat-input {
1377 1216 width: calc(100% - 70px);
1378 1217 }
1379 1218
1380 1219 .bot-message,
@@ -1382,41 +1221,30 @@
1382 1221 padding: 10px;
1383 1222 max-width: 95%;
1384 1223 }
1385 1224
1386 - .floating-chatbot-button {
1225 + #floating-chatbot-button {
1387 1226 bottom: 15px;
1388 1227 right: 10px;
1389 1228 }
1390 1229
1391 - .floating-chatbot {
1392 - width: calc(100vw - 16px);
1393 - /* Use multiple fallbacks for maximum browser compatibility */
1394 - height: calc(100vh - 16px); /* Fallback */
1395 - height: calc(var(--vh, 1vh) * 100 - 16px); /* JS-set custom property fallback */
1396 - height: calc(100dvh - 16px); /* Modern dynamic viewport height */
1397 - max-height: calc(100vh - 16px);
1398 - max-height: calc(100dvh - 16px);
1230 + #floating-chatbot {
1231 + width: 100vw;
1232 + height: calc(var(--vh, 1vh) * 100);
1399 1233 margin: 0;
1400 1234 padding: 0;
1401 1235 position: fixed;
1402 - bottom: 8px;
1403 - top: auto;
1404 - left: 8px;
1405 - right: 8px;
1406 - border-radius: 16px;
1407 - box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
1236 + bottom: 0;
1237 + top: 0;
1238 + left: 0;
1239 + right: 0;
1240 + border-radius: 0;
1408 1241 }
1409 1242
1410 - .floating-chatbot .mxchat-chatbot-wrapper {
1411 - border-radius: 16px;
1412 - overflow: hidden;
1243 + #mxchat-chatbot-wrapper .chatbot-top-bar {
1244 + border-top-left-radius: 0;
1245 + border-top-right-radius: 0;
1413 1246 }
1414 -
1415 - .mxchat-chatbot-wrapper .chatbot-top-bar {
1416 - border-top-left-radius: 16px;
1417 - border-top-right-radius: 16px;
1418 - }
1419 1247 }
1420 1248
1421 1249
1422 1250
@@ -1560,9 +1388,9 @@
1560 1388 }
1561 1389
1562 1390
1563 1391 /* This selector with more context - showing the collapse button in certain states */
1564 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn {
1392 +#mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn {
1565 1393 background: none;
1566 1394 border: none;
1567 1395 padding: 0;
1568 1396 margin: 0px;
@@ -1580,15 +1408,15 @@
1580 1408 order: -1; /* THIS IS MISSING */
1581 1409 }
1582 1410
1583 1411 /* ALL hover states - these are MISSING from your new CSS */
1584 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover {
1412 +#mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover {
1585 1413 background: none;
1586 1414 border: none;
1587 1415 box-shadow: none;
1588 1416 }
1589 1417
1590 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:focus {
1418 +#mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:focus {
1591 1419 outline: none;
1592 1420 background: none;
1593 1421 border: none;
1594 1422 box-shadow: none;
@@ -1593,9 +1421,9 @@
1593 1421 border: none;
1594 1422 box-shadow: none;
1595 1423 }
1596 1424
1597 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:active {
1425 +#mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:active {
1598 1426 background: none;
1599 1427 border: none;
1600 1428 box-shadow: none;
1601 1429 }
@@ -1600,292 +1428,24 @@
1600 1428 box-shadow: none;
1601 1429 }
1602 1430
1603 1431 /* SVG styles - these are MISSING */
1604 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn svg {
1432 +#mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn svg {
1605 1433 fill: none;
1606 - stroke: #212121;
1607 1434 transition: transform 0.2s ease;
1608 1435 width: 25px;
1609 1436 height: 25px;
1610 1437 }
1611 1438
1612 -.mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover svg {
1439 +#mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover svg {
1613 1440 opacity: 0.7;
1614 1441 }
1615 1442
1616 1443 /* THE CRITICAL DISPLAY RULE - this shows when it's been collapsed before */
1617 -.mxchat-popular-questions.has-been-collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1444 +#mxchat-popular-questions.has-been-collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1618 1445 display: flex;
1619 1446 }
1620 1447
1621 1448 /* Hide when actually collapsed */
1622 -.mxchat-popular-questions.collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1449 +#mxchat-popular-questions.collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1623 1450 display: none;
1624 -}
1625 -
1626 -/* ============================================================
1627 - Header overflow menu — 3-dot kebab + dropdown (v3.2.9 / v3.2.10)
1628 - Lives in .chatbot-top-bar to the LEFT of .exit-chat. Visual treatment
1629 - mirrors .exit-chat: transparent, white-on-dark, 0.8 opacity, 5px pad.
1630 -
1631 - v3.2.10: explicit `order` rules pin the visual order
1632 - title (0) | kebab (1) | down-arrow (2)
1633 - so the down-arrow is always the rightmost icon regardless of source
1634 - order or which sibling has margin-left:auto.
1635 - ============================================================ */
1636 -.mxchat-chatbot-wrapper .chatbot-top-bar > .chatbot-title-container { order: 0; }
1637 -.mxchat-chatbot-wrapper .chatbot-top-bar > .mxchat-header-menu-wrap { order: 1; }
1638 -.mxchat-chatbot-wrapper .chatbot-top-bar > .exit-chat { order: 2; }
1639 -
1640 -.mxchat-header-menu-wrap {
1641 - position: relative;
1642 - display: inline-flex;
1643 - align-items: center;
1644 - margin-left: auto; /* push kebab + arrow group to the right edge */
1645 -}
1646 -.mxchat-chatbot-wrapper .chatbot-top-bar .mxchat-header-menu-wrap ~ .exit-chat,
1647 -.mxchat-chatbot-wrapper .chatbot-top-bar .mxchat-header-menu-wrap + .exit-chat {
1648 - margin-left: 4px; /* even, snug gap between kebab and close */
1649 -}
1650 -.mxchat-chatbot-wrapper .chatbot-top-bar > .exit-chat:focus {
1651 - background: rgba(255, 255, 255, 0.12);
1652 - opacity: 1;
1653 - outline: none;
1654 -}
1655 -.mxchat-header-btn {
1656 - border: none;
1657 - background: transparent;
1658 - cursor: pointer;
1659 - display: inline-flex;
1660 - align-items: center;
1661 - justify-content: center;
1662 - padding: 0;
1663 - opacity: 0.8;
1664 - color: #fff;
1665 - transition: opacity 0.15s ease, background 0.15s ease;
1666 - border-radius: 6px;
1667 - line-height: 0;
1668 - width: 32px;
1669 - height: 32px;
1670 - min-width: 32px;
1671 - flex: 0 0 auto;
1672 -}
1673 -.mxchat-header-btn:hover,
1674 -.mxchat-header-btn:focus {
1675 - opacity: 1;
1676 - background: rgba(255, 255, 255, 0.12);
1677 - outline: none;
1678 -}
1679 -.mxchat-header-btn[aria-expanded="true"] {
1680 - opacity: 1;
1681 - background: rgba(255, 255, 255, 0.12);
1682 -}
1683 -.mxchat-menu-trigger svg {
1684 - width: 18px;
1685 - height: 18px;
1686 -}
1687 -
1688 -.mxchat-header-menu {
1689 - position: absolute;
1690 - top: calc(100% + 6px);
1691 - right: 0;
1692 - min-width: 220px;
1693 - background: var(--mxchat-menu-bg, #ffffff);
1694 - color: var(--mxchat-menu-fg, #1a1a1a);
1695 - border: 1px solid rgba(127, 127, 127, 0.20);
1696 - border-radius: 10px;
1697 - box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 0 2px 6px rgba(0, 0, 0, 0.10);
1698 - padding: 4px;
1699 - z-index: 5;
1700 - opacity: 0;
1701 - transform: translateY(-4px);
1702 - pointer-events: none;
1703 - transition: opacity 0.12s ease, transform 0.12s ease;
1704 -}
1705 -.mxchat-header-menu.is-open {
1706 - opacity: 1;
1707 - transform: translateY(0);
1708 - pointer-events: auto;
1709 -}
1710 -.mxchat-header-menu[hidden] {
1711 - display: none;
1712 -}
1713 -.mxchat-menu-item {
1714 - display: flex;
1715 - align-items: center;
1716 - gap: 10px;
1717 - width: 100%;
1718 - padding: 8px 12px;
1719 - min-height: 40px;
1720 - border: none;
1721 - background: transparent;
1722 - color: inherit;
1723 - font-size: 14px;
1724 - line-height: 1.3;
1725 - text-align: left;
1726 - cursor: pointer;
1727 - border-radius: 6px;
1728 - transition: background 0.12s ease;
1729 - text-decoration: none;
1730 - box-sizing: border-box;
1731 -}
1732 -.mxchat-menu-item:hover,
1733 -.mxchat-menu-item:focus {
1734 - background: rgba(127, 127, 127, 0.18);
1735 - outline: none;
1736 -}
1737 -.mxchat-menu-item-icon {
1738 - display: inline-flex;
1739 - align-items: center;
1740 - justify-content: center;
1741 - width: 16px;
1742 - height: 16px;
1743 - color: inherit;
1744 - opacity: 0.85;
1745 - flex-shrink: 0;
1746 -}
1747 -.mxchat-menu-item-icon svg {
1748 - width: 16px;
1749 - height: 16px;
1750 - display: block;
1751 -}
1752 -.mxchat-menu-item-label {
1753 - flex: 1;
1754 - color: inherit;
1755 -}
1756 -
1757 -/* RTL — flip the dropdown anchor edge */
1758 -[dir="rtl"] .mxchat-header-menu,
1759 -.mxchat-chatbot-wrapper[dir="rtl"] .mxchat-header-menu {
1760 - right: auto;
1761 - left: 0;
1762 -}
1763 -
1764 -/* ============================================================
1765 - Print stylesheet — clean conversation export (v3.2.9 rebuild)
1766 - Goal: full-page-width transcript, no right-edge clipping, all chrome hidden.
1767 - ============================================================ */
1768 -@media print {
1769 - body * {
1770 - visibility: hidden !important;
1771 - }
1772 - .mxchat-conversation-print-root,
1773 - .mxchat-conversation-print-root * {
1774 - visibility: visible !important;
1775 - }
1776 - .mxchat-conversation-print-root {
1777 - position: absolute !important;
1778 - left: 0 !important;
1779 - top: 0 !important;
1780 - right: 0 !important;
1781 - width: 100% !important;
1782 - max-width: 100% !important;
1783 - height: auto !important;
1784 - min-height: 0 !important;
1785 - max-height: none !important;
1786 - overflow: visible !important;
1787 - background: #fff !important;
1788 - color: #000 !important;
1789 - padding: 24px 32px !important;
1790 - margin: 0 !important;
1791 - box-shadow: none !important;
1792 - border: none !important;
1793 - transform: none !important;
1794 - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
1795 - direction: inherit;
1796 - box-sizing: border-box !important;
1797 - }
1798 - .mxchat-conversation-print-root::before {
1799 - content: attr(data-print-title);
1800 - display: block;
1801 - font-size: 16px;
1802 - font-weight: 600;
1803 - color: #000;
1804 - border-bottom: 1px solid #000;
1805 - padding-bottom: 8px;
1806 - margin-bottom: 16px;
1807 - }
1808 - .mxchat-conversation-print-root .user-message,
1809 - .mxchat-conversation-print-root .bot-message,
1810 - .mxchat-conversation-print-root .agent-message {
1811 - display: block !important;
1812 - position: static !important;
1813 - float: none !important;
1814 - width: 100% !important;
1815 - max-width: 100% !important;
1816 - min-width: 0 !important;
1817 - background: transparent !important;
1818 - color: #000 !important;
1819 - border: none !important;
1820 - border-radius: 0 !important;
1821 - box-shadow: none !important;
1822 - padding: 8px 0 !important;
1823 - margin: 0 0 12px 0 !important;
1824 - page-break-inside: avoid;
1825 - overflow-wrap: anywhere;
1826 - word-break: break-word;
1827 - box-sizing: border-box !important;
1828 - }
1829 - .mxchat-conversation-print-root .user-message *,
1830 - .mxchat-conversation-print-root .bot-message *,
1831 - .mxchat-conversation-print-root .agent-message * {
1832 - max-width: 100% !important;
1833 - box-sizing: border-box !important;
1834 - color: #000 !important;
1835 - }
1836 - .mxchat-conversation-print-root .user-message::before {
1837 - content: "You: ";
1838 - font-weight: 600;
1839 - color: #000;
1840 - }
1841 - .mxchat-conversation-print-root .bot-message::before {
1842 - content: "Bot: ";
1843 - font-weight: 600;
1844 - color: #000;
1845 - }
1846 - .mxchat-conversation-print-root .agent-message::before {
1847 - content: "Agent: ";
1848 - font-weight: 600;
1849 - color: #000;
1850 - }
1851 - .mxchat-conversation-print-root pre,
1852 - .mxchat-conversation-print-root code {
1853 - background: #f4f4f4 !important;
1854 - color: #000 !important;
1855 - border: 1px solid #ddd !important;
1856 - white-space: pre-wrap !important;
1857 - word-wrap: break-word !important;
1858 - overflow-wrap: anywhere !important;
1859 - max-width: 100% !important;
1860 - box-sizing: border-box !important;
1861 - }
1862 - .mxchat-conversation-print-root img,
1863 - .mxchat-conversation-print-root .image-gallery img {
1864 - max-width: 100% !important;
1865 - height: auto !important;
1866 - }
1867 - .mxchat-conversation-print-root a {
1868 - color: #000 !important;
1869 - text-decoration: underline;
1870 - word-break: break-all;
1871 - }
1872 - /* Hide widget chrome inside the transcript */
1873 - .mxchat-conversation-print-root .mxchat-copy-button,
1874 - .mxchat-conversation-print-root .thinking-dots,
1875 - .mxchat-conversation-print-root .temporary-message,
1876 - .mxchat-conversation-print-root .mxchat-product-card button,
1877 - .mxchat-conversation-print-root .mxchat-popular-questions,
1878 - .mxchat-conversation-print-root .mxchat-input-container,
1879 - .mxchat-conversation-print-root .mxchat-top-bar,
1880 - .mxchat-conversation-print-root .mxchat-toolbar,
1881 - .mxchat-conversation-print-root .mxchat-header-menu-wrap,
1882 - .mxchat-conversation-print-root .mxchat-header-menu,
1883 - .mxchat-conversation-print-root .mxchat-menu-trigger {
1884 - display: none !important;
1885 - }
1886 - /* Page setup */
1887 - @page {
1888 - margin: 0.5in;
1889 - size: auto;
1890 - }
1891 1451 }