PluginProbe
Search Atlas SEO – OTTO AI SEO Automation for WordPress / 2.6.21
Search Atlas SEO – OTTO AI SEO Automation for WordPress v2.6.21
2.6.26 2.6.25 2.6.24 2.6.23 2.6.22 2.6.21 2.6.20 2.6.19 2.6.18 2.6.17 2.6.16 2.6.15 2.6.14 2.6.13 2.6.12 2.6.11 2.6.10 2.6.9 2.6.8 2.6.7 2.6.6 2.6.5 2.6.4 2.6.3 2.5.23 All 138 releases
metasync / admin / css / metasync-html-editor.css

metasync-html-editor.css in Search Atlas SEO – OTTO AI SEO Automation for WordPress 2.6.21, at admin/css/metasync-html-editor.css

767 lines 14.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * MetaSync HTML Visual Editor Styles
3 *
4 * Custom styling for the GrapesJS-based visual editor
5 */
6
7 /* Editor Wrapper */
8 .metasync-html-editor-wrapper {
9 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
10 }
11
12 /* Editor Header */
13 .metasync-editor-header {
14 display: flex;
15 align-items: center;
16 justify-content: space-between;
17 background: #23282d;
18 border-bottom: 1px solid #1a1e23;
19 padding: 12px 20px;
20 height: 60px;
21 box-sizing: border-box;
22 }
23
24 .metasync-editor-header-left,
25 .metasync-editor-header-center,
26 .metasync-editor-header-right {
27 display: flex;
28 align-items: center;
29 gap: 16px;
30 }
31
32 .metasync-editor-header-left {
33 flex: 1;
34 }
35
36 .metasync-editor-header-center {
37 flex: 0 1 auto;
38 }
39
40 .metasync-editor-header-right {
41 flex: 0 1 auto;
42 }
43
44 /* Back Button */
45 .metasync-back-button {
46 display: inline-flex;
47 align-items: center;
48 gap: 6px;
49 color: #a7aaad;
50 text-decoration: none;
51 font-size: 14px;
52 padding: 6px 12px;
53 border-radius: 4px;
54 transition: all 0.2s;
55 }
56
57 .metasync-back-button:hover {
58 color: #ffffff;
59 background: rgba(255, 255, 255, 0.05);
60 }
61
62 .metasync-back-button .dashicons {
63 font-size: 18px;
64 width: 18px;
65 height: 18px;
66 }
67
68 /* Page Title */
69 .metasync-page-title {
70 display: flex;
71 align-items: center;
72 gap: 10px;
73 color: #ffffff;
74 font-size: 15px;
75 }
76
77 .metasync-page-title strong {
78 font-weight: 600;
79 max-width: 300px;
80 white-space: nowrap;
81 overflow: hidden;
82 text-overflow: ellipsis;
83 }
84
85 .metasync-editor-badge {
86 display: inline-flex;
87 align-items: center;
88 gap: 4px;
89 padding: 4px 10px;
90 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
91 color: #ffffff;
92 border-radius: 10px;
93 font-size: 11px;
94 font-weight: 700;
95 text-transform: uppercase;
96 letter-spacing: 0.5px;
97 }
98
99 /* Status Indicator */
100 .metasync-editor-status {
101 display: flex;
102 align-items: center;
103 gap: 8px;
104 padding: 6px 14px;
105 background: rgba(255, 255, 255, 0.05);
106 border-radius: 4px;
107 }
108
109 .metasync-status-indicator {
110 width: 8px;
111 height: 8px;
112 border-radius: 50%;
113 background: #46b450;
114 animation: pulse 2s ease-in-out infinite;
115 }
116
117 .metasync-status-indicator.unsaved {
118 background: #ffb900;
119 animation: none;
120 }
121
122 .metasync-status-indicator.saving {
123 background: #0073aa;
124 animation: spin 1s linear infinite;
125 }
126
127 .metasync-status-indicator.saved {
128 background: #46b450;
129 }
130
131 .metasync-status-indicator.error {
132 background: #dc3232;
133 animation: none;
134 }
135
136 .metasync-status-indicator.ready {
137 background: #72aee6;
138 }
139
140 .metasync-status-text {
141 color: #a7aaad;
142 font-size: 13px;
143 font-weight: 500;
144 }
145
146 @keyframes pulse {
147 0%, 100% {
148 opacity: 1;
149 }
150 50% {
151 opacity: 0.5;
152 }
153 }
154
155 @keyframes spin {
156 from {
157 transform: rotate(0deg);
158 }
159 to {
160 transform: rotate(360deg);
161 }
162 }
163
164 /* Editor Buttons */
165 .metasync-editor-header-right .button {
166 display: inline-flex;
167 align-items: center;
168 gap: 6px;
169 height: 36px;
170 padding: 0 16px;
171 font-size: 13px;
172 font-weight: 500;
173 border: none;
174 border-radius: 4px;
175 cursor: pointer;
176 transition: all 0.2s;
177 }
178
179 .metasync-editor-header-right .button .dashicons {
180 font-size: 16px;
181 width: 16px;
182 height: 16px;
183 }
184
185 .metasync-preview-button {
186 background: #2c3338;
187 color: #ffffff;
188 }
189
190 .metasync-preview-button:hover {
191 background: #3c434a;
192 color: #ffffff;
193 }
194
195 .metasync-save-button {
196 background: #2271b1;
197 color: #ffffff;
198 }
199
200 .metasync-save-button:hover {
201 background: #135e96;
202 color: #ffffff;
203 }
204
205 .metasync-save-button:disabled {
206 opacity: 0.6;
207 cursor: not-allowed;
208 }
209
210 /* Editor Container */
211 .metasync-editor-container {
212 background: #1e1e1e;
213 height: calc(100vh - 112px);
214 position: relative;
215 }
216
217 /* Force GrapesJS to show panels layout */
218 #metasync-gjs-editor .gjs-cv-canvas {
219 width: calc(100% - 320px) !important;
220 float: left;
221 }
222
223 #metasync-gjs-editor .gjs-pn-views-container,
224 #metasync-gjs-editor .gjs-pn-views {
225 position: absolute !important;
226 top: 0 !important;
227 right: 0 !important;
228 width: 320px !important;
229 height: 100% !important;
230 background: #23282d !important;
231 border-left: 1px solid #1a1e23 !important;
232 overflow-y: auto !important;
233 display: block !important;
234 z-index: 10 !important;
235 }
236
237 /* GrapesJS Customization */
238 .gjs-pn-panel {
239 background: #23282d;
240 border-right: 1px solid #1a1e23;
241 }
242
243 .gjs-pn-btn {
244 color: #a7aaad;
245 }
246
247 .gjs-pn-btn:hover,
248 .gjs-pn-btn.gjs-pn-active {
249 color: #ffffff;
250 background: rgba(255, 255, 255, 0.1);
251 }
252
253 .gjs-cv-canvas {
254 background: #f0f0f1;
255 }
256
257 .gjs-frame-wrapper {
258 border: none;
259 }
260
261 .gjs-block {
262 background: #2c3338;
263 border: 1px solid #3c434a;
264 color: #ffffff;
265 }
266
267 .gjs-block:hover {
268 background: #3c434a;
269 border-color: #667eea;
270 }
271
272 .gjs-field input,
273 .gjs-field select,
274 .gjs-field textarea {
275 background: #2c3338;
276 color: #ffffff;
277 border: 1px solid #3c434a;
278 }
279
280 .gjs-field input:focus,
281 .gjs-field select:focus,
282 .gjs-field textarea:focus {
283 border-color: #667eea;
284 outline: none;
285 }
286
287 .gjs-layer {
288 background: #2c3338;
289 color: #ffffff;
290 }
291
292 .gjs-layer:hover {
293 background: #3c434a;
294 }
295
296 .gjs-sm-sector-title {
297 background: #2c3338;
298 color: #ffffff;
299 border-bottom: 1px solid #3c434a;
300 }
301
302 .gjs-sm-property {
303 background: #23282d;
304 border-bottom: 1px solid #1a1e23;
305 }
306
307 .gjs-sm-label {
308 color: #a7aaad;
309 }
310
311 /* Responsive Adjustments */
312 @media screen and (max-width: 1280px) {
313 .metasync-page-title strong {
314 max-width: 200px;
315 }
316 }
317
318 @media screen and (max-width: 960px) {
319 .metasync-editor-header {
320 flex-wrap: wrap;
321 height: auto;
322 gap: 12px;
323 }
324
325 .metasync-editor-header-left,
326 .metasync-editor-header-center,
327 .metasync-editor-header-right {
328 flex: 0 1 auto;
329 }
330
331 .metasync-page-title {
332 flex-direction: column;
333 align-items: flex-start;
334 gap: 4px;
335 }
336 }
337
338 @media screen and (max-width: 782px) {
339 .metasync-editor-header {
340 padding: 10px 16px;
341 }
342
343 .metasync-back-button,
344 .metasync-page-title,
345 .metasync-editor-status,
346 .metasync-editor-header-right .button {
347 font-size: 12px;
348 }
349
350 .metasync-editor-header-right .button {
351 height: 32px;
352 padding: 0 12px;
353 }
354
355 .metasync-editor-container {
356 height: calc(100vh - 106px);
357 }
358 }
359
360 /* Loading State */
361 .metasync-editor-loading {
362 display: flex;
363 align-items: center;
364 justify-content: center;
365 height: 100%;
366 color: #a7aaad;
367 font-size: 16px;
368 }
369
370 .metasync-editor-loading::before {
371 content: '';
372 width: 32px;
373 height: 32px;
374 margin-right: 12px;
375 border: 3px solid #3c434a;
376 border-top-color: #667eea;
377 border-radius: 50%;
378 animation: spin 0.8s linear infinite;
379 }
380
381 /* Enhanced Sidebar Panels */
382 .gjs-pn-views {
383 background: #23282d;
384 border-left: 1px solid #1a1e23;
385 width: 300px !important;
386 }
387
388 /* Panel Switcher Buttons */
389 #panel-switcher,
390 .gjs-pn-panel#panel-switcher {
391 display: flex !important;
392 flex-direction: row !important;
393 background: #2c3338 !important;
394 border-bottom: 1px solid #1a1e23 !important;
395 padding: 0 !important;
396 width: 100% !important;
397 order: -1 !important;
398 }
399
400 #panel-switcher .gjs-pn-btn {
401 flex: 1;
402 display: flex;
403 flex-direction: column;
404 align-items: center;
405 justify-content: center;
406 gap: 4px;
407 padding: 12px 8px;
408 color: #a7aaad;
409 background: transparent;
410 border: none;
411 border-right: 1px solid #1a1e23;
412 cursor: pointer;
413 transition: all 0.2s;
414 }
415
416 #panel-switcher .gjs-pn-btn:last-child {
417 border-right: none;
418 }
419
420 #panel-switcher .gjs-pn-btn i {
421 font-size: 18px;
422 }
423
424 #panel-switcher .gjs-pn-btn .gjs-pn-label {
425 font-size: 11px;
426 font-weight: 600;
427 text-transform: uppercase;
428 letter-spacing: 0.5px;
429 }
430
431 #panel-switcher .gjs-pn-btn:hover {
432 color: #ffffff;
433 background: rgba(255, 255, 255, 0.05);
434 }
435
436 #panel-switcher .gjs-pn-btn.gjs-pn-active {
437 color: #ffffff;
438 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
439 box-shadow: inset 0 -3px 0 rgba(255, 255, 255, 0.2);
440 }
441
442 /* Style Manager Enhancements */
443 .gjs-sm-sectors,
444 .gjs-pn-views .gjs-sm-sectors {
445 background: #23282d;
446 padding: 0;
447 display: block !important;
448 visibility: visible !important;
449 opacity: 1 !important;
450 height: auto !important;
451 }
452
453 .gjs-sm-sector {
454 border: none;
455 border-bottom: 1px solid #1a1e23;
456 margin: 0;
457 }
458
459 .gjs-sm-sector-title {
460 background: #2c3338;
461 color: #ffffff;
462 padding: 14px 16px;
463 font-size: 13px;
464 font-weight: 600;
465 border-bottom: 1px solid #1a1e23;
466 cursor: pointer;
467 display: flex;
468 align-items: center;
469 justify-content: space-between;
470 transition: all 0.2s;
471 }
472
473 .gjs-sm-sector-title:hover {
474 background: #3c434a;
475 }
476
477 .gjs-sm-sector.gjs-sm-open .gjs-sm-sector-title {
478 background: linear-gradient(135deg, rgba(102, 126, 234, 0.2) 0%, rgba(118, 75, 162, 0.2) 100%);
479 color: #ffffff;
480 border-bottom-color: #667eea;
481 }
482
483 .gjs-sm-properties {
484 background: #23282d;
485 padding: 8px 0;
486 }
487
488 .gjs-sm-property {
489 background: transparent;
490 border-bottom: 1px solid rgba(255, 255, 255, 0.05);
491 padding: 10px 16px;
492 }
493
494 .gjs-sm-property:last-child {
495 border-bottom: none;
496 }
497
498 .gjs-sm-label {
499 color: #a7aaad;
500 font-size: 12px;
501 font-weight: 500;
502 margin-bottom: 6px;
503 }
504
505 .gjs-sm-field input,
506 .gjs-sm-field select {
507 background: #2c3338;
508 border: 1px solid #3c434a;
509 color: #ffffff;
510 padding: 6px 10px;
511 border-radius: 4px;
512 font-size: 13px;
513 width: 100%;
514 transition: all 0.2s;
515 }
516
517 .gjs-sm-field input:focus,
518 .gjs-sm-field select:focus {
519 border-color: #667eea;
520 outline: none;
521 box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);
522 }
523
524 /* Color Picker Enhancement */
525 .gjs-field-color {
526 display: flex;
527 gap: 8px;
528 }
529
530 .gjs-field-color input[type="color"] {
531 width: 50px;
532 height: 34px;
533 padding: 2px;
534 border-radius: 4px;
535 cursor: pointer;
536 }
537
538 .gjs-field-color input[type="text"] {
539 flex: 1;
540 }
541
542 /* Select Presets Enhancement */
543 .gjs-sm-stack {
544 display: flex;
545 flex-wrap: wrap;
546 gap: 6px;
547 margin-top: 8px;
548 }
549
550 .gjs-sm-stack .gjs-sm-layer {
551 flex: 0 0 calc(50% - 3px);
552 background: #2c3338;
553 border: 1px solid #3c434a;
554 color: #ffffff;
555 padding: 8px 10px;
556 border-radius: 4px;
557 font-size: 11px;
558 text-align: center;
559 cursor: pointer;
560 transition: all 0.2s;
561 }
562
563 .gjs-sm-stack .gjs-sm-layer:hover {
564 background: #3c434a;
565 border-color: #667eea;
566 transform: translateY(-1px);
567 }
568
569 .gjs-sm-stack .gjs-sm-layer.gjs-sm-active {
570 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
571 border-color: #667eea;
572 color: #ffffff;
573 }
574
575 /* Trait Manager (Settings Panel) */
576 .gjs-trt-traits,
577 .gjs-pn-views .gjs-trt-traits {
578 background: #23282d;
579 padding: 16px;
580 display: block !important;
581 visibility: visible !important;
582 opacity: 1 !important;
583 }
584
585 .gjs-trt-trait {
586 margin-bottom: 16px;
587 }
588
589 .gjs-trt-trait__label {
590 color: #a7aaad;
591 font-size: 12px;
592 font-weight: 600;
593 text-transform: uppercase;
594 letter-spacing: 0.5px;
595 margin-bottom: 6px;
596 display: block;
597 }
598
599 .gjs-trt-trait input,
600 .gjs-trt-trait select,
601 .gjs-trt-trait textarea {
602 background: #2c3338;
603 border: 1px solid #3c434a;
604 color: #ffffff;
605 padding: 8px 12px;
606 border-radius: 4px;
607 font-size: 13px;
608 width: 100%;
609 transition: all 0.2s;
610 }
611
612 .gjs-trt-trait input:focus,
613 .gjs-trt-trait select:focus,
614 .gjs-trt-trait textarea:focus {
615 border-color: #667eea;
616 outline: none;
617 box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);
618 }
619
620 .gjs-trt-trait textarea {
621 min-height: 80px;
622 font-family: 'Courier New', monospace;
623 resize: vertical;
624 }
625
626 /* Layer Manager */
627 .gjs-layer-manager,
628 .gjs-layers,
629 .gjs-pn-views .gjs-layer-manager,
630 .gjs-pn-views .gjs-layers {
631 background: #23282d;
632 padding: 8px;
633 display: block !important;
634 visibility: visible !important;
635 opacity: 1 !important;
636 }
637
638 .gjs-layer {
639 background: #2c3338;
640 border: 1px solid #3c434a;
641 color: #ffffff;
642 margin-bottom: 4px;
643 border-radius: 4px;
644 transition: all 0.2s;
645 }
646
647 .gjs-layer:hover {
648 background: #3c434a;
649 border-color: #667eea;
650 }
651
652 .gjs-layer.gjs-selected {
653 background: linear-gradient(135deg, rgba(102, 126, 234, 0.3) 0%, rgba(118, 75, 162, 0.3) 100%);
654 border-color: #667eea;
655 }
656
657 .gjs-layer__title {
658 color: #ffffff;
659 font-size: 12px;
660 }
661
662 /* Block Manager */
663 .gjs-blocks-c,
664 .gjs-pn-views .gjs-blocks-c {
665 background: #23282d !important;
666 padding: 16px !important;
667 display: grid !important;
668 grid-template-columns: repeat(2, 1fr) !important;
669 gap: 12px !important;
670 visibility: visible !important;
671 opacity: 1 !important;
672 }
673
674 .gjs-block {
675 background: #2c3338;
676 border: 1px solid #3c434a;
677 border-radius: 6px;
678 padding: 16px 12px;
679 text-align: center;
680 cursor: pointer;
681 transition: all 0.2s;
682 }
683
684 .gjs-block:hover {
685 background: #3c434a;
686 border-color: #667eea;
687 transform: translateY(-2px);
688 box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
689 }
690
691 .gjs-block__media {
692 font-size: 32px;
693 margin-bottom: 8px;
694 }
695
696 .gjs-block-label {
697 color: #ffffff;
698 font-size: 11px;
699 font-weight: 600;
700 text-transform: uppercase;
701 letter-spacing: 0.5px;
702 }
703
704 /* Slider Enhancement */
705 input[type="range"] {
706 -webkit-appearance: none;
707 width: 100%;
708 height: 6px;
709 border-radius: 3px;
710 background: #3c434a;
711 outline: none;
712 }
713
714 input[type="range"]::-webkit-slider-thumb {
715 -webkit-appearance: none;
716 appearance: none;
717 width: 16px;
718 height: 16px;
719 border-radius: 50%;
720 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
721 cursor: pointer;
722 transition: all 0.2s;
723 }
724
725 input[type="range"]::-webkit-slider-thumb:hover {
726 transform: scale(1.2);
727 box-shadow: 0 0 8px rgba(102, 126, 234, 0.5);
728 }
729
730 input[type="range"]::-moz-range-thumb {
731 width: 16px;
732 height: 16px;
733 border-radius: 50%;
734 background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
735 cursor: pointer;
736 border: none;
737 transition: all 0.2s;
738 }
739
740 input[type="range"]::-moz-range-thumb:hover {
741 transform: scale(1.2);
742 box-shadow: 0 0 8px rgba(102, 126, 234, 0.5);
743 }
744
745 /* Selection Highlight */
746 .gjs-cv-canvas [data-gjs-type]:hover {
747 outline: 2px dashed #667eea;
748 outline-offset: 2px;
749 }
750
751 .gjs-cv-canvas .gjs-selected {
752 outline: 2px solid #667eea !important;
753 outline-offset: 2px;
754 position: relative;
755 }
756
757 /* Tooltip Enhancement */
758 .gjs-tooltip {
759 background: #2c3338;
760 color: #ffffff;
761 border: 1px solid #667eea;
762 border-radius: 4px;
763 padding: 6px 10px;
764 font-size: 11px;
765 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
766 }
767