PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 1.4.5
MxChat – AI Chatbot & Content Generation for WordPress v1.4.5
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 -1704 3.2.131.4.5 View file →
@@ -1,959 +1,317 @@
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;
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;
750 269 word-wrap: break-word;
751 - border: 1px solid rgba(226, 232, 255, 0.2);
752 270 }
753 271
754 -.user-message p {
755 - margin: 0;
272 +#mxchat-chatbot #chat-container #chat-box .bot-message {
273 + text-align: left;
274 + float: left;
275 + clear: both;
276 + border: 1px solid rgba(226, 232, 255, .2);
277 + border-radius: 0 18px 18px;
278 + background: #212121;
279 + color: #fff;
280 + overflow-x: hidden;
756 281 }
757 282
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);
283 +#mxchat-chatbot-wrapper {
284 + box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
825 285 border-radius: 10px;
826 286 display: flex;
827 287 flex-direction: column;
828 288 height: 100%;
829 289 width: 100%;
830 - min-height: 0; /* Allow flex shrinking */
831 - overflow: hidden;
832 290 }
833 291
834 -/* ========================================
835 - INPUT & CONTROLS
836 - ======================================== */
837 -.mxchat-chatbot .chat-container .input-container {
292 +#mxchat-chatbot #chat-container #input-container {
838 293 position: relative;
839 294 display: flex;
840 295 align-items: center;
841 - padding-right: 40px;
842 - border: 1px solid #ccc;
843 - border-radius: 10px;
844 - margin: 0 10px 10px;
296 + padding: 10px;
845 297 }
846 298
847 -.mxchat-chatbot .chat-container .input-container .chat-input {
299 +#mxchat-chatbot #chat-container #input-container #chat-input {
848 300 flex-grow: 1;
301 + padding: .5rem 2.5rem .5rem .5rem;
302 + border-radius: 10px;
303 + border: 1px solid #bbb;
849 304 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;
305 + font-size: 1rem;
306 + background: 0 0;
307 + width: calc(100% - 30px);
308 + margin-bottom: 0px;
309 + height: 100%;
865 310 }
866 311
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;
312 +#mxchat-chatbot #chat-container #input-container #send-button {
313 + position:absolute;
956 314 right: 10px;
957 315 top: 50%;
958 316 transform: translateY(-50%);
959 317 border: none;
@@ -962,354 +320,225 @@
962 320 height: 30px;
963 321 display: flex;
964 322 align-items: center;
965 323 justify-content: center;
966 - background: transparent !important;
324 + background: 0 0!important;
967 325 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;
326 + margin: 0px 0px 0px 0px;
974 327 }
975 328
976 -.send-button svg {
977 - width: 25px;
978 - height: 25px;
979 - pointer-events: none;
329 +#mxchat-chatbot #chat-container #input-container #send-button .fa-paper-plane {
330 + font-size: 1.3rem;
980 331 }
981 332
982 -.send-button:hover {
983 - opacity: 0.8;
333 +#send-button:hover, .copy-btn:hover {
334 + opacity: .8;
984 335 }
985 336
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;
337 +#mxchat-chatbot:after {
338 + content: "";
339 + display: table;
340 + clear: both;
991 341 }
992 342
993 -.mxchat-chatbot .spinner {
994 - animation: rotate 2s linear infinite;
995 - width: 20px;
996 - height: 20px;
343 +pre {
344 + background-color: #000;
345 + border: 1px solid #ddd;
346 + border-radius: 20px;
347 + border-left: 3px solid #9e7aff;
348 + color: #fff;
349 + page-break-inside: avoid;
350 + font-family: monospace;
351 + font-size: 15px;
352 + line-height: 1.6;
353 + margin-bottom: 1.6em;
354 + max-width: 100%;
355 + overflow: auto;
356 + padding: 1em 1.5em;
357 + display: block;
358 + word-wrap: break-word;
997 359 }
998 360
999 -.mxchat-chatbot .spinner circle {
1000 - stroke: #212121;
1001 - stroke-linecap: round;
1002 - animation: dash 1.5s ease-in-out infinite;
361 +.copy-btn {
362 + padding: 10px 20px;
363 + border: none;
364 + border-radius: 4px;
365 + background-color: #9e7aff;
1003 366 }
1004 367
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 {
368 +#floating-chatbot {
1060 369 position: fixed;
1061 370 bottom: 25px;
1062 371 right: 25px;
1063 372 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);
373 + height: 625px;
374 + box-shadow: 0 0 10px rgba(0, 0, 0, .25);
1070 375 border-radius: 20px;
1071 376 overflow: hidden;
1072 377 display: flex;
1073 - flex-direction: column;
1074 378 z-index: 100000;
1075 - transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
379 + transition: transform .3s ease-in-out, opacity .3s ease-in-out;
1076 380 transform: translateY(20%);
1077 381 opacity: 0;
1078 382 pointer-events: none;
1079 383 }
1080 384
1081 -.floating-chatbot.visible {
385 +#floating-chatbot.visible {
1082 386 transform: translateY(0);
1083 387 opacity: 1;
1084 388 pointer-events: auto;
1085 389 }
1086 390
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;
391 +#floating-chatbot-button.hidden, .exit-chat span {
392 + display: none!important;
1095 393 }
1096 394
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 395 .visible {
1111 396 display: flex;
1112 397 }
1113 398
1114 -.floating-chatbot-button {
399 +#floating-chatbot-button {
1115 400 transition: opacity 1s ease-in-out;
1116 401 font-size: 1.25rem;
1117 402 position: fixed;
1118 403 bottom: 30px;
1119 404 right: 25px;
1120 - background-color: #212121;
405 + background-color: #d63638;
1121 406 color: #fff;
1122 407 width: 60px;
1123 408 height: 60px;
1124 409 border-radius: 50%;
1125 - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
410 + box-shadow: 0 4px 8px rgba(0, 0, 0, .2)!important;
1126 411 justify-content: center;
1127 412 align-items: center;
1128 413 cursor: pointer;
1129 - transition: 0.3s;
414 + transition: .3s;
1130 415 z-index: 100000;
1131 - display: flex;
416 + display: flex;
1132 417 }
1133 418
1134 -.floating-chatbot-button:focus-visible {
1135 - outline: 3px solid #7873f5;
1136 - outline-offset: 3px;
1137 -}
1138 -
1139 -.floating-chatbot-button img {
419 +#floating-chatbot-button img {
1140 420 max-width: 100%;
1141 421 max-height: 100%;
422 + padding: 10px;
1142 423 width: auto;
1143 424 height: auto;
1144 425 }
1145 426
1146 -.chatbot-top-bar {
1147 - background: #212121;
427 +#mxchat-chatbot-wrapper.active+#floating-chatbot-button {
428 + bottom: 530px;
429 + width: 100%;
1148 430 }
1149 431
1150 -.mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1151 - background: transparent;
432 +.chatbot-close-button {
433 + position: absolute;
434 + top: 5px;
435 + right: 5px;
1152 436 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;
437 + background: 0 0;
438 + cursor: pointer;
439 + font-size: 20px;
440 + color: #f0f0f1;
1161 441 }
1162 442
1163 -.mxchat-chatbot-wrapper .chatbot-top-bar {
443 +#mxchat-chatbot-wrapper .chatbot-top-bar {
1164 444 cursor: pointer;
1165 445 color: #fff;
1166 - padding: 8px 12px;
1167 - min-height: 48px;
1168 - gap: 8px;
446 + padding: 10px;
1169 447 border-top-left-radius: 10px;
1170 448 border-top-right-radius: 10px;
1171 449 display: flex;
1172 450 justify-content: space-between;
1173 - align-items: center;
451 + align-items: baseline;
1174 452 }
1175 453
1176 -.mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1177 - font-size: 15px;
1178 - line-height: 1.2;
1179 - padding: 0;
454 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
455 + font-size: 1rem;
456 + line-height: 25px;
457 + padding: 10px;
1180 458 margin: 0;
1181 459 font-family: 'Plus Jakarta Sans', sans-serif;
1182 - font-weight: 600;
460 + font-weight: bold;
1183 461 }
1184 462
463 +#mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title span {
464 + font-weight: 700;
465 +}
466 +
467 +#mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
468 + background: 0 0;
469 + border: none;
470 + opacity: .8;
471 +}
472 +
1185 473 .exit-chat {
1186 474 border: none;
1187 - background: transparent;
475 + background: 0 0;
1188 476 cursor: pointer;
1189 - display: inline-flex;
477 + display: flex;
1190 478 align-items: center;
1191 479 justify-content: center;
1192 - padding: 0;
480 + padding: 5px;
1193 481 margin-left: auto;
1194 - opacity: 0.8;
1195 - width: 32px;
1196 - height: 32px;
1197 - min-width: 32px;
1198 - flex: 0 0 auto;
1199 482 }
1200 483
1201 484 .exit-chat svg {
1202 - width: 18px;
1203 - height: 18px;
1204 - fill: none;
1205 - stroke: currentColor;
485 + fill: white;
486 + width: 24px;
487 + height: 24px;
488 + transform: rotate(270deg);
1206 489 }
1207 490
1208 -.mxchat-chatbot-wrapper .chatbot-footer {
491 +#mxchat-chatbot-wrapper .chatbot-footer {
1209 492 text-align: center;
1210 493 padding-bottom: 10px;
1211 - font-size: 0.85em;
494 + font-size: .85em;
1212 495 }
1213 496
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 {
497 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by {
1227 498 text-decoration: none;
1228 499 color: inherit;
1229 500 font-weight: 700;
1230 501 }
1231 502
1232 -.mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
503 +#mxchat-chatbot-wrapper .chatbot-footer .powered-by span {
1233 504 text-decoration: underline;
1234 505 }
1235 506
1236 -/* ========================================
1237 - INIT LOADER (shown while chat initializes)
1238 - ======================================== */
1239 -.mxchat-init-loader {
507 +.thinking-dots-container {
1240 508 display: flex;
1241 - align-items: center;
1242 509 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 510 align-items: center;
1276 511 overflow: hidden;
1277 - height: 20px;
1278 - position: relative;
1279 - z-index: 1;
1280 - flex-shrink: 0;
512 + height: 20px; /* Adjust as needed */
1281 513 }
1282 514
1283 -.chat-box .bot-message.temporary-message .thinking-dots {
515 +.thinking-dots {
1284 516 display: flex;
1285 517 justify-content: center;
1286 518 align-items: center;
1287 519 height: 90%;
1288 - gap: 5px;
1289 - flex-shrink: 0;
1290 520 }
1291 521
1292 -.chat-box .bot-message.temporary-message .thinking-dots .dot {
1293 - height: 6px;
1294 - width: 6px;
522 +.dot {
523 + height: 8px;
524 + width: 8px;
1295 525 margin: 0 3px;
1296 526 background-color: #fff;
1297 527 border-radius: 50%;
1298 528 display: inline-block;
1299 - animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1300 - vertical-align: middle;
529 + animation: bounce 1.4s ease-in-out infinite both;
1301 530 }
1302 531
1303 -.chat-box .bot-message.temporary-message .thinking-dots .dot:first-child {
1304 - animation-delay: -0.32s;
532 +.dot:first-child {
533 + animation-delay: -.32s;
1305 534 }
1306 535
1307 -.chat-box .bot-message.temporary-message .thinking-dots .dot:nth-child(2) {
1308 - animation-delay: -0.16s;
536 +.dot:nth-child(2) {
537 + animation-delay: -.16s;
1309 538 }
1310 539
1311 -@keyframes mxchat-dot-bounce {
540 +@keyframes bounce {
1312 541 0%, 100%, 80% {
1313 542 transform: scale(1);
1314 543 }
1315 544 40% {
@@ -1316,12 +545,11 @@
1316 545 transform: scale(1.5);
1317 546 }
1318 547 }
1319 548
1320 -/* ========================================
1321 - PRE-CHAT MESSAGE
1322 - ======================================== */
1323 -.pre-chat-message {
549 +
550 +
551 +#pre-chat-message {
1324 552 position: fixed;
1325 553 bottom: 85px;
1326 554 right: 30px;
1327 555 background-color: #fff;
@@ -1333,24 +561,23 @@
1333 561 cursor: pointer;
1334 562 max-width: 325px;
1335 563 font-size: 14px;
1336 564 display: none;
565 + background: #fff;
1337 566 margin-bottom: 10px;
1338 567 }
1339 568
1340 -.pre-chat-message .close-pre-chat-message {
569 +#pre-chat-message .close-pre-chat-message {
1341 570 position: absolute;
1342 571 top: -6px;
1343 572 right: -6px;
1344 573 background-color: #ccc;
1345 574 border: none;
1346 - color: #212121;
575 + color: #333;
1347 576 font-size: 14px;
1348 577 cursor: pointer;
1349 578 border-radius: 50%;
1350 579 width: 20px;
1351 - min-width: 20px;
1352 - min-height: 20px;
1353 580 height: 20px;
1354 581 display: flex;
1355 582 align-items: center;
1356 583 justify-content: center;
@@ -1355,682 +582,44 @@
1355 582 align-items: center;
1356 583 justify-content: center;
1357 584 padding: 0;
1358 585 line-height: 1;
586 + display: flex; /* Show the close button on hover */
1359 587 }
1360 588
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 589
1374 - .floating-chatbot-button {
1375 - bottom: 20px;
1376 - }
1377 590
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 591 @media (max-width: 550px) {
1435 - .questions-toggle-btn,
1436 - .questions-collapse-btn {
1437 - width: 28px;
1438 - height: 28px;
1439 - }
1440 592
1441 - .questions-toggle-btn svg,
1442 - .questions-collapse-btn svg {
1443 - width: 22px;
1444 - height: 22px;
593 + #pre-chat-message {
594 + bottom: 70px; /* Adjust this value as needed */
595 + right: 15px; /* Adjust this value as needed */
1445 596 }
1446 597
1447 - .pre-chat-message {
1448 - bottom: 70px;
1449 - right: 15px;
1450 - }
1451 -
1452 - .chat-input {
598 + #chat-input {
1453 599 width: calc(100% - 70px);
1454 600 }
1455 -
1456 - .bot-message,
1457 - .user-message {
601 + .bot-message, .user-message {
1458 602 padding: 10px;
1459 603 max-width: 95%;
1460 604 }
1461 -
1462 - .floating-chatbot-button {
605 + #floating-chatbot-button {
1463 606 bottom: 15px;
1464 607 right: 10px;
1465 608 }
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);
609 + #floating-chatbot {
610 + width: 100vw;
611 + height: calc(var(--vh, 1vh) * 100);
1475 612 margin: 0;
1476 613 padding: 0;
1477 614 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);
615 + bottom: 0;
616 + top: 0;
617 + left: 0;
618 + right: 0;
619 + border-radius: 0;
1484 620 }
1485 -
1486 - .floating-chatbot .mxchat-chatbot-wrapper {
1487 - border-radius: 16px;
1488 - overflow: hidden;
621 + #mxchat-chatbot-wrapper .chatbot-top-bar {
622 + border-top-left-radius: 0;
623 + border-top-right-radius: 0;
1489 624 }
1490 -
1491 - .mxchat-chatbot-wrapper .chatbot-top-bar {
1492 - border-top-left-radius: 16px;
1493 - border-top-right-radius: 16px;
1494 - }
1495 625 }
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 -}