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