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

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

1,955 lines 44.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ========================================
2 NOTIFICATION SYSTEM
3 ======================================== */
4 .chat-notification-badge {
5 animation: notification-pulse 2s infinite;
6 box-shadow: 0 0 0 rgba(255, 68, 68, 0.4);
7 transition: all 0.3s ease;
8 }
9
10 @keyframes notification-pulse {
11 0% {
12 transform: scale(1);
13 box-shadow: 0 0 0 0 rgba(255, 68, 68, 0.4);
14 }
15 70% {
16 transform: scale(1.1);
17 box-shadow: 0 0 0 10px rgba(255, 68, 68, 0);
18 }
19 100% {
20 transform: scale(1);
21 box-shadow: 0 0 0 0 rgba(255, 68, 68, 0);
22 }
23 }
24
25 /* ========================================
26 EMAIL COLLECTION SYSTEM
27 ======================================== */
28 .email-blocker {
29 display: flex;
30 flex-direction: column;
31 align-items: center;
32 justify-content: center;
33 border-radius: 12px;
34 padding: 30px 20px;
35 max-width: 100%;
36 margin: auto;
37 text-align: center;
38 animation: fadeIn 0.5s ease-in-out;
39 }
40
41 .email-blocker-header {
42 margin-bottom: 20px;
43 }
44
45 .email-blocker-logo {
46 max-width: 80px;
47 margin-bottom: 10px;
48 }
49
50 .email-blocker h2 {
51 font-size: 24px;
52 font-weight: bold;
53 color: #333333;
54 margin-bottom: 10px;
55 }
56
57 .email-blocker p {
58 font-size: 16px;
59 color: #555555;
60 margin-bottom: 20px;
61 }
62
63 .email-blocker input[type="email"],
64 .email-blocker .mxchat-name-input {
65 width: 100%;
66 padding: 12px;
67 margin-bottom: 15px;
68 border: 1px solid #ddd;
69 border-radius: 8px;
70 font-size: 16px;
71 color: #333333;
72 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
73 transition: border-color 0.3s, box-shadow 0.3s;
74 }
75
76 .email-blocker input[type="email"]:focus,
77 .email-blocker .mxchat-name-input:focus {
78 border-color: #0073aa;
79 box-shadow: 0 0 8px rgba(0, 115, 170, 0.3);
80 outline: none;
81 }
82
83 .email-blocker button {
84 background-color: #0073aa;
85 color: #ffffff;
86 padding: 12px 20px;
87 border: none;
88 border-radius: 8px;
89 font-size: 16px;
90 font-weight: bold;
91 cursor: pointer;
92 width: 100%;
93 transition: background-color 0.3s, transform 0.2s;
94 }
95
96 .email-blocker button:hover {
97 background-color: #005177;
98 transform: translateY(-2px);
99 }
100
101 .email-blocker-footer {
102 margin-top: 20px;
103 font-size: 12px;
104 color: #888888;
105 }
106
107 .sr-only {
108 position: absolute;
109 width: 1px;
110 height: 1px;
111 padding: 0;
112 margin: -1px;
113 overflow: hidden;
114 clip: rect(0, 0, 0, 0);
115 white-space: nowrap;
116 border: 0;
117 }
118
119 @keyframes fadeIn {
120 from {
121 opacity: 0;
122 transform: translateY(-10px);
123 }
124 to {
125 opacity: 1;
126 transform: translateY(0);
127 }
128 }
129
130 .mxchat-chatbot-wrapper {
131 display: none;
132 }
133
134 /* ========================================
135 SEARCH RESULTS SYSTEM
136 ======================================== */
137 .chatbot-title-icon {
138 width: 24px;
139 height: 24px;
140 object-fit: contain;
141 }
142
143 .wp-admin .mxchat-search-results,
144 .wp-content .mxchat-search-results,
145 .site-content .mxchat-search-results,
146 .mxchat-search-results {
147 display: flex;
148 flex-direction: column;
149 gap: 20px;
150 margin: 15px 0;
151 font-size: 14px !important;
152 }
153
154 .mxchat-search-intro {
155 font-size: 16px !important;
156 margin: 0 0 15px 0 !important;
157 line-height: 1.4 !important;
158 font-weight: normal !important;
159 }
160
161 .mxchat-search-item {
162 padding: 15px !important;
163 border-radius: 8px !important;
164 background: #ffffff !important;
165 border: 1px solid rgba(0, 0, 0, 0.1) !important;
166 }
167
168 .mxchat-search-header {
169 display: flex !important;
170 align-items: center !important;
171 gap: 8px !important;
172 margin-bottom: 8px !important;
173 }
174
175 .mxchat-site-icon {
176 width: 16px !important;
177 height: 16px !important;
178 flex-shrink: 0 !important;
179 }
180
181 .mxchat-site-url {
182 font-size: 13px !important;
183 color: #555 !important;
184 line-height: 1 !important;
185 }
186
187 .mxchat-search-content {
188 display: flex !important;
189 flex-direction: column !important;
190 gap: 10px !important;
191 }
192
193 .mxchat-search-title {
194 font-size: 16px !important;
195 line-height: 1.4 !important;
196 margin: 0 !important;
197 padding: 0 !important;
198 font-weight: 600 !important;
199 }
200
201 .mxchat-search-title a {
202 text-decoration: none !important;
203 color: #000 !important;
204 }
205
206 .mxchat-search-title a:hover {
207 text-decoration: underline !important;
208 }
209
210 .mxchat-search-thumbnail {
211 max-width: 200px !important;
212 margin: 10px 0 !important;
213 }
214
215 .mxchat-search-thumbnail img {
216 max-width: 100% !important;
217 height: auto !important;
218 border-radius: 4px !important;
219 }
220
221 .mxchat-search-description {
222 font-size: 14px !important;
223 line-height: 1.6 !important;
224 color: #333 !important;
225 margin: 0 !important;
226 padding: 0 !important;
227 }
228
229 /* ========================================
230 ENHANCED HEADINGS & TEXT STYLING
231 ======================================== */
232 .bot-message .chat-heading {
233 color: inherit;
234 margin: 16px 0 12px 0 !important;
235 font-weight: bold !important;
236 line-height: 1.3 !important;
237 }
238
239 .bot-message h1.chat-heading,
240 .chat-heading-1 {
241 font-size: 1.5em !important;
242 border-bottom: 2px solid rgba(255, 255, 255, 0.3) !important;
243 padding-bottom: 8px !important;
244 }
245
246 .bot-message h2.chat-heading,
247 .chat-heading-2 {
248 font-size: 1.25em !important;
249 border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
250 padding-bottom: 6px !important;
251 }
252
253 .bot-message h3.chat-heading,
254 .chat-heading-3 {
255 font-size: 1.125em !important;
256 }
257
258 .bot-message h4.chat-heading,
259 .chat-heading-4 {
260 font-size: 1em !important;
261 }
262
263 .bot-message h5.chat-heading,
264 .chat-heading-5 {
265 font-size: 0.875em !important;
266 text-transform: uppercase !important;
267 letter-spacing: 0.5px !important;
268 }
269
270 .bot-message h6.chat-heading,
271 .chat-heading-6 {
272 font-size: 0.75em !important;
273 text-transform: uppercase !important;
274 letter-spacing: 0.5px !important;
275 }
276
277 .bot-message strong {
278 font-weight: bold !important;
279 }
280
281 .bot-message em {
282 font-style: italic !important;
283 }
284
285 .bot-message del {
286 text-decoration: line-through !important;
287 opacity: 0.7;
288 }
289
290 /* ========================================
291 CODE BLOCKS & INLINE CODE
292 ======================================== */
293 .mxchat-table-wrapper {
294 overflow-x: auto;
295 margin: 12px 0;
296 -webkit-overflow-scrolling: touch;
297 }
298
299 .mxchat-table {
300 width: 100%;
301 border-collapse: collapse;
302 font-size: 0.9em;
303 line-height: 1.4;
304 }
305
306 .mxchat-table th,
307 .mxchat-table td {
308 padding: 8px 12px;
309 border: 1px solid rgba(128, 128, 128, 0.3);
310 word-break: break-word;
311 }
312
313 .mxchat-table thead th {
314 font-weight: 600;
315 background: rgba(128, 128, 128, 0.15);
316 }
317
318 .mxchat-table tbody tr:nth-child(even) {
319 background: rgba(128, 128, 128, 0.05);
320 }
321
322 .mxchat-code-block-container {
323 margin: 16px 0;
324 border-radius: 8px;
325 background: rgba(255, 255, 255, 0.1);
326 border: 1px solid rgba(255, 255, 255, 0.2);
327 overflow: hidden;
328 font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Courier New', monospace;
329 }
330
331 .mxchat-code-header {
332 display: flex;
333 justify-content: space-between;
334 align-items: center;
335 background: rgba(255, 255, 255, 0.15);
336 padding: 8px 12px;
337 border-bottom: 1px solid rgba(255, 255, 255, 0.2);
338 font-size: 11px;
339 min-height: 36px;
340 }
341
342 .mxchat-code-language {
343 color: rgba(255, 255, 255, 0.8);
344 font-weight: 600;
345 text-transform: uppercase;
346 letter-spacing: 0.5px;
347 font-size: 10px;
348 }
349
350 .mxchat-copy-button {
351 background: rgba(255, 255, 255, 0.2);
352 color: white;
353 border: 1px solid rgba(255, 255, 255, 0.3);
354 padding: 4px 8px;
355 border-radius: 4px;
356 font-size: 10px;
357 cursor: pointer;
358 transition: all 0.2s ease;
359 min-height: 24px;
360 line-height: 1;
361 }
362
363 .mxchat-copy-button:hover {
364 background: rgba(255, 255, 255, 0.3);
365 border-color: rgba(255, 255, 255, 0.4);
366 }
367
368 .mxchat-copy-button:active {
369 background: rgba(255, 255, 255, 0.4);
370 }
371
372 .mxchat-code-block {
373 margin: 0;
374 padding: 16px;
375 background: rgba(0, 0, 0, 0.3);
376 overflow-x: auto;
377 font-size: 13px;
378 line-height: 1.4;
379 white-space: pre;
380 border: none;
381 }
382
383 .mxchat-code-block code {
384 font-family: inherit;
385 font-size: inherit;
386 background: none !important;
387 padding: 0 !important;
388 border: none !important;
389 color: rgba(255, 255, 255, 0.95) !important;
390 display: block;
391 }
392
393 .mxchat-inline-code {
394 background: rgba(255, 255, 255, 0.2) !important;
395 padding: 2px 6px !important;
396 border-radius: 3px !important;
397 font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Courier New', monospace !important;
398 font-size: 0.85em !important;
399 color: #81c784 !important;
400 border: 1px solid rgba(255, 255, 255, 0.3) !important;
401 }
402
403 /* ========================================
404 TOOLBAR SYSTEM
405 ======================================== */
406 .active-pdf-container,
407 .active-word-container {
408 display: inline-flex;
409 align-items: center;
410 max-width: 200px;
411 margin: 0;
412 padding: 0;
413 line-height: 13px;
414 }
415
416 .active-pdf-name,
417 .active-word-name {
418 font-size: 11px;
419 white-space: nowrap;
420 overflow: hidden;
421 text-overflow: ellipsis;
422 }
423
424 .remove-pdf-btn,
425 .remove-word-btn,
426 .toolbar-perplexity {
427 background: none;
428 border: none;
429 padding: 2px;
430 margin-left: 4px;
431 cursor: pointer;
432 transition: opacity 0.2s;
433 line-height: 13px;
434 }
435
436 .remove-pdf-btn:hover,
437 .remove-word-btn:hover,
438 .toolbar-perplexity:hover {
439 opacity: 1;
440 background: none;
441 }
442
443 .mxchat-chatbot .chat-toolbar {
444 display: flex;
445 gap: 10px;
446 padding: 8px;
447 background: none;
448 align-items: end;
449 }
450
451 .mxchat-chatbot .toolbar-btn {
452 background: none;
453 border: none;
454 padding: 0;
455 cursor: pointer;
456 width: 16px;
457 height: 16px;
458 align-items: center;
459 justify-content: center;
460 opacity: 0.6;
461 transition: opacity 0.2s;
462 margin: 0;
463 min-width: 0;
464 box-shadow: none;
465 }
466
467 .mxchat-chatbot .toolbar-btn svg {
468 width: 100%;
469 height: 100%;
470 }
471
472 .mxchat-chatbot .toolbar-btn:hover {
473 opacity: 1;
474 background: none;
475 border: none;
476 box-shadow: none;
477 }
478
479 .mxchat-chatbot .toolbar-btn:disabled {
480 opacity: 0.3;
481 cursor: not-allowed;
482 background: none;
483 border: none;
484 }
485
486 .toolbar-btn.active {
487 background-color: rgba(120, 115, 245, 0.2);
488 box-shadow: 0 0 0 2px rgba(120, 115, 245, 0.4);
489 }
490
491 .active-perplexity-container {
492 display: flex;
493 align-items: center;
494 margin-left: 8px;
495 font-size: 12px;
496 }
497
498 .perplexity-search-btn {
499 display: none;
500 }
501
502 .perplexity-search-btn.active {
503 opacity: 1;
504 }
505
506 /* ========================================
507 POPULAR QUESTIONS SYSTEM
508 ======================================== */
509 .mxchat-popular-questions {
510 padding: 0 10px 10px;
511 transition: all 0.3s ease;
512 margin-bottom: 12px;
513 position: relative;
514 }
515
516 .mxchat-popular-questions-title {
517 font-size: 14px;
518 line-height: 24px;
519 font-weight: bold;
520 color: #212121;
521 margin-bottom: 10px;
522 }
523
524 .mxchat-popular-questions-container {
525 position: relative;
526 display: flex;
527 flex-direction: column;
528 max-height: 200px;
529 overflow-y: auto;
530 padding: 0 10px 10px;
531 scrollbar-width: thin;
532 scrollbar-color: #212121 #f1f1f1;
533 transition: all 0.3s ease;
534 gap: 8px;
535 }
536
537 .mxchat-popular-questions.collapsed {
538 padding: 0;
539 margin: 0;
540 }
541
542 .mxchat-popular-questions.collapsed .mxchat-popular-questions-container {
543 flex-direction: row;
544 justify-content: center;
545 align-items: center;
546 padding: 0;
547 max-height: 40px;
548 overflow: visible;
549 }
550
551 .mxchat-popular-questions.collapsed .mxchat-popular-question {
552 display: none;
553 }
554
555 .mxchat-popular-questions.collapsed .questions-collapse-btn {
556 display: none;
557 }
558
559 /* MISSING - These need to be inside the container context: */
560 .mxchat-popular-questions .mxchat-popular-questions-container .questions-toggle-btn {
561 background: none;
562 border: none;
563 padding: 0;
564 margin: 0;
565 cursor: pointer;
566 transition: all 0.2s ease;
567 color: #212121;
568 display: none; /* Hidden by default when open */
569 align-items: center;
570 justify-content: center;
571 width: 32px;
572 height: 32px;
573 box-shadow: none;
574 outline: none;
575 }
576
577 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn {
578 background: none;
579 border: none;
580 padding: 0;
581 margin: 0px; /* Center and add bottom margin */
582 cursor: pointer;
583 transition: all 0.2s ease;
584 color: #212121;
585 display: none; /* Hidden by default */
586 align-items: center;
587 justify-content: center;
588 width: 32px;
589 height: 32px;
590 box-shadow: none;
591 outline: none;
592 align-self: center; /* Center in flex container */
593 order: -1; /* Make sure it appears first */
594 }
595
596 .questions-toggle-btn:hover,
597 .questions-collapse-btn:hover,
598 .questions-toggle-btn:focus,
599 .questions-collapse-btn:focus,
600 .questions-toggle-btn:active,
601 .questions-collapse-btn:active {
602 background: none;
603 border: none;
604 box-shadow: none;
605 outline: none;
606 }
607
608 .questions-toggle-btn svg,
609 .questions-collapse-btn svg {
610 transition: transform 0.2s ease;
611 fill: none;
612 stroke: #212121;
613 width: 25px;
614 height: 25px;
615 }
616
617 .questions-toggle-btn:hover svg,
618 .questions-collapse-btn:hover svg {
619 opacity: 0.7;
620 }
621
622 .mxchat-popular-questions.collapsed .questions-toggle-btn {
623 display: flex;
624 }
625
626 .mxchat-popular-questions.has-been-collapsed .questions-collapse-btn {
627 display: flex;
628 align-self: center;
629 order: -1;
630 }
631
632 .mxchat-popular-question {
633 padding: 12px 20px;
634 background-color: #f5f5f5;
635 border: 1px solid #bbb;
636 border-radius: 8px;
637 color: #212121;
638 font-size: 14px;
639 line-height: 24px;
640 cursor: pointer;
641 text-align: initial;
642 transition: all 0.3s ease;
643 margin-bottom: 0;
644 box-shadow: none;
645 }
646
647 .mxchat-popular-question:hover {
648 background-color: #eaeaea;
649 border-color: #999;
650 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
651 transform: translateY(-1px);
652 }
653
654 .mxchat-popular-question:focus {
655 outline: none;
656 background-color: #e0e0e0;
657 border-color: #777;
658 box-shadow: 0 0 0 3px rgba(100, 149, 237, 0.5);
659 }
660
661 .mxchat-popular-question:active {
662 background-color: #d8d8d8;
663 border-color: #666;
664 box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
665 transform: translateY(0);
666 }
667
668 .mxchat-popular-questions-container::-webkit-scrollbar {
669 width: 8px;
670 }
671
672 .mxchat-popular-questions-container::-webkit-scrollbar-track {
673 background: #f1f1f1;
674 border-radius: 4px;
675 }
676
677 .mxchat-popular-questions-container::-webkit-scrollbar-thumb {
678 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
679 border-radius: 4px;
680 }
681
682 .mxchat-popular-questions-container::-webkit-scrollbar-thumb:hover {
683 background: linear-gradient(135deg, #d164ce, #6568d8, #2daeb8);
684 }
685
686 /* ========================================
687 CORE CHATBOT UI
688 ======================================== */
689 .invisible {
690 display: none;
691 opacity: 0;
692 pointer-events: none;
693 }
694
695 .mxchat-chatbot{
696 background: #fff;
697 overflow: hidden;
698 position: relative;
699 display: flex;
700 flex-direction: column;
701 flex-grow: 1;
702 min-height: 0; /* Allow flex shrinking */
703 box-sizing: border-box;
704 }
705
706 .chat-container {
707 display: flex;
708 flex-direction: column;
709 flex-grow: 1;
710 min-height: 0; /* Critical for flex overflow scrolling */
711 height: 100%;
712 }
713
714 .chat-box {
715 flex-grow: 1;
716 overflow-y: auto;
717 padding: 10px;
718 margin-bottom: 0;
719 font-size: 1rem;
720 min-height: 0; /* Critical for flex overflow scrolling */
721 }
722
723 .chat-box::-webkit-scrollbar {
724 width: 5px;
725 }
726
727 .chat-box::-webkit-scrollbar-thumb {
728 background-color: #212121;
729 border-radius: 20px;
730 }
731
732 .bot-message,
733 .user-message {
734 margin-bottom: 15px;
735 padding: 10px;
736 display: inline-block;
737 max-width: 85%;
738 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
739 font-size: 14px;
740 line-height: 24px;
741 }
742
743 .user-message {
744 background: #fff;
745 color: #212121;
746 text-align: left;
747 float: right;
748 clear: both;
749 border-radius: 18px 0 18px 18px;
750 word-wrap: break-word;
751 border: 1px solid rgba(226, 232, 255, 0.2);
752 }
753
754 .user-message p {
755 margin: 0;
756 }
757
758 .mxchat-chatbot .chat-container .chat-box .bot-message {
759 float: left;
760 clear: both;
761 border: 1px solid rgba(226, 232, 255, 0.2);
762 border-radius: 0 18px 18px;
763 background: #212121;
764 color: #fff;
765 overflow-x: hidden;
766 }
767
768 .mxchat-chatbot .chat-container .chat-box .agent-message {
769 text-align: left;
770 float: left;
771 clear: both;
772 border: 1px solid rgba(226, 232, 255, 0.2);
773 border-radius: 0 18px 18px;
774 background: #212121;
775 color: #fff;
776 overflow-x: hidden;
777 margin-bottom: 15px;
778 padding: 10px;
779 display: inline-block;
780 max-width: 85%;
781 font-size: 14px;
782 line-height: 24px;
783 box-shadow: -2px 2px rgba(250, 115, 230, 0.6), -4px 4px rgba(120, 115, 245, 0.6);
784 }
785
786 .bot-message p {
787 margin: 0 0 1em 0;
788 }
789
790 .bot-message p:last-child {
791 margin-bottom: 0;
792 }
793
794 .bot-message {
795 white-space: pre-line;
796 }
797
798 .bot-message a {
799 color: #ffffff;
800 text-decoration: underline !important;
801 }
802
803 .bot-message a:hover {
804 color: #e0e0e0;
805 text-decoration: underline;
806 }
807
808 .bot-message a:visited {
809 color: #ffffff;
810 }
811
812 .system-message {
813 padding: 8px 12px;
814 margin: 8px 0;
815 background-color: rgba(120, 115, 245, 0.1);
816 border-radius: 8px;
817 color: #555;
818 font-style: italic;
819 font-size: 14px;
820 text-align: center;
821 }
822
823 .mxchat-chatbot-wrapper {
824 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
825 border-radius: 10px;
826 display: flex;
827 flex-direction: column;
828 height: 100%;
829 width: 100%;
830 min-height: 0; /* Allow flex shrinking */
831 overflow: hidden;
832 }
833
834 /* ========================================
835 INPUT & CONTROLS
836 ======================================== */
837 .mxchat-chatbot .chat-container .input-container {
838 position: relative;
839 display: flex;
840 align-items: center;
841 padding-right: 40px;
842 border: 1px solid #ccc;
843 border-radius: 10px;
844 margin: 0 10px 10px;
845 }
846
847 .mxchat-chatbot .chat-container .input-container .chat-input {
848 flex-grow: 1;
849 color: #212121;
850 line-height: 24px;
851 background: transparent;
852 margin-bottom: 0;
853 width: 100%;
854 min-height: 20px;
855 max-height: 65px;
856 resize: none;
857 overflow-y: auto;
858 font-size: 16px;
859 border: none;
860 border-radius: 5px;
861 box-sizing: border-box;
862 padding: 0.4em 0.5em;
863 outline: none;
864 border-radius: 10px;
865 }
866
867 .chat-input::-webkit-scrollbar {
868 width: 8px;
869 }
870
871 .chat-input::-webkit-scrollbar-track {
872 background: #f1f1f1;
873 border-radius: 4px;
874 }
875
876 .chat-input::-webkit-scrollbar-thumb {
877 background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
878 border-radius: 4px;
879 }
880
881 .chat-input::-webkit-scrollbar-thumb:hover {
882 background: linear-gradient(135deg, #d164ce, #6568d8, #2daeb8);
883 }
884
885 .chat-input {
886 scrollbar-width: thin;
887 scrollbar-color: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1) #f1f1f1;
888 }
889
890 .mxchat-chatbot .chat-container .input-container .send-button {
891 position: absolute;
892 right: 10px;
893 top: 50%;
894 transform: translateY(-50%);
895 border: none;
896 border-radius: 50%;
897 width: 30px;
898 height: 30px;
899 display: flex;
900 align-items: center;
901 justify-content: center;
902 background: transparent !important;
903 padding: 5px;
904 margin: 0;
905 transition: background-color 0.3s;
906 color: #fff;
907 font-size: 1rem;
908 cursor: pointer;
909 font-weight: 700;
910 }
911
912 .send-button svg {
913 width: 25px;
914 height: 25px;
915 pointer-events: none;
916 }
917
918 .send-button:hover {
919 opacity: 0.8;
920 }
921
922 .mxchat-chatbot .spinner {
923 animation: rotate 2s linear infinite;
924 width: 20px;
925 height: 20px;
926 }
927
928 .mxchat-chatbot .spinner circle {
929 stroke: #212121;
930 stroke-linecap: round;
931 animation: dash 1.5s ease-in-out infinite;
932 }
933
934 @keyframes rotate {
935 100% {
936 transform: rotate(360deg);
937 }
938 }
939
940 @keyframes dash {
941 0% {
942 stroke-dasharray: 1, 150;
943 stroke-dashoffset: 0;
944 }
945 50% {
946 stroke-dasharray: 90, 150;
947 stroke-dashoffset: -35;
948 }
949 100% {
950 stroke-dasharray: 90, 150;
951 stroke-dashoffset: -124;
952 }
953 }
954
955 /* ========================================
956 FLOATING CHATBOT & CONTROLS
957 ======================================== */
958 .chatbot-title-container {
959 display: flex;
960 align-items: center;
961 justify-content: space-between;
962 gap: 10px;
963 flex: 1 1 auto;
964 min-width: 0;
965 }
966
967 .chatbot-title-group {
968 display: flex;
969 align-items: center;
970 gap: 8px;
971 }
972
973 .chat-mode-indicator {
974 font-size: 12px;
975 line-height: 1;
976 margin-right: 0;
977 padding: 4px 9px;
978 border-radius: 999px;
979 background: rgba(255, 255, 255, 0.18);
980 color: #ffffff;
981 display: inline-flex;
982 align-items: center;
983 height: 22px;
984 white-space: nowrap;
985 flex: 0 0 auto;
986 }
987
988 .floating-chatbot {
989 position: fixed;
990 bottom: 25px;
991 right: 25px;
992 width: 375px;
993 /* Use viewport-aware height with fallbacks */
994 height: min(625px, calc(100vh - 50px)); /* 50px = 25px top + 25px bottom margin */
995 height: min(625px, calc(100dvh - 50px)); /* Dynamic viewport height for mobile browsers */
996 max-height: calc(100vh - 50px);
997 max-height: calc(100dvh - 50px); /* Fallback for browsers supporting dvh */
998 box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
999 border-radius: 20px;
1000 overflow: hidden;
1001 display: flex;
1002 flex-direction: column;
1003 z-index: 100000;
1004 transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
1005 transform: translateY(20%);
1006 opacity: 0;
1007 pointer-events: none;
1008 }
1009
1010 .floating-chatbot.visible {
1011 transform: translateY(0);
1012 opacity: 1;
1013 pointer-events: auto;
1014 }
1015
1016 /* ========================================
1017 EMBEDDED CHATBOT (Shortcode)
1018 ======================================== */
1019 /* Embedded chatbots are NOT inside .floating-chatbot wrapper */
1020 /* Apply fixed height like floating widget so quick questions overlay properly */
1021 .mxchat-chatbot-wrapper:not(.floating-chatbot .mxchat-chatbot-wrapper) {
1022 height: 500px;
1023 max-height: 500px;
1024 }
1025
1026 /* Hide the minimize/exit button for embedded chatbots - it doesn't make sense */
1027 .mxchat-chatbot-wrapper:not(.floating-chatbot .mxchat-chatbot-wrapper) .exit-chat {
1028 display: none !important;
1029 }
1030
1031 .floating-chatbot-button.hidden,
1032 .exit-chat span {
1033 display: none !important;
1034 }
1035
1036 .chatbot-top-bar button.exit-chat:hover {
1037 background: rgba(255, 255, 255, 0.12);
1038 }
1039 .visible {
1040 display: flex;
1041 }
1042
1043 .floating-chatbot-button {
1044 transition: opacity 1s ease-in-out;
1045 font-size: 1.25rem;
1046 position: fixed;
1047 bottom: 30px;
1048 right: 25px;
1049 background-color: #212121;
1050 color: #fff;
1051 width: 60px;
1052 height: 60px;
1053 border-radius: 50%;
1054 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
1055 justify-content: center;
1056 align-items: center;
1057 cursor: pointer;
1058 transition: 0.3s;
1059 z-index: 100000;
1060 display: flex;
1061 }
1062
1063 .floating-chatbot-button:focus-visible {
1064 outline: 3px solid #7873f5;
1065 outline-offset: 3px;
1066 }
1067
1068 .floating-chatbot-button img {
1069 max-width: 100%;
1070 max-height: 100%;
1071 width: auto;
1072 height: auto;
1073 }
1074
1075 .chatbot-top-bar {
1076 background: #212121;
1077 }
1078
1079 .mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1080 background: transparent;
1081 border: none;
1082 opacity: 0.8;
1083 padding: 0;
1084 width: 32px;
1085 height: 32px;
1086 min-width: 32px;
1087 flex: 0 0 auto;
1088 border-radius: 6px;
1089 transition: opacity 0.15s ease, background 0.15s ease;
1090 }
1091
1092 .mxchat-chatbot-wrapper .chatbot-top-bar {
1093 cursor: pointer;
1094 color: #fff;
1095 padding: 8px 12px;
1096 min-height: 48px;
1097 gap: 8px;
1098 border-top-left-radius: 10px;
1099 border-top-right-radius: 10px;
1100 display: flex;
1101 justify-content: space-between;
1102 align-items: center;
1103 }
1104
1105 .mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1106 font-size: 15px;
1107 line-height: 1.2;
1108 padding: 0;
1109 margin: 0;
1110 font-family: 'Plus Jakarta Sans', sans-serif;
1111 font-weight: 600;
1112 }
1113
1114 .exit-chat {
1115 border: none;
1116 background: transparent;
1117 cursor: pointer;
1118 display: inline-flex;
1119 align-items: center;
1120 justify-content: center;
1121 padding: 0;
1122 margin-left: auto;
1123 opacity: 0.8;
1124 width: 32px;
1125 height: 32px;
1126 min-width: 32px;
1127 flex: 0 0 auto;
1128 }
1129
1130 .exit-chat svg {
1131 width: 18px;
1132 height: 18px;
1133 fill: none;
1134 stroke: currentColor;
1135 }
1136
1137 .mxchat-chatbot-wrapper .chatbot-footer {
1138 text-align: center;
1139 padding-bottom: 10px;
1140 font-size: 0.85em;
1141 }
1142
1143 .mxchat-chatbot-wrapper .chatbot-footer .privacy-notice {
1144 font-size: 12px;
1145 margin: 0;
1146 color: #71717a;
1147 }
1148
1149 .mxchat-chatbot-wrapper .chatbot-footer .privacy-notice a {
1150 color: #0073aa;
1151 text-decoration: underline;
1152 font-size: 12px;
1153 }
1154
1155 .mxchat-chatbot-wrapper .chatbot-footer .powered-by {
1156 text-decoration: none;
1157 color: inherit;
1158 font-weight: 700;
1159 }
1160
1161 .mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
1162 text-decoration: underline;
1163 }
1164
1165 /* ========================================
1166 INIT LOADER (shown while chat initializes)
1167 ======================================== */
1168 .mxchat-init-loader {
1169 display: flex;
1170 align-items: center;
1171 justify-content: center;
1172 flex-grow: 1;
1173 min-height: 0;
1174 animation: fadeIn 0.3s ease-in-out;
1175 }
1176
1177 .mxchat-init-loader-dots {
1178 display: flex;
1179 gap: 8px;
1180 }
1181
1182 .mxchat-init-loader-dots .dot {
1183 width: 8px;
1184 height: 8px;
1185 border-radius: 50%;
1186 background-color: #888;
1187 animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1188 }
1189
1190 .mxchat-init-loader-dots .dot:nth-child(1) {
1191 animation-delay: -0.32s;
1192 }
1193
1194 .mxchat-init-loader-dots .dot:nth-child(2) {
1195 animation-delay: -0.16s;
1196 }
1197
1198 /* ========================================
1199 THINKING DOTS ANIMATION
1200 ======================================== */
1201 .chat-box .bot-message.temporary-message .thinking-dots-container {
1202 display: flex;
1203 justify-content: center;
1204 align-items: center;
1205 overflow: hidden;
1206 height: 20px;
1207 position: relative;
1208 z-index: 1;
1209 flex-shrink: 0;
1210 }
1211
1212 .chat-box .bot-message.temporary-message .thinking-dots {
1213 display: flex;
1214 justify-content: center;
1215 align-items: center;
1216 height: 90%;
1217 gap: 5px;
1218 flex-shrink: 0;
1219 }
1220
1221 .chat-box .bot-message.temporary-message .thinking-dots .dot {
1222 height: 6px;
1223 width: 6px;
1224 margin: 0 3px;
1225 background-color: #fff;
1226 border-radius: 50%;
1227 display: inline-block;
1228 animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1229 vertical-align: middle;
1230 }
1231
1232 .chat-box .bot-message.temporary-message .thinking-dots .dot:first-child {
1233 animation-delay: -0.32s;
1234 }
1235
1236 .chat-box .bot-message.temporary-message .thinking-dots .dot:nth-child(2) {
1237 animation-delay: -0.16s;
1238 }
1239
1240 @keyframes mxchat-dot-bounce {
1241 0%, 100%, 80% {
1242 transform: scale(1);
1243 }
1244 40% {
1245 transform: scale(1.5);
1246 }
1247 }
1248
1249 /* ========================================
1250 PRE-CHAT MESSAGE
1251 ======================================== */
1252 .pre-chat-message {
1253 position: fixed;
1254 bottom: 85px;
1255 right: 30px;
1256 background-color: #fff;
1257 color: #212121;
1258 padding: 10px;
1259 box-shadow: 0px 0px 10px rgba(150, 150, 150, 0.3);
1260 border-radius: 5px;
1261 z-index: 1000;
1262 cursor: pointer;
1263 max-width: 325px;
1264 font-size: 14px;
1265 display: none;
1266 margin-bottom: 10px;
1267 }
1268
1269 .pre-chat-message .close-pre-chat-message {
1270 position: absolute;
1271 top: -6px;
1272 right: -6px;
1273 background-color: #ccc;
1274 border: none;
1275 color: #212121;
1276 font-size: 14px;
1277 cursor: pointer;
1278 border-radius: 50%;
1279 width: 20px;
1280 min-width: 20px;
1281 min-height: 20px;
1282 height: 20px;
1283 display: flex;
1284 align-items: center;
1285 justify-content: center;
1286 padding: 0;
1287 line-height: 1;
1288 }
1289
1290 /* ========================================
1291 VIEWPORT HEIGHT CONSTRAINTS
1292 Handles bookmarks bar, browser zoom, and smaller screens
1293 ======================================== */
1294 @media screen and (max-height: 700px) {
1295 .floating-chatbot {
1296 bottom: 15px;
1297 height: calc(100vh - 30px);
1298 height: calc(100dvh - 30px);
1299 max-height: calc(100vh - 30px);
1300 max-height: calc(100dvh - 30px);
1301 }
1302
1303 .floating-chatbot-button {
1304 bottom: 20px;
1305 }
1306
1307 .pre-chat-message {
1308 bottom: 75px;
1309 }
1310 }
1311
1312 @media screen and (max-height: 550px) {
1313 .floating-chatbot {
1314 bottom: 10px;
1315 height: calc(100vh - 20px);
1316 height: calc(100dvh - 20px);
1317 max-height: calc(100vh - 20px);
1318 max-height: calc(100dvh - 20px);
1319 }
1320
1321 /* Reduce padding in tight spaces */
1322 .mxchat-popular-questions {
1323 padding: 0 8px 5px;
1324 margin-bottom: 8px;
1325 }
1326
1327 .mxchat-popular-question {
1328 padding: 8px 12px;
1329 font-size: 13px;
1330 line-height: 20px;
1331 }
1332
1333 .mxchat-chatbot .chat-container .input-container {
1334 margin: 0 8px 8px;
1335 }
1336
1337 .mxchat-chatbot-wrapper .chatbot-footer {
1338 padding-bottom: 5px;
1339 }
1340 }
1341
1342 /* ========================================
1343 MOBILE RESPONSIVE
1344 ======================================== */
1345 @media screen and (max-width: 782px) {
1346 .mxchat-search-results {
1347 gap: 15px !important;
1348 }
1349
1350 .mxchat-search-intro {
1351 font-size: 15px !important;
1352 }
1353
1354 .mxchat-search-title {
1355 font-size: 15px !important;
1356 }
1357
1358 .mxchat-search-description {
1359 font-size: 13px !important;
1360 }
1361 }
1362
1363 @media (max-width: 550px) {
1364 .questions-toggle-btn,
1365 .questions-collapse-btn {
1366 width: 28px;
1367 height: 28px;
1368 }
1369
1370 .questions-toggle-btn svg,
1371 .questions-collapse-btn svg {
1372 width: 22px;
1373 height: 22px;
1374 }
1375
1376 .pre-chat-message {
1377 bottom: 70px;
1378 right: 15px;
1379 }
1380
1381 .chat-input {
1382 width: calc(100% - 70px);
1383 }
1384
1385 .bot-message,
1386 .user-message {
1387 padding: 10px;
1388 max-width: 95%;
1389 }
1390
1391 .floating-chatbot-button {
1392 bottom: 15px;
1393 right: 10px;
1394 }
1395
1396 .floating-chatbot {
1397 width: calc(100vw - 16px);
1398 /* Use multiple fallbacks for maximum browser compatibility */
1399 height: calc(100vh - 16px); /* Fallback */
1400 height: calc(var(--vh, 1vh) * 100 - 16px); /* JS-set custom property fallback */
1401 height: calc(100dvh - 16px); /* Modern dynamic viewport height */
1402 max-height: calc(100vh - 16px);
1403 max-height: calc(100dvh - 16px);
1404 margin: 0;
1405 padding: 0;
1406 position: fixed;
1407 bottom: 8px;
1408 top: auto;
1409 left: 8px;
1410 right: 8px;
1411 border-radius: 16px;
1412 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
1413 }
1414
1415 .floating-chatbot .mxchat-chatbot-wrapper {
1416 border-radius: 16px;
1417 overflow: hidden;
1418 }
1419
1420 .mxchat-chatbot-wrapper .chatbot-top-bar {
1421 border-top-left-radius: 16px;
1422 border-top-right-radius: 16px;
1423 }
1424 }
1425
1426
1427
1428 pre {
1429 background-color: #000;
1430 border: 1px solid #ddd;
1431 border-radius: 20px;
1432 border-left: 3px solid #9e7aff;
1433 color: #fff;
1434 page-break-inside: avoid;
1435 font-family: monospace;
1436 font-size: 15px;
1437 line-height: 1.6;
1438 margin-bottom: 1.6em;
1439 max-width: 100%;
1440 overflow: auto;
1441 padding: 1em 1.5em;
1442 display: block;
1443 word-wrap: break-word;
1444 }
1445
1446 .copy-btn {
1447 padding: 10px 20px;
1448 border: none;
1449 border-radius: 4px;
1450 background-color: #9e7aff;
1451 transition: background-color 0.3s;
1452 color: #fff;
1453 font-size: 1rem;
1454 cursor: pointer;
1455 font-weight: 700;
1456 margin-bottom: 10px;
1457 }
1458
1459 .copy-btn:hover {
1460 opacity: 0.8;
1461 }
1462
1463 .mxchat-product-card {
1464 display: flex;
1465 flex-direction: column;
1466 align-items: center;
1467 margin: 10px 0;
1468 padding: 10px;
1469 border-radius: 5px;
1470 background-color: inherit;
1471 }
1472
1473 .mxchat-product-card img.mxchat-product-image {
1474 max-width: 100%;
1475 height: auto;
1476 margin-bottom: 5px;
1477 border-radius: 4px;
1478 }
1479
1480 .mxchat-product-card h3.mxchat-product-name {
1481 font-size: 16px;
1482 font-weight: bold;
1483 margin: 5px 0;
1484 text-align: center;
1485 color: inherit;
1486 }
1487
1488 .mxchat-product-card .mxchat-product-price {
1489 color: inherit;
1490 font-weight: bold;
1491 margin-bottom: 5px;
1492 }
1493
1494 .mxchat-product-card .mxchat-product-description {
1495 font-size: 14px;
1496 text-align: center;
1497 margin-bottom: 10px;
1498 color: inherit;
1499 }
1500
1501 .mxchat-product-card .mxchat-add-to-cart-button {
1502 background-color: #212121;
1503 color: #fff;
1504 padding: 8px 12px;
1505 border: none;
1506 cursor: pointer;
1507 border-radius: 12px;
1508 transition: background-color 0.3s ease;
1509 }
1510
1511 .mxchat-product-card .mxchat-add-to-cart-button:hover {
1512 background-color: #212121;
1513 }
1514
1515 .mxchat-image-gallery {
1516 display: flex;
1517 flex-wrap: wrap;
1518 gap: 10px;
1519 justify-content: center;
1520 }
1521
1522 .mxchat-image-item {
1523 text-align: center;
1524 overflow: hidden;
1525 word-wrap: break-word;
1526 }
1527
1528 .mxchat-image-title {
1529 display: block;
1530 font-size: 14px;
1531 color: inherit;
1532 white-space: nowrap;
1533 overflow: hidden;
1534 text-overflow: ellipsis;
1535 max-width: 100%;
1536 }
1537
1538 .mxchat-image-link {
1539 text-decoration: none;
1540 }
1541
1542 .mxchat-image-thumbnail {
1543 max-width: 100%;
1544 height: auto;
1545 border-radius: 5px;
1546 transition: transform 0.3s;
1547 }
1548
1549 .mxchat-image-thumbnail:hover {
1550 transform: scale(1.05);
1551 }
1552
1553 .mxchat-generated-image {
1554 max-width: 100%;
1555 height: auto;
1556 border-radius: 0 0 8px 8px;
1557 }
1558
1559 #widget_icon, #widget_icon_2, #widget_icon_3, #widget_icon_5, #widget_icon_4, #widget_icon_6, #widget_icon_7 {
1560 padding: 10px;
1561 }
1562
1563 #widget_icon_10 {
1564 fill: #fff;
1565 }
1566
1567
1568 /* This selector with more context - showing the collapse button in certain states */
1569 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn {
1570 background: none;
1571 border: none;
1572 padding: 0;
1573 margin: 0px;
1574 cursor: pointer;
1575 transition: all 0.2s ease;
1576 color: #212121;
1577 display: none; /* Hidden by default */
1578 align-items: center;
1579 justify-content: center;
1580 width: 32px;
1581 height: 32px;
1582 box-shadow: none;
1583 outline: none;
1584 align-self: center; /* THIS IS MISSING */
1585 order: -1; /* THIS IS MISSING */
1586 }
1587
1588 /* ALL hover states - these are MISSING from your new CSS */
1589 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover {
1590 background: none;
1591 border: none;
1592 box-shadow: none;
1593 }
1594
1595 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:focus {
1596 outline: none;
1597 background: none;
1598 border: none;
1599 box-shadow: none;
1600 }
1601
1602 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:active {
1603 background: none;
1604 border: none;
1605 box-shadow: none;
1606 }
1607
1608 /* SVG styles - these are MISSING */
1609 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn svg {
1610 fill: none;
1611 stroke: #212121;
1612 transition: transform 0.2s ease;
1613 width: 25px;
1614 height: 25px;
1615 }
1616
1617 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn:hover svg {
1618 opacity: 0.7;
1619 }
1620
1621 /* THE CRITICAL DISPLAY RULE - this shows when it's been collapsed before */
1622 .mxchat-popular-questions.has-been-collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1623 display: flex;
1624 }
1625
1626 /* Hide when actually collapsed */
1627 .mxchat-popular-questions.collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1628 display: none;
1629 }
1630
1631 /* ============================================================
1632 Header overflow menu — 3-dot kebab + dropdown (v3.2.9 / v3.2.10)
1633 Lives in .chatbot-top-bar to the LEFT of .exit-chat. Visual treatment
1634 mirrors .exit-chat: transparent, white-on-dark, 0.8 opacity, 5px pad.
1635
1636 v3.2.10: explicit `order` rules pin the visual order
1637 title (0) | kebab (1) | down-arrow (2)
1638 so the down-arrow is always the rightmost icon regardless of source
1639 order or which sibling has margin-left:auto.
1640 ============================================================ */
1641 .mxchat-chatbot-wrapper .chatbot-top-bar > .chatbot-title-container { order: 0; }
1642 .mxchat-chatbot-wrapper .chatbot-top-bar > .mxchat-header-menu-wrap { order: 1; }
1643 .mxchat-chatbot-wrapper .chatbot-top-bar > .exit-chat { order: 2; }
1644
1645 .mxchat-header-menu-wrap {
1646 position: relative;
1647 display: inline-flex;
1648 align-items: center;
1649 margin-left: auto; /* push kebab + arrow group to the right edge */
1650 }
1651 .mxchat-chatbot-wrapper .chatbot-top-bar .mxchat-header-menu-wrap ~ .exit-chat,
1652 .mxchat-chatbot-wrapper .chatbot-top-bar .mxchat-header-menu-wrap + .exit-chat {
1653 margin-left: 4px; /* even, snug gap between kebab and close */
1654 }
1655 .mxchat-chatbot-wrapper .chatbot-top-bar > .exit-chat:focus {
1656 background: rgba(255, 255, 255, 0.12);
1657 opacity: 1;
1658 outline: none;
1659 }
1660 .mxchat-header-btn {
1661 border: none;
1662 background: transparent;
1663 cursor: pointer;
1664 display: inline-flex;
1665 align-items: center;
1666 justify-content: center;
1667 padding: 0;
1668 opacity: 0.8;
1669 color: #fff;
1670 transition: opacity 0.15s ease, background 0.15s ease;
1671 border-radius: 6px;
1672 line-height: 0;
1673 width: 32px;
1674 height: 32px;
1675 min-width: 32px;
1676 flex: 0 0 auto;
1677 }
1678 .mxchat-header-btn:hover,
1679 .mxchat-header-btn:focus {
1680 opacity: 1;
1681 background: rgba(255, 255, 255, 0.12);
1682 outline: none;
1683 }
1684 .mxchat-header-btn[aria-expanded="true"] {
1685 opacity: 1;
1686 background: rgba(255, 255, 255, 0.12);
1687 }
1688 .mxchat-menu-trigger svg {
1689 width: 18px;
1690 height: 18px;
1691 }
1692
1693 .mxchat-header-menu {
1694 position: absolute;
1695 top: calc(100% + 6px);
1696 right: 0;
1697 min-width: 220px;
1698 background: var(--mxchat-menu-bg, #ffffff);
1699 color: var(--mxchat-menu-fg, #1a1a1a);
1700 border: 1px solid rgba(127, 127, 127, 0.20);
1701 border-radius: 10px;
1702 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 0 2px 6px rgba(0, 0, 0, 0.10);
1703 padding: 4px;
1704 z-index: 5;
1705 opacity: 0;
1706 transform: translateY(-4px);
1707 pointer-events: none;
1708 transition: opacity 0.12s ease, transform 0.12s ease;
1709 }
1710 .mxchat-header-menu.is-open {
1711 opacity: 1;
1712 transform: translateY(0);
1713 pointer-events: auto;
1714 }
1715 .mxchat-header-menu[hidden] {
1716 display: none;
1717 }
1718 .mxchat-menu-item {
1719 display: flex;
1720 align-items: center;
1721 gap: 10px;
1722 width: 100%;
1723 padding: 8px 12px;
1724 min-height: 40px;
1725 border: none;
1726 background: transparent;
1727 color: inherit;
1728 font-size: 14px;
1729 line-height: 1.3;
1730 text-align: left;
1731 cursor: pointer;
1732 border-radius: 6px;
1733 transition: background 0.12s ease;
1734 text-decoration: none;
1735 box-sizing: border-box;
1736 }
1737 .mxchat-menu-item:hover,
1738 .mxchat-menu-item:focus {
1739 background: rgba(127, 127, 127, 0.18);
1740 outline: none;
1741 }
1742 .mxchat-menu-item-icon {
1743 display: inline-flex;
1744 align-items: center;
1745 justify-content: center;
1746 width: 16px;
1747 height: 16px;
1748 color: inherit;
1749 opacity: 0.85;
1750 flex-shrink: 0;
1751 }
1752 .mxchat-menu-item-icon svg {
1753 width: 16px;
1754 height: 16px;
1755 display: block;
1756 }
1757 .mxchat-menu-item-label {
1758 flex: 1;
1759 color: inherit;
1760 }
1761
1762 /* RTL — flip the dropdown anchor edge */
1763 [dir="rtl"] .mxchat-header-menu,
1764 .mxchat-chatbot-wrapper[dir="rtl"] .mxchat-header-menu {
1765 right: auto;
1766 left: 0;
1767 }
1768
1769 /* ============================================================================
1770 Satisfaction rating (v3.2.6 — polished per plan-141a12)
1771 Theme-adaptive via currentColor + inherit. Clean slate — old rules removed.
1772 ========================================================================= */
1773 .mxchat-chatbot .chat-container .chat-box .mxchat-rating-prompt,
1774 .mxchat-chatbot .chat-container .chat-box .mxchat-rating-feedback,
1775 .mxchat-chatbot .chat-container .chat-box .mxchat-rating-saved {
1776 clear: both;
1777 float: left;
1778 max-width: 92%;
1779 box-sizing: border-box;
1780 }
1781
1782 /* Theme-adaptive wrapper — .bot-message carries the user's custom bg/color via
1783 inline style; the inner rating component supplies its own padding + layout. */
1784 .mxchat-rating-bot-bubble {
1785 padding: 0;
1786 overflow: visible;
1787 }
1788
1789 .mxchat-rating-prompt {
1790 display: flex;
1791 flex-direction: column;
1792 align-items: stretch;
1793 gap: 10px;
1794 padding: 10px 14px;
1795 margin: 10px 0;
1796 font-size: 14px;
1797 color: inherit;
1798 }
1799
1800 .mxchat-rating-question {
1801 color: inherit;
1802 opacity: 0.85;
1803 font-weight: 500;
1804 }
1805
1806 .mxchat-rating-actions {
1807 display: flex;
1808 align-items: center;
1809 gap: 8px;
1810 }
1811
1812 .mxchat-rating-buttons {
1813 display: inline-flex;
1814 gap: 6px;
1815 }
1816
1817 .mxchat-rating-btn {
1818 display: inline-flex;
1819 align-items: center;
1820 justify-content: center;
1821 width: 32px;
1822 height: 32px;
1823 border-radius: 8px;
1824 background: transparent;
1825 border: none;
1826 color: inherit;
1827 opacity: 0.6;
1828 cursor: pointer;
1829 transition: opacity 0.18s ease, transform 0.18s ease, background-color 0.18s ease, color 0.18s ease;
1830 padding: 0;
1831 }
1832
1833 .mxchat-rating-btn:hover {
1834 opacity: 1;
1835 transform: scale(1.12);
1836 background: rgba(255, 255, 255, 0.08);
1837 }
1838
1839 .mxchat-rating-btn:focus-visible {
1840 opacity: 1;
1841 outline: 2px solid currentColor;
1842 outline-offset: 2px;
1843 }
1844
1845 .mxchat-rating-btn svg {
1846 pointer-events: none;
1847 }
1848
1849 .mxchat-rating-dismiss {
1850 width: 24px;
1851 height: 24px;
1852 border-radius: 6px;
1853 background: transparent;
1854 border: none;
1855 color: inherit;
1856 opacity: 0.45;
1857 cursor: pointer;
1858 font-size: 18px;
1859 line-height: 1;
1860 transition: opacity 0.18s ease, background-color 0.18s ease;
1861 }
1862
1863 .mxchat-rating-dismiss:hover {
1864 opacity: 0.9;
1865 background: rgba(255, 255, 255, 0.08);
1866 }
1867
1868 /* Feedback panel that replaces the prompt after a rating is clicked */
1869 .mxchat-rating-feedback {
1870 padding: 12px 14px;
1871 margin: 10px 0;
1872 display: flex;
1873 flex-direction: column;
1874 gap: 10px;
1875 color: inherit;
1876 animation: mxchat-rating-fade-in 0.22s ease;
1877 }
1878
1879 .mxchat-rating-feedback-label {
1880 font-size: 13px;
1881 opacity: 0.85;
1882 font-weight: 500;
1883 }
1884
1885 .mxchat-rating-feedback-input {
1886 width: 100%;
1887 box-sizing: border-box;
1888 padding: 8px 10px;
1889 border: 1px solid rgba(255, 255, 255, 0.25);
1890 border-radius: 8px;
1891 font-size: 14px;
1892 font-family: inherit;
1893 resize: vertical;
1894 background: rgba(255, 255, 255, 0.08);
1895 color: inherit;
1896 }
1897
1898 .mxchat-rating-feedback-input:focus {
1899 outline: none;
1900 border-color: rgba(255, 255, 255, 0.45);
1901 background: rgba(255, 255, 255, 0.15);
1902 }
1903
1904 .mxchat-rating-feedback-actions {
1905 display: flex;
1906 justify-content: flex-end;
1907 gap: 8px;
1908 }
1909
1910 .mxchat-rating-skip,
1911 .mxchat-rating-submit {
1912 padding: 6px 14px;
1913 border-radius: 8px;
1914 font-size: 13px;
1915 font-weight: 500;
1916 cursor: pointer;
1917 border: none;
1918 transition: opacity 0.18s ease, transform 0.18s ease, background-color 0.18s ease;
1919 }
1920
1921 .mxchat-rating-skip {
1922 background: transparent;
1923 color: inherit;
1924 opacity: 0.6;
1925 }
1926
1927 .mxchat-rating-skip:hover {
1928 opacity: 1;
1929 background: rgba(255, 255, 255, 0.08);
1930 }
1931
1932 .mxchat-rating-submit {
1933 background: currentColor;
1934 color: var(--mxchat-bot-message-bg, #ffffff);
1935 }
1936
1937 .mxchat-rating-submit:hover {
1938 transform: translateY(-1px);
1939 opacity: 0.9;
1940 }
1941
1942 .mxchat-rating-saved {
1943 padding: 10px 14px;
1944 margin: 10px 0;
1945 font-size: 13px;
1946 font-weight: 500;
1947 text-align: center;
1948 color: inherit;
1949 animation: mxchat-rating-fade-in 0.22s ease;
1950 }
1951
1952 @keyframes mxchat-rating-fade-in {
1953 from { opacity: 0; transform: translateY(4px); }
1954 to { opacity: 1; transform: translateY(0); }
1955 }