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