PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.2.23
MxChat – AI Chatbot & Content Generation for WordPress v3.2.23
3.2.25 3.2.24 3.2.23 3.2.22 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 All 156 releases
← All changes | css/chat-style.css +146 -14 3.2.14 → 3.2.23 View file →
@@ -1,4 +1,45 @@
1 +/* ============================================================
2 + DEFENSIVE BASELINE (v3.2.15, plan-52fd4c)
3 + The widget renders in the host page DOM with no isolation layer,
4 + so host-theme CSS bleeds into it. This block is a scoped floor:
5 + (1) border-box everywhere inside the widget (themes that set
6 + *{box-sizing:content-box} otherwise break every fixed-size element);
7 + (2) a specificity-0 reset via :where() of exactly the properties
8 + themes commonly weaponize on form/button elements. :where() keeps
9 + specificity at zero, so every later widget rule AND any customer
10 + custom CSS still wins unchanged — the reset only fills gaps where
11 + we currently set nothing. Scoped: nothing here can leak onto the
12 + host page. Deliberately NOT Shadow DOM / @layer / !important.
13 + ============================================================ */
14 +.mxchat-chatbot-wrapper,
15 +.mxchat-chatbot-wrapper *,
16 +.mxchat-chatbot-wrapper *::before,
17 +.mxchat-chatbot-wrapper *::after,
18 +.floating-chatbot,
19 +.floating-chatbot *,
20 +.floating-chatbot *::before,
21 +.floating-chatbot *::after {
22 + box-sizing: border-box;
23 +}
24 +
25 +.mxchat-chatbot-wrapper :where(button, input, select, textarea) {
26 + font-family: inherit;
27 + font-size: inherit;
28 + line-height: inherit;
29 + margin: 0;
30 + text-transform: none;
31 + letter-spacing: normal;
32 + min-height: 0;
33 + max-width: none;
34 + background-image: none;
35 + text-shadow: none;
36 + float: none;
37 +}
38 +.mxchat-chatbot-wrapper :where(button) {
39 + width: auto;
40 +}
41 +
1 42 /* ========================================
2 43 NOTIFICATION SYSTEM
3 44 ======================================== */
4 45 .chat-notification-badge {
@@ -28,21 +69,41 @@
28 69 .email-blocker {
29 70 display: flex;
30 71 flex-direction: column;
31 72 align-items: center;
32 - justify-content: center;
73 + /* No justify-content: center here — on an overflowing flex container it
74 + pushes content past BOTH edges, making the top unreachable by scroll.
75 + The auto margins on the first/last children below center the content
76 + when there is room and collapse to flex-start when there is not. */
33 77 border-radius: 12px;
34 78 padding: 30px 20px;
35 79 max-width: 100%;
80 + max-height: 100%;
81 + overflow-y: auto;
82 + scrollbar-width: thin;
36 83 margin: auto;
37 84 text-align: center;
38 85 animation: fadeIn 0.5s ease-in-out;
39 86 }
40 87
88 +.email-blocker::-webkit-scrollbar {
89 + width: 5px;
90 +}
91 +
92 +.email-blocker::-webkit-scrollbar-thumb {
93 + background-color: #212121;
94 + border-radius: 20px;
95 +}
96 +
41 97 .email-blocker-header {
98 + margin-top: auto;
42 99 margin-bottom: 20px;
43 100 }
44 101
102 +.email-blocker .email-collection-form {
103 + margin-bottom: auto;
104 +}
105 +
45 106 .email-blocker-logo {
46 107 max-width: 80px;
47 108 margin-bottom: 10px;
48 109 }
@@ -79,8 +140,40 @@
79 140 box-shadow: 0 0 8px rgba(0, 115, 170, 0.3);
80 141 outline: none;
81 142 }
82 143
144 +/* Consent checkbox row (b062c4). Left-aligned inside the centered form so a
145 + multi-line label reads naturally; sized to stay compact on 320-390px. */
146 +.email-blocker .mxchat-consent-row {
147 + display: flex;
148 + align-items: flex-start;
149 + gap: 8px;
150 + width: 100%;
151 + margin-bottom: 15px;
152 + text-align: left;
153 +}
154 +
155 +.email-blocker .mxchat-consent-checkbox {
156 + flex-shrink: 0;
157 + width: 16px;
158 + height: 16px;
159 + margin: 2px 0 0;
160 + accent-color: #0073aa;
161 + cursor: pointer;
162 +}
163 +
164 +.email-blocker .mxchat-consent-label {
165 + font-size: 13px;
166 + line-height: 1.45;
167 + color: #555555;
168 + cursor: pointer;
169 +}
170 +
171 +.email-blocker .mxchat-consent-label a {
172 + color: #0073aa;
173 + text-decoration: underline;
174 +}
175 +
83 176 .email-blocker button {
84 177 background-color: #0073aa;
85 178 color: #ffffff;
86 179 padding: 12px 20px;
@@ -555,9 +648,8 @@
555 648 .mxchat-popular-questions.collapsed .questions-collapse-btn {
556 649 display: none;
557 650 }
558 651
559 -/* MISSING - These need to be inside the container context: */
560 652 .mxchat-popular-questions .mxchat-popular-questions-container .questions-toggle-btn {
561 653 background: none;
562 654 border: none;
563 655 padding: 0;
@@ -590,8 +682,9 @@
590 682 box-shadow: none;
591 683 outline: none;
592 684 align-self: center; /* Center in flex container */
593 685 order: -1; /* Make sure it appears first */
686 + flex-shrink: 0; /* same flex auto-minimum caveat as .mxchat-popular-question */
594 687 }
595 688
596 689 .questions-toggle-btn:hover,
597 690 .questions-collapse-btn:hover,
@@ -641,8 +734,13 @@
641 734 text-align: initial;
642 735 transition: all 0.3s ease;
643 736 margin-bottom: 0;
644 737 box-shadow: none;
738 + /* The defensive baseline's min-height:0 on :where(button) removes the
739 + flex automatic minimum size, so without this the column-flex scroll
740 + container compresses all questions to fit 200px and the scrollbox
741 + never appears (plan d51560). */
742 + flex-shrink: 0;
645 743 }
646 744
647 745 .mxchat-popular-question:hover {
648 746 background-color: #eaeaea;
@@ -1148,8 +1246,11 @@
1148 1246 }
1149 1247
1150 1248 .mxchat-chatbot-wrapper .chatbot-top-bar button.exit-chat {
1151 1249 background: transparent;
1250 + /* v3.2.15 (plan-52fd4c): explicit guards against host-theme button rules.
1251 + Margin deliberately untouched — .exit-chat relies on margin-left:auto. */
1252 + background-image: none;
1152 1253 border: none;
1153 1254 opacity: 0.8;
1154 1255 padding: 0;
1155 1256 width: 32px;
@@ -1154,10 +1255,17 @@
1154 1255 padding: 0;
1155 1256 width: 32px;
1156 1257 height: 32px;
1157 1258 min-width: 32px;
1259 + min-height: 32px;
1260 + max-width: none;
1158 1261 flex: 0 0 auto;
1159 1262 border-radius: 6px;
1263 + font-family: inherit;
1264 + text-transform: none;
1265 + text-shadow: none;
1266 + appearance: none;
1267 + -webkit-appearance: none;
1160 1268 transition: opacity 0.15s ease, background 0.15s ease;
1161 1269 }
1162 1270
1163 1271 .mxchat-chatbot-wrapper .chatbot-top-bar {
@@ -1825,18 +1933,29 @@
1825 1933 background: rgba(255, 255, 255, 0.12);
1826 1934 opacity: 1;
1827 1935 outline: none;
1828 1936 }
1829 -.mxchat-header-btn {
1937 +/* v3.2.15 (plan-52fd4c): kebab rules scoped under the wrapper + explicit
1938 + guards on every property a theme's button/link rules commonly set
1939 + (font-family, margin, appearance, text-transform, background-image),
1940 + after a customer site's theme visibly mangled the dropdown. */
1941 +.mxchat-chatbot-wrapper .mxchat-header-btn {
1830 1942 border: none;
1831 1943 background: transparent;
1944 + background-image: none;
1832 1945 cursor: pointer;
1833 1946 display: inline-flex;
1834 1947 align-items: center;
1835 1948 justify-content: center;
1836 1949 padding: 0;
1950 + margin: 0;
1837 1951 opacity: 0.8;
1838 1952 color: #fff;
1953 + font-family: inherit;
1954 + text-transform: none;
1955 + text-shadow: none;
1956 + appearance: none;
1957 + -webkit-appearance: none;
1839 1958 transition: opacity 0.15s ease, background 0.15s ease;
1840 1959 border-radius: 6px;
1841 1960 line-height: 0;
1842 1961 width: 32px;
@@ -1841,30 +1960,33 @@
1841 1960 line-height: 0;
1842 1961 width: 32px;
1843 1962 height: 32px;
1844 1963 min-width: 32px;
1964 + min-height: 32px;
1965 + max-width: none;
1845 1966 flex: 0 0 auto;
1846 1967 }
1847 -.mxchat-header-btn:hover,
1848 -.mxchat-header-btn:focus {
1968 +.mxchat-chatbot-wrapper .mxchat-header-btn:hover,
1969 +.mxchat-chatbot-wrapper .mxchat-header-btn:focus {
1849 1970 opacity: 1;
1850 1971 background: rgba(255, 255, 255, 0.12);
1851 1972 outline: none;
1852 1973 }
1853 -.mxchat-header-btn[aria-expanded="true"] {
1974 +.mxchat-chatbot-wrapper .mxchat-header-btn[aria-expanded="true"] {
1854 1975 opacity: 1;
1855 1976 background: rgba(255, 255, 255, 0.12);
1856 1977 }
1857 -.mxchat-menu-trigger svg {
1978 +.mxchat-chatbot-wrapper .mxchat-menu-trigger svg {
1858 1979 width: 18px;
1859 1980 height: 18px;
1860 1981 }
1861 1982
1862 -.mxchat-header-menu {
1983 +.mxchat-chatbot-wrapper .mxchat-header-menu {
1863 1984 position: absolute;
1864 1985 top: calc(100% + 6px);
1865 1986 right: 0;
1866 1987 min-width: 220px;
1988 + margin: 0;
1867 1989 background: var(--mxchat-menu-bg, #ffffff);
1868 1990 color: var(--mxchat-menu-fg, #1a1a1a);
1869 1991 border: 1px solid rgba(127, 127, 127, 0.20);
1870 1992 border-radius: 10px;
@@ -1869,35 +1991,45 @@
1869 1991 border: 1px solid rgba(127, 127, 127, 0.20);
1870 1992 border-radius: 10px;
1871 1993 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 0 2px 6px rgba(0, 0, 0, 0.10);
1872 1994 padding: 4px;
1873 - z-index: 5;
1995 + font-family: inherit;
1996 + z-index: 99;
1874 1997 opacity: 0;
1875 1998 transform: translateY(-4px);
1876 1999 pointer-events: none;
1877 2000 transition: opacity 0.12s ease, transform 0.12s ease;
1878 2001 }
1879 -.mxchat-header-menu.is-open {
2002 +.mxchat-chatbot-wrapper .mxchat-header-menu.is-open {
1880 2003 opacity: 1;
1881 2004 transform: translateY(0);
1882 2005 pointer-events: auto;
1883 2006 }
1884 -.mxchat-header-menu[hidden] {
2007 +.mxchat-chatbot-wrapper .mxchat-header-menu[hidden] {
1885 2008 display: none;
1886 2009 }
1887 -.mxchat-menu-item {
2010 +.mxchat-chatbot-wrapper .mxchat-menu-item {
1888 2011 display: flex;
1889 2012 align-items: center;
1890 2013 gap: 10px;
1891 2014 width: 100%;
1892 2015 padding: 8px 12px;
2016 + margin: 0;
1893 2017 min-height: 40px;
1894 2018 border: none;
1895 2019 background: transparent;
2020 + background-image: none;
1896 2021 color: inherit;
2022 + font-family: inherit;
1897 2023 font-size: 14px;
1898 2024 line-height: 1.3;
2025 + letter-spacing: normal;
1899 2026 text-align: left;
2027 + text-transform: none;
2028 + text-shadow: none;
2029 + white-space: nowrap;
2030 + appearance: none;
2031 + -webkit-appearance: none;
1900 2032 cursor: pointer;
1901 2033 border-radius: 6px;
1902 2034 transition: background 0.12s ease;
1903 2035 text-decoration: none;
@@ -1902,10 +2034,10 @@
1902 2034 transition: background 0.12s ease;
1903 2035 text-decoration: none;
1904 2036 box-sizing: border-box;
1905 2037 }
1906 -.mxchat-menu-item:hover,
1907 -.mxchat-menu-item:focus {
2038 +.mxchat-chatbot-wrapper .mxchat-menu-item:hover,
2039 +.mxchat-chatbot-wrapper .mxchat-menu-item:focus {
1908 2040 background: rgba(127, 127, 127, 0.18);
1909 2041 outline: none;
1910 2042 }
1911 2043 .mxchat-menu-item-icon {