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

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