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