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