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

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