PluginProbe
404 Solution / 4.3.3
404 Solution v4.3.3
4.3.5 4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.2.0 4.1.19 4.1.18 4.1.17 4.1.16 4.1.15 4.1.13 4.1.12 4.1.11 4.1.10 4.1.9 4.1.8 4.1.7 4.1.6 4.1.5 4.1.4 4.1.3 trunk 2.30.0 All 109 releases
404-solution / includes / html / 404solutionStyles-rtl.css

404solutionStyles-rtl.css in 404 Solution 4.3.3, at includes/html/404solutionStyles-rtl.css

329 lines 7.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * 404 Solution RTL (Right-to-Left) Styles
3 *
4 * This file provides RTL layout support for Arabic, Hebrew, and other RTL languages.
5 * It overrides directional CSS properties from 404solutionStyles.css.
6 *
7 * Loaded automatically when WordPress is_rtl() returns true.
8 */
9
10 /* ===== General RTL Direction ===== */
11 body.rtl .abj404-wrap,
12 [dir="rtl"] .abj404-wrap {
13 direction: rtl;
14 text-align: right;
15 }
16
17 /* ===== Status Message Borders ===== */
18 /* Swap left border to right border for status messages */
19 body.rtl .abj404-status-warning,
20 [dir="rtl"] .abj404-status-warning {
21 border-left: none;
22 border-right: 4px solid var(--abj404-warning-border);
23 }
24
25 body.rtl .abj404-status-error,
26 [dir="rtl"] .abj404-status-error {
27 border-left: none;
28 border-right: 4px solid var(--abj404-danger-border);
29 }
30
31 body.rtl .abj404-error-log-entry,
32 [dir="rtl"] .abj404-error-log-entry {
33 border-left: none;
34 border-right: 4px solid var(--abj404-danger-border);
35 }
36
37 /* ===== Notice and Alert Borders ===== */
38 body.rtl .abj404-notice,
39 [dir="rtl"] .abj404-notice {
40 border-left: none;
41 border-right: 3px solid var(--abj404-accent);
42 }
43
44 body.rtl .abj404-highlight,
45 [dir="rtl"] .abj404-highlight {
46 border-left: none;
47 border-right: 4px solid var(--abj404-primary);
48 }
49
50 body.rtl .abj404-danger-highlight,
51 [dir="rtl"] .abj404-danger-highlight {
52 border-left: none !important;
53 border-right: 4px solid var(--abj404-danger-text) !important;
54 }
55
56 body.rtl .abj404-info-box,
57 [dir="rtl"] .abj404-info-box {
58 border-left: none;
59 border-right: 4px solid var(--abj404-primary);
60 }
61
62 /* ===== Margins - Swap Left/Right ===== */
63 body.rtl .abj404-btn-icon,
64 [dir="rtl"] .abj404-btn-icon {
65 margin-left: 0;
66 margin-right: 8px;
67 }
68
69 body.rtl .abj404-icon,
70 [dir="rtl"] .abj404-icon {
71 margin-right: 0;
72 margin-left: 8px;
73 }
74
75 body.rtl .abj404-action-icon,
76 [dir="rtl"] .abj404-action-icon {
77 margin-right: 0;
78 margin-left: 10px;
79 }
80
81 body.rtl .abj404-checkbox-label,
82 [dir="rtl"] .abj404-checkbox-label {
83 margin-left: 0;
84 margin-right: 4px;
85 }
86
87 body.rtl .abj404-bulk-actions-icon,
88 [dir="rtl"] .abj404-bulk-actions-icon {
89 margin-right: 0 !important;
90 margin-left: 8px !important;
91 }
92
93 /* ===== Text Alignment ===== */
94 body.rtl .abj404-text-right,
95 [dir="rtl"] .abj404-text-right {
96 text-align: left;
97 }
98
99 body.rtl .abj404-text-left,
100 [dir="rtl"] .abj404-text-left {
101 text-align: right;
102 }
103
104 body.rtl .abj404-table th,
105 body.rtl .abj404-table td,
106 [dir="rtl"] .abj404-table th,
107 [dir="rtl"] .abj404-table td {
108 text-align: right;
109 }
110
111 /* Pagination right-justifies via margin-left:auto in LTR; mirror it to the
112 left edge in RTL. */
113 body.rtl .abj404-filter-bar .abj404-pagination,
114 [dir="rtl"] .abj404-filter-bar .abj404-pagination {
115 text-align: left;
116 margin-left: 0;
117 margin-right: auto;
118 }
119
120 /* The search box right-aligns in the list-top row via margin-left:auto in
121 LTR; mirror it to the left in RTL. */
122 body.rtl .abj404-list-top .abj404-search-box,
123 [dir="rtl"] .abj404-list-top .abj404-search-box {
124 margin-left: 0;
125 margin-right: auto;
126 }
127
128 /* ===== Tree Indentation - Swap padding-left to padding-right ===== */
129 body.rtl .abj404-tree-level-0,
130 [dir="rtl"] .abj404-tree-level-0 {
131 padding-left: 0;
132 padding-right: 10px;
133 }
134
135 body.rtl .abj404-tree-level-1,
136 [dir="rtl"] .abj404-tree-level-1 {
137 padding-left: 0;
138 padding-right: 10px;
139 }
140
141 body.rtl .abj404-tree-level-2,
142 [dir="rtl"] .abj404-tree-level-2 {
143 padding-left: 0;
144 padding-right: 20px;
145 }
146
147 body.rtl .abj404-tree-level-3,
148 [dir="rtl"] .abj404-tree-level-3 {
149 padding-left: 0;
150 padding-right: 30px;
151 }
152
153 body.rtl .abj404-tree-level-4,
154 [dir="rtl"] .abj404-tree-level-4 {
155 padding-left: 0;
156 padding-right: 40px;
157 }
158
159 body.rtl .abj404-tree-level-5,
160 [dir="rtl"] .abj404-tree-level-5 {
161 padding-left: 0;
162 padding-right: 50px;
163 }
164
165 body.rtl .abj404-tree-level-6,
166 [dir="rtl"] .abj404-tree-level-6 {
167 padding-left: 0;
168 padding-right: 60px;
169 }
170
171 body.rtl .abj404-tree-level-7,
172 [dir="rtl"] .abj404-tree-level-7 {
173 padding-left: 0;
174 padding-right: 70px;
175 }
176
177 body.rtl .abj404-tree-level-8,
178 [dir="rtl"] .abj404-tree-level-8 {
179 padding-left: 0;
180 padding-right: 80px;
181 }
182
183 body.rtl .abj404-tree-level-9,
184 [dir="rtl"] .abj404-tree-level-9 {
185 padding-left: 0;
186 padding-right: 90px;
187 }
188
189 body.rtl .abj404-tree-level-10,
190 [dir="rtl"] .abj404-tree-level-10 {
191 padding-left: 0;
192 padding-right: 100px;
193 }
194
195 /* ===== Sidebar and Layout ===== */
196 body.rtl .abj404-sidebar,
197 [dir="rtl"] .abj404-sidebar {
198 border-right: none;
199 border-left: 1px solid var(--abj404-border-light);
200 }
201
202 body.rtl .abj404-sidebar:last-child,
203 [dir="rtl"] .abj404-sidebar:last-child {
204 border-left: none;
205 }
206
207 body.rtl .abj404-content-with-sidebar,
208 [dir="rtl"] .abj404-content-with-sidebar {
209 padding-left: 0;
210 padding-right: 288px;
211 }
212
213 /* ===== Form Elements ===== */
214 body.rtl .abj404-input-with-icon,
215 [dir="rtl"] .abj404-input-with-icon {
216 padding-right: 8px;
217 padding-left: 36px;
218 }
219
220 body.rtl .abj404-search-input,
221 [dir="rtl"] .abj404-search-input {
222 padding-right: 8px !important;
223 padding-left: 32px !important;
224 }
225
226 body.rtl .abj404-autocomplete-input,
227 [dir="rtl"] .abj404-autocomplete-input {
228 padding-right: 8px;
229 padding-left: 36px;
230 }
231
232 /* ===== Auto-Margins - Keep centered elements centered ===== */
233 body.rtl .abj404-center-auto,
234 [dir="rtl"] .abj404-center-auto {
235 margin-left: auto;
236 margin-right: auto;
237 }
238
239 /* ===== Navigation Tabs ===== */
240 body.rtl .abj404-nav-tab-wrapper,
241 [dir="rtl"] .abj404-nav-tab-wrapper {
242 direction: rtl;
243 }
244
245 body.rtl .abj404-nav-tab,
246 [dir="rtl"] .abj404-nav-tab {
247 float: right;
248 }
249
250 /* ===== Buttons and Actions ===== */
251 body.rtl .abj404-actions,
252 [dir="rtl"] .abj404-actions {
253 text-align: left;
254 }
255
256 body.rtl .abj404-btn-group,
257 [dir="rtl"] .abj404-btn-group {
258 direction: rtl;
259 }
260
261 /* ===== Tables ===== */
262 body.rtl .abj404-table,
263 [dir="rtl"] .abj404-table {
264 direction: rtl;
265 }
266
267 body.rtl .wp-list-table,
268 [dir="rtl"] .wp-list-table {
269 direction: rtl;
270 }
271
272 /* ===== Chips Navigation ===== */
273 body.rtl .abj404-chips-nav,
274 [dir="rtl"] .abj404-chips-nav {
275 direction: rtl;
276 }
277
278 /* ===== Cards ===== */
279 body.rtl .abj404-card,
280 [dir="rtl"] .abj404-card {
281 text-align: right;
282 }
283
284 body.rtl .abj404-card-content,
285 [dir="rtl"] .abj404-card-content {
286 padding-left: 16px;
287 padding-right: 20px;
288 }
289
290 /* ===== Responsive Adjustments ===== */
291 @media screen and (max-width: 782px) {
292 body.rtl .abj404-content-with-sidebar,
293 [dir="rtl"] .abj404-content-with-sidebar {
294 padding-left: 0;
295 padding-right: 0;
296 }
297 }
298
299 /* ===== Dropdown Menus ===== */
300 body.rtl .abj404-dropdown-menu,
301 [dir="rtl"] .abj404-dropdown-menu {
302 left: auto;
303 right: 0;
304 text-align: right;
305 }
306
307 /* ===== Inline Lists ===== */
308 body.rtl .abj404-inline-list li,
309 [dir="rtl"] .abj404-inline-list li {
310 float: right;
311 }
312
313 /* ===== Checkbox/Radio Label Spacing ===== */
314 body.rtl input[type="checkbox"] + label,
315 body.rtl input[type="radio"] + label,
316 [dir="rtl"] input[type="checkbox"] + label,
317 [dir="rtl"] input[type="radio"] + label {
318 margin-left: 0;
319 margin-right: 4px;
320 }
321
322 /* ===== Filter Buttons ===== */
323 body.rtl .abj404-filter-btn,
324 [dir="rtl"] .abj404-filter-btn {
325 margin-left: 0;
326 margin-right: -5px;
327 }
328
329