PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 2.2.3
MxChat – AI Chatbot & Content Generation for WordPress v2.2.3
3.2.21 3.2.20 3.2.19 3.2.18 3.2.17 3.2.16 3.2.15 3.2.14 3.2.12 3.2.13 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 2.0.3 2.0.4 2.0.5 2.0.6 All 152 releases
← All changes | css/chat-style.css +1255 -2209 3.2.152.2.3 View file →
@@ -1,2209 +1,1255 @@
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 + align-items: center;
332 + justify-content: center;
333 + opacity: 0.6;
334 + transition: opacity 0.2s;
335 + margin: 0;
336 + min-width: 0;
337 + box-shadow: none;
338 +}
339 +
340 +#mxchat-chatbot .toolbar-btn svg {
341 + width: 100%;
342 + height: 100%;
343 +}
344 +
345 +#mxchat-chatbot .toolbar-btn:hover {
346 + opacity: 1;
347 + background: none;
348 + border: none;
349 + box-shadow: none;
350 +}
351 +
352 +#mxchat-chatbot .toolbar-btn:disabled {
353 + opacity: 0.3;
354 + cursor: not-allowed;
355 + background: none;
356 + border: none;
357 +}
358 +
359 +/* Add this to your plugin's CSS */
360 +.toolbar-btn.active {
361 + background-color: rgba(120, 115, 245, 0.2);
362 + box-shadow: 0 0 0 2px rgba(120, 115, 245, 0.4);
363 +}
364 +
365 +
366 +.system-message {
367 + padding: 8px 12px;
368 + margin: 8px 0;
369 + background-color: rgba(120, 115, 245, 0.1);
370 + border-radius: 8px;
371 + color: #555;
372 + font-style: italic;
373 + font-size: 14px;
374 + text-align: center;
375 +}
376 +
377 +#mxchat-chatbot .spinner {
378 + animation: rotate 2s linear infinite;
379 + width: 20px;
380 + height: 20px;
381 +}
382 +
383 +#mxchat-chatbot .spinner circle {
384 + stroke: #212121;
385 + stroke-linecap: round;
386 + animation: dash 1.5s ease-in-out infinite;
387 +}
388 +
389 +@keyframes rotate {
390 + 100% {
391 + transform: rotate(360deg);
392 + }
393 +}
394 +
395 +@keyframes dash {
396 + 0% {
397 + stroke-dasharray: 1, 150;
398 + stroke-dashoffset: 0;
399 + }
400 + 50% {
401 + stroke-dasharray: 90, 150;
402 + stroke-dashoffset: -35;
403 + }
404 + 100% {
405 + stroke-dasharray: 90, 150;
406 + stroke-dashoffset: -124;
407 + }
408 +}
409 +
410 +
411 +
412 +
413 +.mxchat-code-block-container {
414 + position: relative;
415 + margin: 20px 0;
416 + font-family: monospace;
417 +}
418 +
419 +.chatbot-title-container {
420 + display: flex;
421 + align-items: center;
422 + justify-content: space-between;
423 + width: 100%;
424 +}
425 +
426 +.chatbot-title-group {
427 + display: flex;
428 + align-items: center;
429 + gap: 8px;
430 +}
431 +
432 +
433 +.chat-mode-indicator {
434 + font-size: 12px;
435 + margin-right: 8px;
436 + padding: 4px 8px;
437 + border-radius: 12px;
438 + background: rgba(255, 255, 255, 0.2);
439 + color: #ffffff;
440 +}
441 +
442 +#mxchat-chatbot #chat-container #chat-box .agent-message {
443 + text-align: left;
444 + float: left;
445 + clear: both;
446 + border: 1px solid rgba(226, 232, 255, .2);
447 + border-radius: 0 18px 18px;
448 + background: #212121;
449 + color: #fff;
450 + overflow-x: hidden;
451 + margin-bottom: 15px;
452 + padding: 10px;
453 + display: inline-block;
454 + max-width: 85%;
455 + font-size: 14px;
456 + line-height: 24px;
457 + box-shadow: -2px 2px rgba(250, 115, 230, 0.6), -4px 4px rgba(120, 115, 245, 0.6);
458 +}
459 +
460 +.mxchat-code-block {
461 + background-color: #212121;
462 + color: #fff;
463 + padding: 15px;
464 + border-radius: 5px;
465 + white-space: pre-wrap; /* Maintain formatting */
466 + overflow: auto; /* Enable scrolling for long content */
467 + font-family: monospace;
468 +}
469 +
470 +.mxchat-code-block code {
471 + display: block;
472 + white-space: pre-wrap;
473 +}
474 +
475 +/* Copy button styling */
476 +.mxchat-copy-button {
477 + position: absolute;
478 + top: 10px;
479 + right: 10px;
480 + background-color: #0073aa;
481 + color: #ffffff;
482 + border: none;
483 + border-radius: 5px;
484 + padding: 5px 15px;
485 + font-size: 12px;
486 + font-weight: bold;
487 + cursor: pointer;
488 + transition: background-color 0.3s ease, transform 0.2s ease;
489 + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
490 + z-index: 10; /* Ensure the button is on top */
491 +}
492 +
493 +.mxchat-copy-button:hover {
494 + background-color: #005177;
495 + transform: translateY(-1px);
496 +}
497 +
498 +.mxchat-copy-button:active {
499 + transform: translateY(1px);
500 +}
501 +
502 +.mxchat-image-gallery {
503 + display: flex;
504 + flex-wrap: wrap;
505 + gap: 10px;
506 + justify-content: center;
507 +}
508 +
509 +.mxchat-image-item {
510 + text-align: center;
511 + overflow: hidden;
512 + word-wrap: break-word;
513 +}
514 +
515 +.mxchat-image-title {
516 + display: block;
517 + font-size: 14px;
518 + color: inherit;
519 + white-space: nowrap;
520 + overflow: hidden;
521 + text-overflow: ellipsis;
522 + max-width: 100%;
523 +}
524 +
525 +.mxchat-image-link {
526 + text-decoration: none;
527 +}
528 +
529 +.mxchat-image-thumbnail {
530 + max-width: 100%;
531 + height: auto;
532 + border-radius: 5px;
533 + transition: transform 0.3s;
534 +}
535 +
536 +.mxchat-image-thumbnail:hover {
537 + transform: scale(1.05);
538 +}
539 +.mxchat-generated-image {
540 + max-width: 100%;
541 + height: auto;
542 + border-radius: 0 0 8px 8px;
543 +}
544 +
545 +
546 +/* MxChat Product Card Styling */
547 +.mxchat-product-card {
548 + display: flex;
549 + flex-direction: column;
550 + align-items: center;
551 + margin: 10px 0;
552 + padding: 10px;
553 + border-radius: 5px;
554 + background-color: inherit;
555 +}
556 +
557 +.mxchat-product-card img.mxchat-product-image {
558 + max-width: 100%;
559 + height: auto;
560 + margin-bottom: 5px;
561 + border-radius: 4px;
562 +}
563 +
564 +.mxchat-product-card h3.mxchat-product-name {
565 + font-size: 16px;
566 + font-weight: bold;
567 + margin: 5px 0;
568 + text-align: center;
569 + color: inherit;
570 +}
571 +
572 +.mxchat-product-card .mxchat-product-price {
573 + color: inherit;
574 + font-weight: bold;
575 + margin-bottom: 5px;
576 +}
577 +
578 +.mxchat-product-card .mxchat-product-description {
579 + font-size: 14px;
580 + text-align: center;
581 + margin-bottom: 10px;
582 + color: inherit;
583 +}
584 +
585 +.mxchat-product-card .mxchat-add-to-cart-button {
586 + background-color: #212121;
587 + color: #fff;
588 + padding: 8px 12px;
589 + border: none;
590 + cursor: pointer;
591 + border-radius: 12px;
592 + transition: background-color 0.3s ease;
593 +}
594 +
595 +.mxchat-product-card .mxchat-add-to-cart-button:hover {
596 + background-color: #212121;
597 +}
598 +
599 +
600 +
601 +
602 +
603 +#mxchat-popular-questions {
604 + padding: 10px;
605 +}
606 +
607 +.mxchat-popular-questions-title {
608 + font-size: 14px;
609 + line-height: 24px;
610 + font-weight: bold;
611 + color: #212121;
612 + margin-bottom: 10px;
613 +}
614 +
615 +.mxchat-popular-questions-container {
616 + position: relative; /* Make it the parent for positioning */
617 + display: flex;
618 + flex-direction: column;
619 + max-height: 200px;
620 + overflow-y: auto;
621 + padding-right: 10px;
622 + padding-bottom: 10px;
623 + scrollbar-width: thin; /* For Firefox */
624 + scrollbar-color: #212121 #f1f1f1; /* Thumb and track colors */
625 +}
626 +
627 +
628 +/* Styling the scrollbar for WebKit browsers (Chrome, Safari, etc.) */
629 +.mxchat-popular-questions-container::-webkit-scrollbar {
630 + width: 8px;
631 +}
632 +
633 +.mxchat-popular-questions-container::-webkit-scrollbar-track {
634 + background: #f1f1f1;
635 + border-radius: 4px;
636 +}
637 +
638 +.mxchat-popular-questions-container::-webkit-scrollbar-thumb {
639 + background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1);
640 + border-radius: 4px;
641 +}
642 +
643 +.mxchat-popular-questions-container::-webkit-scrollbar-thumb:hover {
644 + background: linear-gradient(135deg, #d164ce, #6568d8, #2daeb8);
645 +}
646 +
647 +/* For Firefox */
648 +.mxchat-popular-questions-container {
649 + scrollbar-width: thin; /* Makes the scrollbar thinner */
650 + scrollbar-color: #212121 #f1f1f1; /* Thumb color and track color */
651 +}
652 +
653 +/* For Edge and other modern browsers */
654 +.mxchat-popular-questions-container {
655 + -ms-overflow-style: none; /* Removes the default scrollbars for Edge */
656 + scrollbar-gutter: stable; /* Prevent layout shifting */
657 +}
658 +
659 +/* For a more uniform cross-browser look */
660 +.mxchat-popular-questions-container {
661 + overflow: auto;
662 + overscroll-behavior: contain;
663 +}
664 +
665 +.mxchat-popular-question {
666 + padding: 12px 20px;
667 + background-color: #f5f5f5; /* Darker background for better contrast */
668 + border: 1px solid #bbb; /* Darker border for better visibility */
669 + border-radius: 8px;
670 + color: #212121;
671 + font-size: 14px;
672 + line-height: 24px;
673 + cursor: pointer;
674 + text-align: initial;
675 + transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
676 + margin-bottom: 10px;
677 +}
678 +
679 +.mxchat-popular-question:hover {
680 + background-color: #eaeaea; /* Slightly darker on hover */
681 + border-color: #999; /* Darker border on hover */
682 + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); /* Slightly darker shadow on hover */
683 + color: #212121;
684 +}
685 +
686 +.mxchat-popular-question:focus {
687 + outline: none;
688 + background-color: #e0e0e0; /* Darker background on focus */
689 + border-color: #777; /* More prominent focus border */
690 + box-shadow: 0 0 0 3px rgba(100, 149, 237, 0.5); /* Subtle focus ring */
691 + color: #212121;
692 +}
693 +
694 +.mxchat-popular-question:active {
695 + background-color: #d8d8d8; /* Darker pressed background */
696 + border-color: #666; /* Darker border when pressed */
697 + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15); /* Slightly darker pressed effect */
698 + color: #212121;
699 +}
700 +
701 +
702 +#widget_icon, #widget_icon_2, #widget_icon_3, #widget_icon_5, #widget_icon_4, #widget_icon_6, #widget_icon_7 {
703 + padding: 10px;
704 +}
705 +
706 +#widget_icon_10 {
707 + fill: #fff;
708 +}
709 +
710 +.invisible {
711 + display: none;
712 + opacity: 0;
713 + pointer-events: none;
714 +}
715 +
716 +#mxchat-chatbot {
717 + background: #fff;
718 +}
719 +
720 +#mxchat-chatbot-wrapper .chatbot-footer .privacy-notice {
721 + font-size: 12px;
722 + margin: 0;
723 + color: #71717a;
724 +}
725 +
726 +#mxchat-chatbot-wrapper .chatbot-footer .privacy-notice a {
727 + color: #0073aa; /* You can specify the color for the link */
728 + text-decoration: underline;
729 + font-size: 12px;
730 +}
731 +
732 +#mxchat-chatbot #chat-container #input-container #send-button, .copy-btn {
733 + transition: background-color .3s;
734 + color: #fff;
735 + font-size: 1rem;
736 + cursor: pointer;
737 + font-weight: 700;
738 + margin-bottom: 10px;
739 +}
740 +
741 +#mxchat-chatbot {
742 + max-width: 800px;
743 + overflow: hidden;
744 + position: relative;
745 + display: flex;
746 + flex-direction: column;
747 + height: 500px;
748 + box-sizing: border-box;
749 + flex-grow: 1;
750 +}
751 +
752 +#chat-container {
753 + display: flex;
754 + flex-direction: column;
755 + height: 100%;
756 +}
757 +
758 +#chat-box {
759 + flex-grow: 1;
760 + overflow-y: auto;
761 + padding: 10px;
762 + margin-bottom: 0;
763 + font-size: 1rem;
764 +}
765 +
766 +#chat-box::-webkit-scrollbar {
767 + width: 5px;
768 +}
769 +
770 +#chat-box::-webkit-scrollbar-thumb {
771 + background-color: #212121;
772 + border-radius: 20px;
773 +}
774 +
775 +.bot-message, .user-message {
776 + margin-bottom: 15px;
777 + padding: 10px;
778 + display: inline-block;
779 + max-width: 85%;
780 + box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
781 + font-size: 14px;
782 + line-height: 24px;
783 +}
784 +
785 +.user-message {
786 + background: #fff;
787 + color: #212121;
788 + text-align: left;
789 + float: right;
790 + clear: both;
791 + border-radius: 18px 0 18px 18px;
792 + border: 1px solid #e2e8ff;
793 + word-wrap: break-word;
794 +}
795 +
796 +#mxchat-chatbot #chat-container #chat-box .bot-message {
797 + float: left;
798 + clear: both;
799 + border: 1px solid rgba(226, 232, 255, .2);
800 + border-radius: 0 18px 18px;
801 + background: #212121;
802 + color: #fff;
803 + overflow-x: hidden;
804 +}
805 +
806 +#mxchat-chatbot-wrapper {
807 + box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
808 + border-radius: 10px;
809 + display: flex;
810 + flex-direction: column;
811 + height: 100%;
812 + width: 100%;
813 +}
814 +
815 +#mxchat-chatbot #chat-container #input-container {
816 + position: relative;
817 + display: flex;
818 + align-items: center;
819 + padding-right: 40px;
820 + border: 1px solid #ccc;
821 + border-radius: 10px;
822 + margin: 10px;
823 +}
824 +
825 +#mxchat-chatbot #chat-container #input-container #chat-input {
826 + flex-grow: 1;
827 + color: #212121;
828 + line-height: 24px;
829 + background: 0 0;
830 + margin-bottom: 0px;
831 + width: 100%;
832 + min-height: 20px;
833 + max-height: 65px;
834 + resize: none;
835 + overflow-y: auto;
836 + font-size: 16px;
837 + border: none;
838 + border-radius: 5px;
839 + box-sizing: border-box;
840 + padding: 0.4em 0.5em;
841 + outline: none;
842 +}
843 +
844 +/* Styling the scrollbar for WebKit browsers (Chrome, Safari, etc.) */
845 +#chat-input::-webkit-scrollbar {
846 + width: 8px; /* Set the scrollbar width */
847 +}
848 +
849 +#chat-input::-webkit-scrollbar-track {
850 + background: #f1f1f1; /* Scrollbar track background */
851 + border-radius: 4px; /* Round the corners */
852 +}
853 +
854 +#chat-input::-webkit-scrollbar-thumb {
855 + background: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1); /* Gradient scrollbar thumb */
856 + border-radius: 4px; /* Round the corners */
857 +}
858 +
859 +#chat-input::-webkit-scrollbar-thumb:hover {
860 + background: linear-gradient(135deg, #d164ce, #6568d8, #2daeb8); /* Hover effect */
861 +}
862 +
863 +/* Optional: Ensure consistent styling for other modern browsers using scrollbars */
864 +#chat-input {
865 + scrollbar-width: thin; /* For Firefox: sets scrollbar width to thin */
866 + scrollbar-color: linear-gradient(135deg, #fa73e6, #7873f5, #3ac9d1) #f1f1f1; /* For Firefox: color for thumb and track */
867 +}
868 +
869 +
870 +#mxchat-chatbot #chat-container #input-container #send-button {
871 + position:absolute;
872 + right: 10px;
873 + top: 50%;
874 + transform: translateY(-50%);
875 + border: none;
876 + border-radius: 50%;
877 + width: 30px;
878 + height: 30px;
879 + display: flex;
880 + align-items: center;
881 + justify-content: center;
882 + background: 0 0!important;
883 + padding: 5px;
884 + margin: 0px 0px 0px 0px;
885 +}
886 +
887 +#mxchat-chatbot #chat-container #input-container #send-button .fa-paper-plane {
888 + font-size: 1.3rem;
889 +}
890 +
891 +#mxchat-chatbot #chat-container #input-container #send-button svg {
892 + width: 25px;
893 + height: 25px;
894 + pointer-events: none; /* Add this to prevent touch event issues */
895 +}
896 +
897 +#send-button:hover, .copy-btn:hover {
898 + opacity: .8;
899 +}
900 +
901 +#mxchat-chatbot:after {
902 + content: "";
903 + display: table;
904 + clear: both;
905 +}
906 +
907 +pre {
908 + background-color: #000;
909 + border: 1px solid #ddd;
910 + border-radius: 20px;
911 + border-left: 3px solid #9e7aff;
912 + color: #fff;
913 + page-break-inside: avoid;
914 + font-family: monospace;
915 + font-size: 15px;
916 + line-height: 1.6;
917 + margin-bottom: 1.6em;
918 + max-width: 100%;
919 + overflow: auto;
920 + padding: 1em 1.5em;
921 + display: block;
922 + word-wrap: break-word;
923 +}
924 +
925 +.copy-btn {
926 + padding: 10px 20px;
927 + border: none;
928 + border-radius: 4px;
929 + background-color: #9e7aff;
930 +}
931 +
932 +#floating-chatbot {
933 + position: fixed;
934 + bottom: 25px;
935 + right: 25px;
936 + width: 375px;
937 + height: 625px;
938 + box-shadow: 0 0 10px rgba(0, 0, 0, .25);
939 + border-radius: 20px;
940 + overflow: hidden;
941 + display: flex;
942 + z-index: 100000;
943 + transition: transform .3s ease-in-out, opacity .3s ease-in-out;
944 + transform: translateY(20%);
945 + opacity: 0;
946 + pointer-events: none;
947 +}
948 +
949 +#floating-chatbot.visible {
950 + transform: translateY(0);
951 + opacity: 1;
952 + pointer-events: auto;
953 +}
954 +
955 +#floating-chatbot-button.hidden, .exit-chat span {
956 + display: none!important;
957 +}
958 +
959 +.visible {
960 + display: flex;
961 +}
962 +
963 +#floating-chatbot-button {
964 + transition: opacity 1s ease-in-out;
965 + font-size: 1.25rem;
966 + position: fixed;
967 + bottom: 30px;
968 + right: 25px;
969 + background-color: #212121;
970 + color: #fff;
971 + width: 60px;
972 + height: 60px;
973 + border-radius: 50%;
974 + box-shadow: 0 4px 8px rgba(0, 0, 0, .2)!important;
975 + justify-content: center;
976 + align-items: center;
977 + cursor: pointer;
978 + transition: .3s;
979 + z-index: 100000;
980 + display: flex;
981 +}
982 +
983 +#floating-chatbot-button img {
984 + max-width: 100%;
985 + max-height: 100%;
986 + width: auto;
987 + height: auto;
988 +}
989 +
990 +#mxchat-chatbot-wrapper.active+#floating-chatbot-button {
991 + bottom: 530px;
992 + width: 100%;
993 +}
994 +
995 +.chatbot-close-button {
996 + position: absolute;
997 + top: 5px;
998 + right: 5px;
999 + border: none;
1000 + background: 0 0;
1001 + cursor: pointer;
1002 + font-size: 20px;
1003 + color: #f0f0f1;
1004 +}
1005 +
1006 +.chatbot-top-bar {
1007 + background: #212121;
1008 +}
1009 +
1010 +#mxchat-chatbot-wrapper .chatbot-top-bar {
1011 + cursor: pointer;
1012 + color: #fff;
1013 + padding: 10px;
1014 + border-top-left-radius: 10px;
1015 + border-top-right-radius: 10px;
1016 + display: flex;
1017 + justify-content: space-between;
1018 + align-items: start;
1019 +}
1020 +
1021 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1022 + font-size: 16px;
1023 + line-height: 25px;
1024 + padding: 10px;
1025 + margin: 0;
1026 + font-family: 'Plus Jakarta Sans', sans-serif;
1027 + font-weight: bold;
1028 +}
1029 +
1030 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title span {
1031 + font-weight: 700;
1032 +}
1033 +
1034 +#mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1035 + background: 0 0;
1036 + border: none;
1037 + opacity: .8;
1038 + padding: 0px;
1039 +}
1040 +
1041 +.exit-chat {
1042 + border: none;
1043 + background: 0 0;
1044 + cursor: pointer;
1045 + display: flex;
1046 + align-items: center;
1047 + justify-content: center;
1048 + padding: 5px;
1049 + margin-left: auto;
1050 +}
1051 +
1052 +.exit-chat svg {
1053 + fill: white;
1054 + width: 24px;
1055 + height: 24px;
1056 + transform: rotate(270deg);
1057 +}
1058 +
1059 +#mxchat-chatbot-wrapper .chatbot-footer {
1060 + text-align: center;
1061 + padding-bottom: 10px;
1062 + font-size: .85em;
1063 +}
1064 +
1065 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by {
1066 + text-decoration: none;
1067 + color: inherit;
1068 + font-weight: 700;
1069 +}
1070 +
1071 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
1072 + text-decoration: underline;
1073 +}
1074 +
1075 +#chat-box .bot-message.temporary-message .thinking-dots-container {
1076 + display: flex;
1077 + justify-content: center;
1078 + align-items: center;
1079 + overflow: hidden;
1080 + height: 20px;
1081 + position: relative;
1082 + z-index: 1;
1083 + flex-shrink: 0;
1084 +}
1085 +
1086 +#chat-box .bot-message.temporary-message .thinking-dots {
1087 + display: flex;
1088 + justify-content: center;
1089 + align-items: center;
1090 + height: 90%;
1091 + gap: 5px;
1092 + flex-shrink: 0;
1093 +}
1094 +
1095 +#chat-box .bot-message.temporary-message .thinking-dots .dot {
1096 + height: 6px;
1097 + width: 6px;
1098 + margin: 0 3px;
1099 + background-color: #fff;
1100 + border-radius: 50%;
1101 + display: inline-block;
1102 + position: static;
1103 + right: auto;
1104 + top: auto;
1105 + text-align: initial;
1106 + color: transparent;
1107 + font-size: 0;
1108 + font-weight: normal;
1109 + line-height: normal;
1110 + font-style: normal;
1111 + animation: bounce 1.4s ease-in-out infinite both;
1112 + -webkit-animation: bounce 1.4s ease-in-out infinite both;
1113 + -moz-animation: bounce 1.4s ease-in-out infinite both;
1114 + -o-animation: bounce 1.4s ease-in-out infinite both;
1115 + vertical-align: middle;
1116 +}
1117 +
1118 +#chat-box .bot-message.temporary-message .thinking-dots .dot:first-child {
1119 + animation-delay: -0.32s;
1120 + -webkit-animation-delay: -0.32s;
1121 + -moz-animation-delay: -0.32s;
1122 + -o-animation-delay: -0.32s;
1123 +}
1124 +
1125 +#chat-box .bot-message.temporary-message .thinking-dots .dot:nth-child(2) {
1126 + animation-delay: -0.16s;
1127 + -webkit-animation-delay: -0.16s;
1128 + -moz-animation-delay: -0.16s;
1129 + -o-animation-delay: -0.16s;
1130 +}
1131 +
1132 +@keyframes bounce {
1133 + 0%, 100%, 80% {
1134 + transform: scale(1);
1135 + -webkit-transform: scale(1);
1136 + -moz-transform: scale(1);
1137 + -o-transform: scale(1);
1138 + }
1139 + 40% {
1140 + transform: scale(1.5);
1141 + -webkit-transform: scale(1.5);
1142 + -moz-transform: scale(1.5);
1143 + -o-transform: scale(1.5);
1144 + }
1145 +}
1146 +
1147 +
1148 +#pre-chat-message {
1149 + position: fixed;
1150 + bottom: 85px;
1151 + right: 30px;
1152 + background-color: #fff;
1153 + color: #212121;
1154 + padding: 10px;
1155 + box-shadow: 0px 0px 10px rgba(150, 150, 150, 0.3);
1156 + border-radius: 5px;
1157 + z-index: 1000;
1158 + cursor: pointer;
1159 + max-width: 325px;
1160 + font-size: 14px;
1161 + display: none;
1162 + background: #fff;
1163 + margin-bottom: 10px;
1164 +}
1165 +
1166 +#pre-chat-message .close-pre-chat-message {
1167 + position: absolute;
1168 + top: -6px;
1169 + right: -6px;
1170 + background-color: #ccc;
1171 + border: none;
1172 + color: #212121;
1173 + font-size: 14px;
1174 + cursor: pointer;
1175 + border-radius: 50%;
1176 + width: 20px;
1177 + height: 20px;
1178 + display: flex;
1179 + align-items: center;
1180 + justify-content: center;
1181 + padding: 0;
1182 + line-height: 1;
1183 + display: flex; /* Show the close button on hover */
1184 +}
1185 +
1186 +
1187 +
1188 +@media (max-width: 550px) {
1189 +
1190 + #pre-chat-message {
1191 + bottom: 70px; /* Adjust this value as needed */
1192 + right: 15px; /* Adjust this value as needed */
1193 + }
1194 +
1195 + #chat-input {
1196 + width: calc(100% - 70px);
1197 + }
1198 + .bot-message, .user-message {
1199 + padding: 10px;
1200 + max-width: 95%;
1201 + }
1202 + #floating-chatbot-button {
1203 + bottom: 15px;
1204 + right: 10px;
1205 + }
1206 + #floating-chatbot {
1207 + width: 100vw;
1208 + height: calc(var(--vh, 1vh) * 100);
1209 + margin: 0;
1210 + padding: 0;
1211 + position: fixed;
1212 + bottom: 0;
1213 + top: 0;
1214 + left: 0;
1215 + right: 0;
1216 + border-radius: 0;
1217 + }
1218 + #mxchat-chatbot-wrapper .chatbot-top-bar {
1219 + border-top-left-radius: 0;
1220 + border-top-right-radius: 0;
1221 + }
1222 +}
1223 +
1224 +
1225 +.bot-message p {
1226 + margin: 0 0 1em 0;
1227 +}
1228 +
1229 +.bot-message p:last-child {
1230 + margin-bottom: 0;
1231 +}
1232 +
1233 +.bot-message {
1234 + white-space: pre-line;
1235 +}
1236 +
1237 +
1238 +
1239 +/* Simplified styles for Perplexity status indicator */
1240 +#active-perplexity-container {
1241 + display: flex;
1242 + align-items: center;
1243 + margin-left: 8px;
1244 + font-size: 12px;
1245 +}
1246 +
1247 +#perplexity-search-btn {
1248 + display: none;
1249 +}
1250 +
1251 +#perplexity-search-btn.active {
1252 + opacity: 1;
1253 +}
1254 +
1255 +