PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.0.4
MxChat – AI Chatbot & Content Generation for WordPress v3.0.4
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.0.4, at css/chat-style.css

1,536 lines 34.1 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-code-block-container {
294 margin: 16px 0;
295 border-radius: 8px;
296 background: rgba(255, 255, 255, 0.1);
297 border: 1px solid rgba(255, 255, 255, 0.2);
298 overflow: hidden;
299 font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Courier New', monospace;
300 }
301
302 .mxchat-code-header {
303 display: flex;
304 justify-content: space-between;
305 align-items: center;
306 background: rgba(255, 255, 255, 0.15);
307 padding: 8px 12px;
308 border-bottom: 1px solid rgba(255, 255, 255, 0.2);
309 font-size: 11px;
310 min-height: 36px;
311 }
312
313 .mxchat-code-language {
314 color: rgba(255, 255, 255, 0.8);
315 font-weight: 600;
316 text-transform: uppercase;
317 letter-spacing: 0.5px;
318 font-size: 10px;
319 }
320
321 .mxchat-copy-button {
322 background: rgba(255, 255, 255, 0.2);
323 color: white;
324 border: 1px solid rgba(255, 255, 255, 0.3);
325 padding: 4px 8px;
326 border-radius: 4px;
327 font-size: 10px;
328 cursor: pointer;
329 transition: all 0.2s ease;
330 min-height: 24px;
331 line-height: 1;
332 }
333
334 .mxchat-copy-button:hover {
335 background: rgba(255, 255, 255, 0.3);
336 border-color: rgba(255, 255, 255, 0.4);
337 }
338
339 .mxchat-copy-button:active {
340 background: rgba(255, 255, 255, 0.4);
341 }
342
343 .mxchat-code-block {
344 margin: 0;
345 padding: 16px;
346 background: rgba(0, 0, 0, 0.3);
347 overflow-x: auto;
348 font-size: 13px;
349 line-height: 1.4;
350 white-space: pre;
351 border: none;
352 }
353
354 .mxchat-code-block code {
355 font-family: inherit;
356 font-size: inherit;
357 background: none !important;
358 padding: 0 !important;
359 border: none !important;
360 color: rgba(255, 255, 255, 0.95) !important;
361 display: block;
362 }
363
364 .mxchat-inline-code {
365 background: rgba(255, 255, 255, 0.2) !important;
366 padding: 2px 6px !important;
367 border-radius: 3px !important;
368 font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Courier New', monospace !important;
369 font-size: 0.85em !important;
370 color: #81c784 !important;
371 border: 1px solid rgba(255, 255, 255, 0.3) !important;
372 }
373
374 /* ========================================
375 TOOLBAR SYSTEM
376 ======================================== */
377 .active-pdf-container,
378 .active-word-container {
379 display: inline-flex;
380 align-items: center;
381 max-width: 200px;
382 margin: 0;
383 padding: 0;
384 line-height: 13px;
385 }
386
387 .active-pdf-name,
388 .active-word-name {
389 font-size: 11px;
390 white-space: nowrap;
391 overflow: hidden;
392 text-overflow: ellipsis;
393 }
394
395 .remove-pdf-btn,
396 .remove-word-btn,
397 .toolbar-perplexity {
398 background: none;
399 border: none;
400 padding: 2px;
401 margin-left: 4px;
402 cursor: pointer;
403 transition: opacity 0.2s;
404 line-height: 13px;
405 }
406
407 .remove-pdf-btn:hover,
408 .remove-word-btn:hover,
409 .toolbar-perplexity:hover {
410 opacity: 1;
411 background: none;
412 }
413
414 .mxchat-chatbot .chat-toolbar {
415 display: flex;
416 gap: 10px;
417 padding: 8px;
418 background: none;
419 align-items: end;
420 }
421
422 .mxchat-chatbot .toolbar-btn {
423 background: none;
424 border: none;
425 padding: 0;
426 cursor: pointer;
427 width: 16px;
428 height: 16px;
429 align-items: center;
430 justify-content: center;
431 opacity: 0.6;
432 transition: opacity 0.2s;
433 margin: 0;
434 min-width: 0;
435 box-shadow: none;
436 }
437
438 .mxchat-chatbot .toolbar-btn svg {
439 width: 100%;
440 height: 100%;
441 }
442
443 .mxchat-chatbot .toolbar-btn:hover {
444 opacity: 1;
445 background: none;
446 border: none;
447 box-shadow: none;
448 }
449
450 .mxchat-chatbot .toolbar-btn:disabled {
451 opacity: 0.3;
452 cursor: not-allowed;
453 background: none;
454 border: none;
455 }
456
457 .toolbar-btn.active {
458 background-color: rgba(120, 115, 245, 0.2);
459 box-shadow: 0 0 0 2px rgba(120, 115, 245, 0.4);
460 }
461
462 .active-perplexity-container {
463 display: flex;
464 align-items: center;
465 margin-left: 8px;
466 font-size: 12px;
467 }
468
469 .perplexity-search-btn {
470 display: none;
471 }
472
473 .perplexity-search-btn.active {
474 opacity: 1;
475 }
476
477 /* ========================================
478 POPULAR QUESTIONS SYSTEM
479 ======================================== */
480 .mxchat-popular-questions {
481 padding: 0 10px 10px;
482 transition: all 0.3s ease;
483 margin-bottom: 12px;
484 position: relative;
485 }
486
487 .mxchat-popular-questions-title {
488 font-size: 14px;
489 line-height: 24px;
490 font-weight: bold;
491 color: #212121;
492 margin-bottom: 10px;
493 }
494
495 .mxchat-popular-questions-container {
496 position: relative;
497 display: flex;
498 flex-direction: column;
499 max-height: 200px;
500 overflow-y: auto;
501 padding: 0 10px 10px;
502 scrollbar-width: thin;
503 scrollbar-color: #212121 #f1f1f1;
504 transition: all 0.3s ease;
505 gap: 8px;
506 }
507
508 .mxchat-popular-questions.collapsed {
509 padding: 0;
510 margin: 0;
511 }
512
513 .mxchat-popular-questions.collapsed .mxchat-popular-questions-container {
514 flex-direction: row;
515 justify-content: center;
516 align-items: center;
517 padding: 0;
518 max-height: 40px;
519 overflow: visible;
520 }
521
522 .mxchat-popular-questions.collapsed .mxchat-popular-question {
523 display: none;
524 }
525
526 .mxchat-popular-questions.collapsed .questions-collapse-btn {
527 display: none;
528 }
529
530 /* MISSING - These need to be inside the container context: */
531 .mxchat-popular-questions .mxchat-popular-questions-container .questions-toggle-btn {
532 background: none;
533 border: none;
534 padding: 0;
535 margin: 0;
536 cursor: pointer;
537 transition: all 0.2s ease;
538 color: #212121;
539 display: none; /* Hidden by default when open */
540 align-items: center;
541 justify-content: center;
542 width: 32px;
543 height: 32px;
544 box-shadow: none;
545 outline: none;
546 }
547
548 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn {
549 background: none;
550 border: none;
551 padding: 0;
552 margin: 0px; /* Center and add bottom margin */
553 cursor: pointer;
554 transition: all 0.2s ease;
555 color: #212121;
556 display: none; /* Hidden by default */
557 align-items: center;
558 justify-content: center;
559 width: 32px;
560 height: 32px;
561 box-shadow: none;
562 outline: none;
563 align-self: center; /* Center in flex container */
564 order: -1; /* Make sure it appears first */
565 }
566
567 .questions-toggle-btn:hover,
568 .questions-collapse-btn:hover,
569 .questions-toggle-btn:focus,
570 .questions-collapse-btn:focus,
571 .questions-toggle-btn:active,
572 .questions-collapse-btn:active {
573 background: none;
574 border: none;
575 box-shadow: none;
576 outline: none;
577 }
578
579 .questions-toggle-btn svg,
580 .questions-collapse-btn svg {
581 transition: transform 0.2s ease;
582 fill: none;
583 width: 25px;
584 height: 25px;
585 }
586
587 .questions-toggle-btn:hover svg,
588 .questions-collapse-btn:hover svg {
589 opacity: 0.7;
590 }
591
592 .mxchat-popular-questions.collapsed .questions-toggle-btn {
593 display: flex;
594 }
595
596 .mxchat-popular-questions.has-been-collapsed .questions-collapse-btn {
597 display: flex;
598 align-self: center;
599 order: -1;
600 }
601
602 .mxchat-popular-question {
603 padding: 12px 20px;
604 background-color: #f5f5f5;
605 border: 1px solid #bbb;
606 border-radius: 8px;
607 color: #212121;
608 font-size: 14px;
609 line-height: 24px;
610 cursor: pointer;
611 text-align: initial;
612 transition: all 0.3s ease;
613 margin-bottom: 0;
614 box-shadow: none;
615 }
616
617 .mxchat-popular-question:hover {
618 background-color: #eaeaea;
619 border-color: #999;
620 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
621 transform: translateY(-1px);
622 }
623
624 .mxchat-popular-question:focus {
625 outline: none;
626 background-color: #e0e0e0;
627 border-color: #777;
628 box-shadow: 0 0 0 3px rgba(100, 149, 237, 0.5);
629 }
630
631 .mxchat-popular-question:active {
632 background-color: #d8d8d8;
633 border-color: #666;
634 box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
635 transform: translateY(0);
636 }
637
638 .mxchat-popular-questions-container::-webkit-scrollbar {
639 width: 8px;
640 }
641
642 .mxchat-popular-questions-container::-webkit-scrollbar-track {
643 background: #f1f1f1;
644 border-radius: 4px;
645 }
646
647 .mxchat-popular-questions-container::-webkit-scrollbar-thumb {
648 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
649 border-radius: 4px;
650 }
651
652 .mxchat-popular-questions-container::-webkit-scrollbar-thumb:hover {
653 background: linear-gradient(135deg, #d164ce, #6568d8, #2daeb8);
654 }
655
656 /* ========================================
657 CORE CHATBOT UI
658 ======================================== */
659 .invisible {
660 display: none;
661 opacity: 0;
662 pointer-events: none;
663 }
664
665 .mxchat-chatbot{
666 background: #fff;
667 overflow: hidden;
668 position: relative;
669 display: flex;
670 flex-direction: column;
671 flex-grow: 1;
672 min-height: 0; /* Allow flex shrinking */
673 box-sizing: border-box;
674 }
675
676 .chat-container {
677 display: flex;
678 flex-direction: column;
679 flex-grow: 1;
680 min-height: 0; /* Critical for flex overflow scrolling */
681 height: 100%;
682 }
683
684 .chat-box {
685 flex-grow: 1;
686 overflow-y: auto;
687 padding: 10px;
688 margin-bottom: 0;
689 font-size: 1rem;
690 min-height: 0; /* Critical for flex overflow scrolling */
691 }
692
693 .chat-box::-webkit-scrollbar {
694 width: 5px;
695 }
696
697 .chat-box::-webkit-scrollbar-thumb {
698 background-color: #212121;
699 border-radius: 20px;
700 }
701
702 .bot-message,
703 .user-message {
704 margin-bottom: 15px;
705 padding: 10px;
706 display: inline-block;
707 max-width: 85%;
708 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
709 font-size: 14px;
710 line-height: 24px;
711 }
712
713 .user-message {
714 background: #fff;
715 color: #212121;
716 text-align: left;
717 float: right;
718 clear: both;
719 border-radius: 18px 0 18px 18px;
720 word-wrap: break-word;
721 border: 1px solid rgba(226, 232, 255, 0.2);
722 }
723
724 .user-message p {
725 margin: 0;
726 }
727
728 .mxchat-chatbot .chat-container .chat-box .bot-message {
729 float: left;
730 clear: both;
731 border: 1px solid rgba(226, 232, 255, 0.2);
732 border-radius: 0 18px 18px;
733 background: #212121;
734 color: #fff;
735 overflow-x: hidden;
736 }
737
738 .mxchat-chatbot .chat-container .chat-box .agent-message {
739 text-align: left;
740 float: left;
741 clear: both;
742 border: 1px solid rgba(226, 232, 255, 0.2);
743 border-radius: 0 18px 18px;
744 background: #212121;
745 color: #fff;
746 overflow-x: hidden;
747 margin-bottom: 15px;
748 padding: 10px;
749 display: inline-block;
750 max-width: 85%;
751 font-size: 14px;
752 line-height: 24px;
753 box-shadow: -2px 2px rgba(250, 115, 230, 0.6), -4px 4px rgba(120, 115, 245, 0.6);
754 }
755
756 .bot-message p {
757 margin: 0 0 1em 0;
758 }
759
760 .bot-message p:last-child {
761 margin-bottom: 0;
762 }
763
764 .bot-message {
765 white-space: pre-line;
766 }
767
768 .bot-message a {
769 color: #ffffff;
770 text-decoration: underline !important;
771 }
772
773 .bot-message a:hover {
774 color: #e0e0e0;
775 text-decoration: underline;
776 }
777
778 .bot-message a:visited {
779 color: #ffffff;
780 }
781
782 .system-message {
783 padding: 8px 12px;
784 margin: 8px 0;
785 background-color: rgba(120, 115, 245, 0.1);
786 border-radius: 8px;
787 color: #555;
788 font-style: italic;
789 font-size: 14px;
790 text-align: center;
791 }
792
793 .mxchat-chatbot-wrapper {
794 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
795 border-radius: 10px;
796 display: flex;
797 flex-direction: column;
798 height: 100%;
799 width: 100%;
800 min-height: 0; /* Allow flex shrinking */
801 overflow: hidden;
802 }
803
804 /* ========================================
805 INPUT & CONTROLS
806 ======================================== */
807 .mxchat-chatbot .chat-container .input-container {
808 position: relative;
809 display: flex;
810 align-items: center;
811 padding-right: 40px;
812 border: 1px solid #ccc;
813 border-radius: 10px;
814 margin: 0 10px 10px;
815 }
816
817 .mxchat-chatbot .chat-container .input-container .chat-input {
818 flex-grow: 1;
819 color: #212121;
820 line-height: 24px;
821 background: transparent;
822 margin-bottom: 0;
823 width: 100%;
824 min-height: 20px;
825 max-height: 65px;
826 resize: none;
827 overflow-y: auto;
828 font-size: 16px;
829 border: none;
830 border-radius: 5px;
831 box-sizing: border-box;
832 padding: 0.4em 0.5em;
833 outline: none;
834 border-radius: 10px;
835 }
836
837 .chat-input::-webkit-scrollbar {
838 width: 8px;
839 }
840
841 .chat-input::-webkit-scrollbar-track {
842 background: #f1f1f1;
843 border-radius: 4px;
844 }
845
846 .chat-input::-webkit-scrollbar-thumb {
847 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
848 border-radius: 4px;
849 }
850
851 .chat-input::-webkit-scrollbar-thumb:hover {
852 background: linear-gradient(135deg, #d164ce, #6568d8, #2daeb8);
853 }
854
855 .chat-input {
856 scrollbar-width: thin;
857 scrollbar-color: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1) #f1f1f1;
858 }
859
860 .mxchat-chatbot .chat-container .input-container .send-button {
861 position: absolute;
862 right: 10px;
863 top: 50%;
864 transform: translateY(-50%);
865 border: none;
866 border-radius: 50%;
867 width: 30px;
868 height: 30px;
869 display: flex;
870 align-items: center;
871 justify-content: center;
872 background: transparent !important;
873 padding: 5px;
874 margin: 0;
875 transition: background-color 0.3s;
876 color: #fff;
877 font-size: 1rem;
878 cursor: pointer;
879 font-weight: 700;
880 }
881
882 .send-button svg {
883 width: 25px;
884 height: 25px;
885 pointer-events: none;
886 }
887
888 .send-button:hover {
889 opacity: 0.8;
890 }
891
892 .mxchat-chatbot .spinner {
893 animation: rotate 2s linear infinite;
894 width: 20px;
895 height: 20px;
896 }
897
898 .mxchat-chatbot .spinner circle {
899 stroke: #212121;
900 stroke-linecap: round;
901 animation: dash 1.5s ease-in-out infinite;
902 }
903
904 @keyframes rotate {
905 100% {
906 transform: rotate(360deg);
907 }
908 }
909
910 @keyframes dash {
911 0% {
912 stroke-dasharray: 1, 150;
913 stroke-dashoffset: 0;
914 }
915 50% {
916 stroke-dasharray: 90, 150;
917 stroke-dashoffset: -35;
918 }
919 100% {
920 stroke-dasharray: 90, 150;
921 stroke-dashoffset: -124;
922 }
923 }
924
925 /* ========================================
926 FLOATING CHATBOT & CONTROLS
927 ======================================== */
928 .chatbot-title-container {
929 display: flex;
930 align-items: center;
931 justify-content: space-between;
932 width: 100%;
933 }
934
935 .chatbot-title-group {
936 display: flex;
937 align-items: center;
938 gap: 8px;
939 }
940
941 .chat-mode-indicator {
942 font-size: 12px;
943 margin-right: 8px;
944 padding: 4px 8px;
945 border-radius: 12px;
946 background: rgba(255, 255, 255, 0.2);
947 color: #ffffff;
948 }
949
950 .floating-chatbot {
951 position: fixed;
952 bottom: 25px;
953 right: 25px;
954 width: 375px;
955 /* Use viewport-aware height with fallbacks */
956 height: min(625px, calc(100vh - 50px)); /* 50px = 25px top + 25px bottom margin */
957 height: min(625px, calc(100dvh - 50px)); /* Dynamic viewport height for mobile browsers */
958 max-height: calc(100vh - 50px);
959 max-height: calc(100dvh - 50px); /* Fallback for browsers supporting dvh */
960 box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
961 border-radius: 20px;
962 overflow: hidden;
963 display: flex;
964 flex-direction: column;
965 z-index: 100000;
966 transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
967 transform: translateY(20%);
968 opacity: 0;
969 pointer-events: none;
970 }
971
972 .floating-chatbot.visible {
973 transform: translateY(0);
974 opacity: 1;
975 pointer-events: auto;
976 }
977
978 /* ========================================
979 EMBEDDED CHATBOT (Shortcode)
980 ======================================== */
981 /* Embedded chatbots are NOT inside .floating-chatbot wrapper */
982 /* Apply fixed height like floating widget so quick questions overlay properly */
983 .mxchat-chatbot-wrapper:not(.floating-chatbot .mxchat-chatbot-wrapper) {
984 height: 500px;
985 max-height: 500px;
986 }
987
988 /* Hide the minimize/exit button for embedded chatbots - it doesn't make sense */
989 .mxchat-chatbot-wrapper:not(.floating-chatbot .mxchat-chatbot-wrapper) .exit-chat {
990 display: none !important;
991 }
992
993 .floating-chatbot-button.hidden,
994 .exit-chat span {
995 display: none !important;
996 }
997
998 .chatbot-top-bar button.exit-chat:hover {
999 background: none;
1000 }
1001 .visible {
1002 display: flex;
1003 }
1004
1005 .floating-chatbot-button {
1006 transition: opacity 1s ease-in-out;
1007 font-size: 1.25rem;
1008 position: fixed;
1009 bottom: 30px;
1010 right: 25px;
1011 background-color: #212121;
1012 color: #fff;
1013 width: 60px;
1014 height: 60px;
1015 border-radius: 50%;
1016 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
1017 justify-content: center;
1018 align-items: center;
1019 cursor: pointer;
1020 transition: 0.3s;
1021 z-index: 100000;
1022 display: flex;
1023 }
1024
1025 .floating-chatbot-button img {
1026 max-width: 100%;
1027 max-height: 100%;
1028 width: auto;
1029 height: auto;
1030 }
1031
1032 .chatbot-top-bar {
1033 background: #212121;
1034 }
1035
1036 .mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1037 background: transparent;
1038 border: none;
1039 opacity: 0.8;
1040 padding: 0;
1041 min-width: 20px;
1042 }
1043
1044 .mxchat-chatbot-wrapper .chatbot-top-bar {
1045 cursor: pointer;
1046 color: #fff;
1047 padding: 10px;
1048 border-top-left-radius: 10px;
1049 border-top-right-radius: 10px;
1050 display: flex;
1051 justify-content: space-between;
1052 align-items: start;
1053 }
1054
1055 .mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1056 font-size: 16px;
1057 line-height: 25px;
1058 padding: 10px;
1059 margin: 0;
1060 font-family: 'Plus Jakarta Sans', sans-serif;
1061 font-weight: bold;
1062 }
1063
1064 .exit-chat {
1065 border: none;
1066 background: transparent;
1067 cursor: pointer;
1068 display: flex;
1069 align-items: center;
1070 justify-content: center;
1071 padding: 5px;
1072 margin-left: auto;
1073 opacity: 0.8;
1074 min-width: 20px;
1075 }
1076
1077 .exit-chat svg {
1078 fill: white;
1079 width: 24px;
1080 height: 24px;
1081 transform: rotate(270deg);
1082 }
1083
1084 .mxchat-chatbot-wrapper .chatbot-footer {
1085 text-align: center;
1086 padding-bottom: 10px;
1087 font-size: 0.85em;
1088 }
1089
1090 .mxchat-chatbot-wrapper .chatbot-footer .privacy-notice {
1091 font-size: 12px;
1092 margin: 0;
1093 color: #71717a;
1094 }
1095
1096 .mxchat-chatbot-wrapper .chatbot-footer .privacy-notice a {
1097 color: #0073aa;
1098 text-decoration: underline;
1099 font-size: 12px;
1100 }
1101
1102 .mxchat-chatbot-wrapper .chatbot-footer .powered-by {
1103 text-decoration: none;
1104 color: inherit;
1105 font-weight: 700;
1106 }
1107
1108 .mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
1109 text-decoration: underline;
1110 }
1111
1112 /* ========================================
1113 THINKING DOTS ANIMATION
1114 ======================================== */
1115 .chat-box .bot-message.temporary-message .thinking-dots-container {
1116 display: flex;
1117 justify-content: center;
1118 align-items: center;
1119 overflow: hidden;
1120 height: 20px;
1121 position: relative;
1122 z-index: 1;
1123 flex-shrink: 0;
1124 }
1125
1126 .chat-box .bot-message.temporary-message .thinking-dots {
1127 display: flex;
1128 justify-content: center;
1129 align-items: center;
1130 height: 90%;
1131 gap: 5px;
1132 flex-shrink: 0;
1133 }
1134
1135 .chat-box .bot-message.temporary-message .thinking-dots .dot {
1136 height: 6px;
1137 width: 6px;
1138 margin: 0 3px;
1139 background-color: #fff;
1140 border-radius: 50%;
1141 display: inline-block;
1142 animation: bounce 1.4s ease-in-out infinite both;
1143 vertical-align: middle;
1144 }
1145
1146 .chat-box .bot-message.temporary-message .thinking-dots .dot:first-child {
1147 animation-delay: -0.32s;
1148 }
1149
1150 .chat-box .bot-message.temporary-message .thinking-dots .dot:nth-child(2) {
1151 animation-delay: -0.16s;
1152 }
1153
1154 @keyframes bounce {
1155 0%, 100%, 80% {
1156 transform: scale(1);
1157 }
1158 40% {
1159 transform: scale(1.5);
1160 }
1161 }
1162
1163 /* ========================================
1164 PRE-CHAT MESSAGE
1165 ======================================== */
1166 .pre-chat-message {
1167 position: fixed;
1168 bottom: 85px;
1169 right: 30px;
1170 background-color: #fff;
1171 color: #212121;
1172 padding: 10px;
1173 box-shadow: 0px 0px 10px rgba(150, 150, 150, 0.3);
1174 border-radius: 5px;
1175 z-index: 1000;
1176 cursor: pointer;
1177 max-width: 325px;
1178 font-size: 14px;
1179 display: none;
1180 margin-bottom: 10px;
1181 }
1182
1183 .pre-chat-message .close-pre-chat-message {
1184 position: absolute;
1185 top: -6px;
1186 right: -6px;
1187 background-color: #ccc;
1188 border: none;
1189 color: #212121;
1190 font-size: 14px;
1191 cursor: pointer;
1192 border-radius: 50%;
1193 width: 20px;
1194 min-width: 20px;
1195 min-height: 20px;
1196 height: 20px;
1197 display: flex;
1198 align-items: center;
1199 justify-content: center;
1200 padding: 0;
1201 line-height: 1;
1202 }
1203
1204 /* ========================================
1205 VIEWPORT HEIGHT CONSTRAINTS
1206 Handles bookmarks bar, browser zoom, and smaller screens
1207 ======================================== */
1208 @media screen and (max-height: 700px) {
1209 .floating-chatbot {
1210 bottom: 15px;
1211 height: calc(100vh - 30px);
1212 height: calc(100dvh - 30px);
1213 max-height: calc(100vh - 30px);
1214 max-height: calc(100dvh - 30px);
1215 }
1216
1217 .floating-chatbot-button {
1218 bottom: 20px;
1219 }
1220
1221 .pre-chat-message {
1222 bottom: 75px;
1223 }
1224 }
1225
1226 @media screen and (max-height: 550px) {
1227 .floating-chatbot {
1228 bottom: 10px;
1229 height: calc(100vh - 20px);
1230 height: calc(100dvh - 20px);
1231 max-height: calc(100vh - 20px);
1232 max-height: calc(100dvh - 20px);
1233 }
1234
1235 /* Reduce padding in tight spaces */
1236 .mxchat-popular-questions {
1237 padding: 0 8px 5px;
1238 margin-bottom: 8px;
1239 }
1240
1241 .mxchat-popular-question {
1242 padding: 8px 12px;
1243 font-size: 13px;
1244 line-height: 20px;
1245 }
1246
1247 .mxchat-chatbot .chat-container .input-container {
1248 margin: 0 8px 8px;
1249 }
1250
1251 .mxchat-chatbot-wrapper .chatbot-footer {
1252 padding-bottom: 5px;
1253 }
1254 }
1255
1256 /* ========================================
1257 MOBILE RESPONSIVE
1258 ======================================== */
1259 @media screen and (max-width: 782px) {
1260 .mxchat-search-results {
1261 gap: 15px !important;
1262 }
1263
1264 .mxchat-search-intro {
1265 font-size: 15px !important;
1266 }
1267
1268 .mxchat-search-title {
1269 font-size: 15px !important;
1270 }
1271
1272 .mxchat-search-description {
1273 font-size: 13px !important;
1274 }
1275 }
1276
1277 @media (max-width: 550px) {
1278 .questions-toggle-btn,
1279 .questions-collapse-btn {
1280 width: 28px;
1281 height: 28px;
1282 }
1283
1284 .questions-toggle-btn svg,
1285 .questions-collapse-btn svg {
1286 width: 22px;
1287 height: 22px;
1288 }
1289
1290 .pre-chat-message {
1291 bottom: 70px;
1292 right: 15px;
1293 }
1294
1295 .chat-input {
1296 width: calc(100% - 70px);
1297 }
1298
1299 .bot-message,
1300 .user-message {
1301 padding: 10px;
1302 max-width: 95%;
1303 }
1304
1305 .floating-chatbot-button {
1306 bottom: 15px;
1307 right: 10px;
1308 }
1309
1310 .floating-chatbot {
1311 width: 100vw;
1312 /* Use multiple fallbacks for maximum browser compatibility */
1313 height: 100vh; /* Fallback */
1314 height: calc(var(--vh, 1vh) * 100); /* JS-set custom property fallback */
1315 height: 100dvh; /* Modern dynamic viewport height */
1316 max-height: 100vh;
1317 max-height: 100dvh;
1318 margin: 0;
1319 padding: 0;
1320 position: fixed;
1321 bottom: 0;
1322 top: 0;
1323 left: 0;
1324 right: 0;
1325 border-radius: 0;
1326 }
1327
1328 .mxchat-chatbot-wrapper .chatbot-top-bar {
1329 border-top-left-radius: 0;
1330 border-top-right-radius: 0;
1331 }
1332 }
1333
1334
1335
1336 pre {
1337 background-color: #000;
1338 border: 1px solid #ddd;
1339 border-radius: 20px;
1340 border-left: 3px solid #9e7aff;
1341 color: #fff;
1342 page-break-inside: avoid;
1343 font-family: monospace;
1344 font-size: 15px;
1345 line-height: 1.6;
1346 margin-bottom: 1.6em;
1347 max-width: 100%;
1348 overflow: auto;
1349 padding: 1em 1.5em;
1350 display: block;
1351 word-wrap: break-word;
1352 }
1353
1354 .copy-btn {
1355 padding: 10px 20px;
1356 border: none;
1357 border-radius: 4px;
1358 background-color: #9e7aff;
1359 transition: background-color 0.3s;
1360 color: #fff;
1361 font-size: 1rem;
1362 cursor: pointer;
1363 font-weight: 700;
1364 margin-bottom: 10px;
1365 }
1366
1367 .copy-btn:hover {
1368 opacity: 0.8;
1369 }
1370
1371 .mxchat-product-card {
1372 display: flex;
1373 flex-direction: column;
1374 align-items: center;
1375 margin: 10px 0;
1376 padding: 10px;
1377 border-radius: 5px;
1378 background-color: inherit;
1379 }
1380
1381 .mxchat-product-card img.mxchat-product-image {
1382 max-width: 100%;
1383 height: auto;
1384 margin-bottom: 5px;
1385 border-radius: 4px;
1386 }
1387
1388 .mxchat-product-card h3.mxchat-product-name {
1389 font-size: 16px;
1390 font-weight: bold;
1391 margin: 5px 0;
1392 text-align: center;
1393 color: inherit;
1394 }
1395
1396 .mxchat-product-card .mxchat-product-price {
1397 color: inherit;
1398 font-weight: bold;
1399 margin-bottom: 5px;
1400 }
1401
1402 .mxchat-product-card .mxchat-product-description {
1403 font-size: 14px;
1404 text-align: center;
1405 margin-bottom: 10px;
1406 color: inherit;
1407 }
1408
1409 .mxchat-product-card .mxchat-add-to-cart-button {
1410 background-color: #212121;
1411 color: #fff;
1412 padding: 8px 12px;
1413 border: none;
1414 cursor: pointer;
1415 border-radius: 12px;
1416 transition: background-color 0.3s ease;
1417 }
1418
1419 .mxchat-product-card .mxchat-add-to-cart-button:hover {
1420 background-color: #212121;
1421 }
1422
1423 .mxchat-image-gallery {
1424 display: flex;
1425 flex-wrap: wrap;
1426 gap: 10px;
1427 justify-content: center;
1428 }
1429
1430 .mxchat-image-item {
1431 text-align: center;
1432 overflow: hidden;
1433 word-wrap: break-word;
1434 }
1435
1436 .mxchat-image-title {
1437 display: block;
1438 font-size: 14px;
1439 color: inherit;
1440 white-space: nowrap;
1441 overflow: hidden;
1442 text-overflow: ellipsis;
1443 max-width: 100%;
1444 }
1445
1446 .mxchat-image-link {
1447 text-decoration: none;
1448 }
1449
1450 .mxchat-image-thumbnail {
1451 max-width: 100%;
1452 height: auto;
1453 border-radius: 5px;
1454 transition: transform 0.3s;
1455 }
1456
1457 .mxchat-image-thumbnail:hover {
1458 transform: scale(1.05);
1459 }
1460
1461 .mxchat-generated-image {
1462 max-width: 100%;
1463 height: auto;
1464 border-radius: 0 0 8px 8px;
1465 }
1466
1467 #widget_icon, #widget_icon_2, #widget_icon_3, #widget_icon_5, #widget_icon_4, #widget_icon_6, #widget_icon_7 {
1468 padding: 10px;
1469 }
1470
1471 #widget_icon_10 {
1472 fill: #fff;
1473 }
1474
1475
1476 /* This selector with more context - showing the collapse button in certain states */
1477 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn {
1478 background: none;
1479 border: none;
1480 padding: 0;
1481 margin: 0px;
1482 cursor: pointer;
1483 transition: all 0.2s ease;
1484 color: #212121;
1485 display: none; /* Hidden by default */
1486 align-items: center;
1487 justify-content: center;
1488 width: 32px;
1489 height: 32px;
1490 box-shadow: none;
1491 outline: none;
1492 align-self: center; /* THIS IS MISSING */
1493 order: -1; /* THIS IS MISSING */
1494 }
1495
1496 /* ALL hover states - these are MISSING from your new CSS */
1497 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover {
1498 background: none;
1499 border: none;
1500 box-shadow: none;
1501 }
1502
1503 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:focus {
1504 outline: none;
1505 background: none;
1506 border: none;
1507 box-shadow: none;
1508 }
1509
1510 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:active {
1511 background: none;
1512 border: none;
1513 box-shadow: none;
1514 }
1515
1516 /* SVG styles - these are MISSING */
1517 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn svg {
1518 fill: none;
1519 transition: transform 0.2s ease;
1520 width: 25px;
1521 height: 25px;
1522 }
1523
1524 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover svg {
1525 opacity: 0.7;
1526 }
1527
1528 /* THE CRITICAL DISPLAY RULE - this shows when it's been collapsed before */
1529 .mxchat-popular-questions.has-been-collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1530 display: flex;
1531 }
1532
1533 /* Hide when actually collapsed */
1534 .mxchat-popular-questions.collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1535 display: none;
1536 }