cms-block-editor 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css ADDED
@@ -0,0 +1,2633 @@
1
+ /* src/styles/editor.css */
2
+ .cms-editor-shell {
3
+ position: relative;
4
+ border: 2px solid #e9ecef;
5
+ border-radius: 12px;
6
+ background: white;
7
+ transition: border-color 0.3s;
8
+ overflow: hidden;
9
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
10
+ }
11
+ .cms-editor-shell:focus-within {
12
+ border-color: #667eea;
13
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
14
+ }
15
+ .cms-toolbar {
16
+ display: flex;
17
+ align-items: center;
18
+ gap: 4px;
19
+ padding: 12px;
20
+ border-bottom: 1px solid #e9ecef;
21
+ background:
22
+ linear-gradient(
23
+ to bottom,
24
+ #fafbfc 0%,
25
+ #f6f8fa 100%);
26
+ flex-wrap: wrap;
27
+ }
28
+ .cms-toolbar-divider {
29
+ width: 1px;
30
+ height: 24px;
31
+ background: #dee2e6;
32
+ margin: 0 4px;
33
+ }
34
+ .cms-toolbar-button {
35
+ display: flex;
36
+ align-items: center;
37
+ justify-content: center;
38
+ gap: 6px;
39
+ padding: 8px 10px;
40
+ border: 1px solid #dee2e6;
41
+ background: white;
42
+ border-radius: 6px;
43
+ cursor: pointer;
44
+ font-size: 14px;
45
+ font-weight: 500;
46
+ transition: all 0.2s;
47
+ color: #495057;
48
+ min-width: 36px;
49
+ height: 36px;
50
+ }
51
+ .cms-toolbar-button svg {
52
+ flex-shrink: 0;
53
+ }
54
+ .cms-toolbar-button:hover {
55
+ background: #667eea;
56
+ color: white;
57
+ border-color: #667eea;
58
+ transform: translateY(-1px);
59
+ box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);
60
+ }
61
+ .cms-toolbar-button:active {
62
+ transform: translateY(0);
63
+ }
64
+ .cms-toolbar-button.active {
65
+ background: #667eea;
66
+ color: white;
67
+ border-color: #667eea;
68
+ }
69
+ .cms-toolbar-button:disabled {
70
+ opacity: 0.5;
71
+ cursor: not-allowed;
72
+ }
73
+ .cms-toolbar-button:disabled:hover {
74
+ background: white;
75
+ color: #495057;
76
+ border-color: #dee2e6;
77
+ transform: none;
78
+ box-shadow: none;
79
+ }
80
+ .cms-editor-content {
81
+ min-height: 300px;
82
+ max-height: 600px;
83
+ overflow-y: auto;
84
+ outline: none;
85
+ font-size: 16px;
86
+ line-height: 1.8;
87
+ color: #2c3e50;
88
+ padding: 20px;
89
+ font-family:
90
+ -apple-system,
91
+ BlinkMacSystemFont,
92
+ "Segoe UI",
93
+ Roboto,
94
+ "Helvetica Neue",
95
+ Arial,
96
+ sans-serif;
97
+ }
98
+ .cms-editor-content::-webkit-scrollbar {
99
+ width: 8px;
100
+ }
101
+ .cms-editor-content::-webkit-scrollbar-track {
102
+ background: #f1f3f5;
103
+ border-radius: 4px;
104
+ }
105
+ .cms-editor-content::-webkit-scrollbar-thumb {
106
+ background: #adb5bd;
107
+ border-radius: 4px;
108
+ }
109
+ .cms-editor-content::-webkit-scrollbar-thumb:hover {
110
+ background: #868e96;
111
+ }
112
+ .cms-editor-placeholder {
113
+ color: #adb5bd;
114
+ pointer-events: none;
115
+ font-style: italic;
116
+ position: absolute;
117
+ top: 72px;
118
+ left: 20px;
119
+ }
120
+ .cms-editor-content h1 {
121
+ font-size: 2em;
122
+ font-weight: 700;
123
+ margin: 0.67em 0;
124
+ color: #212529;
125
+ }
126
+ .cms-editor-content h2 {
127
+ font-size: 1.5em;
128
+ font-weight: 600;
129
+ margin: 0.75em 0;
130
+ color: #212529;
131
+ }
132
+ .cms-editor-content h3 {
133
+ font-size: 1.17em;
134
+ font-weight: 600;
135
+ margin: 0.83em 0;
136
+ color: #212529;
137
+ }
138
+ .cms-editor-content p {
139
+ margin: 1em 0;
140
+ }
141
+ .cms-editor-content strong,
142
+ .cms-text-bold {
143
+ font-weight: 700;
144
+ }
145
+ .cms-editor-content em,
146
+ .cms-text-italic {
147
+ font-style: italic;
148
+ }
149
+ .cms-editor-content u,
150
+ .cms-text-underline {
151
+ text-decoration: underline;
152
+ }
153
+ .cms-editor-content s,
154
+ .cms-text-strikethrough {
155
+ text-decoration: line-through;
156
+ }
157
+ .cms-editor-content code,
158
+ .cms-text-code {
159
+ background: #f4f4f4;
160
+ padding: 2px 6px;
161
+ border-radius: 3px;
162
+ font-family:
163
+ "Monaco",
164
+ "Courier New",
165
+ monospace;
166
+ font-size: 0.9em;
167
+ color: #e83e8c;
168
+ }
169
+ .cms-editor-content [dir=ltr] {
170
+ text-align: left;
171
+ }
172
+ .cms-editor-content [dir=rtl] {
173
+ text-align: right;
174
+ }
175
+ .cms-editor-content p[style*="text-align: center"],
176
+ .cms-editor-content h1[style*="text-align: center"],
177
+ .cms-editor-content h2[style*="text-align: center"],
178
+ .cms-editor-content h3[style*="text-align: center"] {
179
+ text-align: center;
180
+ }
181
+ .cms-editor-content p[style*="text-align: right"],
182
+ .cms-editor-content h1[style*="text-align: right"],
183
+ .cms-editor-content h2[style*="text-align: right"],
184
+ .cms-editor-content h3[style*="text-align: right"] {
185
+ text-align: right;
186
+ }
187
+ .cms-editor-content p[style*="text-align: justify"],
188
+ .cms-editor-content h1[style*="text-align: justify"],
189
+ .cms-editor-content h2[style*="text-align: justify"],
190
+ .cms-editor-content h3[style*="text-align: justify"] {
191
+ text-align: justify;
192
+ }
193
+ .cms-editor-content ul,
194
+ .cms-editor-content ol {
195
+ margin: 1em 0;
196
+ padding-left: 2em;
197
+ }
198
+ .cms-editor-content li {
199
+ margin: 0.5em 0;
200
+ }
201
+ .cms-quote-block,
202
+ .quote-block {
203
+ border-left: 4px solid #667eea;
204
+ padding: 16px 20px;
205
+ margin: 20px 0;
206
+ font-style: italic;
207
+ color: #495057;
208
+ background:
209
+ linear-gradient(
210
+ to right,
211
+ rgba(102, 126, 234, 0.05) 0%,
212
+ transparent 100%);
213
+ border-radius: 0 8px 8px 0;
214
+ }
215
+ .cms-code-block,
216
+ .cms-editor-content pre {
217
+ background: #282c34;
218
+ color: #abb2bf;
219
+ padding: 16px;
220
+ border-radius: 8px;
221
+ overflow-x: auto;
222
+ margin: 20px 0;
223
+ font-family:
224
+ "Monaco",
225
+ "Courier New",
226
+ monospace;
227
+ font-size: 14px;
228
+ line-height: 1.5;
229
+ }
230
+ .cms-editor-content pre code {
231
+ background: transparent;
232
+ padding: 0;
233
+ color: inherit;
234
+ font-size: inherit;
235
+ }
236
+ .cms-editor-content .token.comment {
237
+ color: #5c6370;
238
+ }
239
+ .cms-editor-content .token.keyword {
240
+ color: #c678dd;
241
+ }
242
+ .cms-editor-content .token.string {
243
+ color: #98c379;
244
+ }
245
+ .cms-editor-content .token.number {
246
+ color: #d19a66;
247
+ }
248
+ .cms-editor-content .token.function {
249
+ color: #61afef;
250
+ }
251
+ .cms-editor-content .token.operator {
252
+ color: #56b6c2;
253
+ }
254
+ .columns-block {
255
+ margin: 20px 0;
256
+ border: 2px dashed #e9ecef;
257
+ border-radius: 8px;
258
+ padding: 16px;
259
+ background: #f8f9fa;
260
+ }
261
+ .columns-2-column {
262
+ display: flex;
263
+ gap: 20px;
264
+ }
265
+ .columns-2-column > .column {
266
+ flex: 1;
267
+ }
268
+ .columns-3-column {
269
+ display: flex;
270
+ gap: 16px;
271
+ }
272
+ .columns-3-column > .column {
273
+ flex: 1;
274
+ }
275
+ .columns-4-column {
276
+ display: flex;
277
+ gap: 12px;
278
+ }
279
+ .columns-4-column > .column {
280
+ flex: 1;
281
+ }
282
+ .columns-grid-2x2 {
283
+ display: grid;
284
+ grid-template-columns: repeat(2, 1fr);
285
+ gap: 16px;
286
+ }
287
+ .columns-grid-3x3 {
288
+ display: grid;
289
+ grid-template-columns: repeat(3, 1fr);
290
+ gap: 12px;
291
+ }
292
+ .column {
293
+ padding: 16px;
294
+ background: white;
295
+ border-radius: 6px;
296
+ border: 1px solid #dee2e6;
297
+ min-height: 100px;
298
+ }
299
+ .column:focus-within {
300
+ border-color: #667eea;
301
+ box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1);
302
+ }
303
+ .image-node-wrapper {
304
+ user-select: none;
305
+ transition: all 0.2s;
306
+ }
307
+ .image-node-wrapper.selected {
308
+ outline: 2px solid #667eea;
309
+ outline-offset: 2px;
310
+ border-radius: 8px;
311
+ cursor: move !important;
312
+ }
313
+ .image-node-wrapper.resizing {
314
+ opacity: 0.8;
315
+ }
316
+ .image-node-wrapper.dragging {
317
+ opacity: 0.5;
318
+ cursor: grabbing !important;
319
+ }
320
+ .image-node-wrapper img {
321
+ display: block;
322
+ max-width: 100%;
323
+ height: auto;
324
+ border-radius: 8px;
325
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
326
+ }
327
+ .image-resize-handle {
328
+ transition: all 0.2s;
329
+ z-index: 10;
330
+ }
331
+ .image-resize-handle:hover {
332
+ background: #5568d3 !important;
333
+ transform: scale(1.2);
334
+ }
335
+ .youtube-node-wrapper {
336
+ user-select: none;
337
+ transition: all 0.2s;
338
+ }
339
+ .youtube-node-wrapper.selected {
340
+ outline: 2px solid #667eea;
341
+ outline-offset: 2px;
342
+ border-radius: 12px;
343
+ cursor: move !important;
344
+ }
345
+ .youtube-node-wrapper.resizing {
346
+ opacity: 0.8;
347
+ }
348
+ .youtube-node-wrapper.dragging {
349
+ opacity: 0.5;
350
+ cursor: grabbing !important;
351
+ }
352
+ .youtube-node-wrapper iframe {
353
+ display: block;
354
+ border-radius: 8px;
355
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
356
+ }
357
+ .youtube-resize-handle {
358
+ transition: all 0.2s;
359
+ z-index: 10;
360
+ }
361
+ .youtube-resize-handle:hover {
362
+ background: #5568d3 !important;
363
+ transform: scale(1.2);
364
+ }
365
+ .slash-menu {
366
+ position: absolute;
367
+ background: white;
368
+ border: 1px solid #e9ecef;
369
+ border-radius: 8px;
370
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
371
+ padding: 8px;
372
+ min-width: 280px;
373
+ max-height: 400px;
374
+ overflow-y: auto;
375
+ z-index: 1000;
376
+ margin-top: 4px;
377
+ }
378
+ .slash-menu-title {
379
+ font-size: 11px;
380
+ font-weight: 600;
381
+ text-transform: uppercase;
382
+ color: #868e96;
383
+ padding: 8px 12px 4px;
384
+ letter-spacing: 0.5px;
385
+ }
386
+ .slash-menu-item {
387
+ padding: 10px 12px;
388
+ cursor: pointer;
389
+ border-radius: 6px;
390
+ transition: background 0.15s;
391
+ }
392
+ .slash-menu-item:hover,
393
+ .slash-menu-item.selected {
394
+ background: rgba(102, 126, 234, 0.1);
395
+ }
396
+ .slash-menu-item-title {
397
+ font-weight: 600;
398
+ color: #212529;
399
+ margin-bottom: 2px;
400
+ }
401
+ .slash-menu-item-description {
402
+ font-size: 13px;
403
+ color: #868e96;
404
+ }
405
+ .cms-layout-plugin {
406
+ position: relative;
407
+ display: inline-block;
408
+ z-index: 10002;
409
+ }
410
+ .cms-color-picker-plugin {
411
+ position: relative;
412
+ display: inline-block;
413
+ z-index: 10003;
414
+ }
415
+ .cms-spacing-plugin {
416
+ position: relative;
417
+ display: inline-block;
418
+ z-index: 10004;
419
+ }
420
+ .cms-export-import-plugin {
421
+ position: relative;
422
+ display: inline-block;
423
+ z-index: 10005;
424
+ }
425
+ .cms-section-creator-plugin {
426
+ position: relative;
427
+ display: inline-block;
428
+ z-index: 10006;
429
+ }
430
+ .cms-section-menu {
431
+ position: fixed;
432
+ background: white;
433
+ border: 1px solid #e9ecef;
434
+ border-radius: 12px;
435
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
436
+ padding: 16px;
437
+ width: 600px;
438
+ max-height: 80vh;
439
+ overflow-y: auto;
440
+ z-index: 10006;
441
+ }
442
+ .cms-section-menu-header {
443
+ font-size: 16px;
444
+ font-weight: 600;
445
+ color: #212529;
446
+ padding-bottom: 16px;
447
+ margin-bottom: 16px;
448
+ border-bottom: 2px solid #e9ecef;
449
+ }
450
+ .cms-section-grid {
451
+ display: grid;
452
+ grid-template-columns: repeat(2, 1fr);
453
+ gap: 12px;
454
+ margin-bottom: 16px;
455
+ }
456
+ .cms-section-card {
457
+ display: flex;
458
+ align-items: flex-start;
459
+ gap: 12px;
460
+ padding: 16px;
461
+ background: #f8f9fa;
462
+ border: 2px solid #e9ecef;
463
+ border-radius: 8px;
464
+ cursor: pointer;
465
+ transition: all 0.2s;
466
+ text-align: left;
467
+ }
468
+ .cms-section-card:hover {
469
+ background: #e9ecef;
470
+ border-color: #667eea;
471
+ transform: translateY(-2px);
472
+ box-shadow: 0 4px 12px rgba(102, 126, 234, 0.2);
473
+ }
474
+ .cms-section-card-icon {
475
+ font-size: 32px;
476
+ flex-shrink: 0;
477
+ }
478
+ .cms-section-card-content {
479
+ flex: 1;
480
+ }
481
+ .cms-section-card-title {
482
+ font-size: 14px;
483
+ font-weight: 600;
484
+ color: #212529;
485
+ margin-bottom: 4px;
486
+ }
487
+ .cms-section-card-desc {
488
+ font-size: 12px;
489
+ color: #868e96;
490
+ line-height: 1.4;
491
+ }
492
+ .cms-section-menu-footer {
493
+ padding-top: 12px;
494
+ border-top: 1px solid #e9ecef;
495
+ text-align: center;
496
+ }
497
+ .cms-section-menu-footer p {
498
+ font-size: 12px;
499
+ color: #868e96;
500
+ margin: 0;
501
+ }
502
+ .cms-section {
503
+ margin: 40px 0;
504
+ border-radius: 12px;
505
+ position: relative;
506
+ transition: all 0.2s;
507
+ }
508
+ .cms-section:hover {
509
+ box-shadow: 0 0 0 2px #667eea;
510
+ }
511
+ .cms-section-hero {
512
+ min-height: 400px;
513
+ display: flex;
514
+ flex-direction: column;
515
+ justify-content: center;
516
+ }
517
+ .cms-section-features,
518
+ .cms-section-pricing,
519
+ .cms-section-team {
520
+ background: #f8f9fa;
521
+ }
522
+ .cms-section-cta,
523
+ .cms-section-stats,
524
+ .cms-section-newsletter {
525
+ background: #667eea;
526
+ color: white;
527
+ }
528
+ .cms-section-testimonial,
529
+ .cms-section-contact {
530
+ background: white;
531
+ border: 1px solid #e9ecef;
532
+ }
533
+ .cms-section-faq {
534
+ background: #f8f9fa;
535
+ }
536
+ @media (max-width: 768px) {
537
+ .cms-section {
538
+ margin: 20px 0;
539
+ padding: 40px 20px !important;
540
+ }
541
+ .cms-section-menu {
542
+ width: 95vw;
543
+ max-width: 500px;
544
+ }
545
+ .cms-section-grid {
546
+ grid-template-columns: 1fr;
547
+ }
548
+ }
549
+ .cms-export-import-menu {
550
+ position: fixed;
551
+ background: white;
552
+ border: 1px solid #e9ecef;
553
+ border-radius: 8px;
554
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
555
+ padding: 12px;
556
+ min-width: 280px;
557
+ z-index: 10005;
558
+ }
559
+ .cms-export-import-header {
560
+ font-size: 13px;
561
+ font-weight: 600;
562
+ color: #495057;
563
+ padding: 8px 12px;
564
+ margin-bottom: 8px;
565
+ border-bottom: 1px solid #e9ecef;
566
+ }
567
+ .cms-export-import-item {
568
+ display: flex;
569
+ align-items: center;
570
+ gap: 12px;
571
+ width: 100%;
572
+ padding: 10px 12px;
573
+ border: none;
574
+ background: transparent;
575
+ cursor: pointer;
576
+ border-radius: 6px;
577
+ transition: background 0.15s;
578
+ text-align: left;
579
+ }
580
+ .cms-export-import-item:hover {
581
+ background: rgba(102, 126, 234, 0.1);
582
+ }
583
+ .cms-export-import-icon {
584
+ font-size: 24px;
585
+ flex-shrink: 0;
586
+ }
587
+ .cms-export-import-title {
588
+ font-size: 14px;
589
+ font-weight: 600;
590
+ color: #212529;
591
+ margin-bottom: 2px;
592
+ }
593
+ .cms-export-import-desc {
594
+ font-size: 12px;
595
+ color: #868e96;
596
+ }
597
+ .cms-export-import-divider {
598
+ height: 1px;
599
+ background: #e9ecef;
600
+ margin: 8px 0;
601
+ }
602
+ .cms-import-type-selector {
603
+ display: flex;
604
+ gap: 8px;
605
+ margin-bottom: 12px;
606
+ padding: 0 12px;
607
+ }
608
+ .cms-import-type-btn {
609
+ flex: 1;
610
+ padding: 6px 12px;
611
+ background: #f8f9fa;
612
+ border: 2px solid #dee2e6;
613
+ border-radius: 6px;
614
+ font-size: 12px;
615
+ font-weight: 600;
616
+ color: #495057;
617
+ cursor: pointer;
618
+ transition: all 0.2s;
619
+ }
620
+ .cms-import-type-btn:hover {
621
+ background: #e9ecef;
622
+ border-color: #adb5bd;
623
+ }
624
+ .cms-import-type-btn.active {
625
+ background: #667eea;
626
+ border-color: #667eea;
627
+ color: white;
628
+ }
629
+ .cms-export-import-notification {
630
+ position: fixed;
631
+ bottom: 24px;
632
+ right: 24px;
633
+ background: #28a745;
634
+ color: white;
635
+ padding: 12px 20px;
636
+ border-radius: 8px;
637
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
638
+ font-size: 14px;
639
+ font-weight: 500;
640
+ z-index: 10006;
641
+ animation: slideInUp 0.3s ease-out;
642
+ }
643
+ @keyframes slideInUp {
644
+ from {
645
+ opacity: 0;
646
+ transform: translateY(20px);
647
+ }
648
+ to {
649
+ opacity: 1;
650
+ transform: translateY(0);
651
+ }
652
+ }
653
+ .cms-spacing-menu {
654
+ position: fixed;
655
+ background: white;
656
+ border: 1px solid #e9ecef;
657
+ border-radius: 8px;
658
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
659
+ padding: 16px;
660
+ min-width: 320px;
661
+ max-width: 400px;
662
+ z-index: 10004;
663
+ max-height: 80vh;
664
+ overflow-y: auto;
665
+ }
666
+ .cms-spacing-header {
667
+ display: flex;
668
+ justify-content: space-between;
669
+ align-items: center;
670
+ margin-bottom: 16px;
671
+ padding-bottom: 12px;
672
+ border-bottom: 2px solid #e9ecef;
673
+ }
674
+ .cms-spacing-header span {
675
+ font-size: 14px;
676
+ font-weight: 600;
677
+ color: #495057;
678
+ }
679
+ .cms-spacing-reset-btn {
680
+ padding: 6px 14px;
681
+ background: #f8f9fa;
682
+ border: 1px solid #dee2e6;
683
+ border-radius: 4px;
684
+ font-size: 12px;
685
+ color: #495057;
686
+ cursor: pointer;
687
+ transition: all 0.2s;
688
+ font-weight: 500;
689
+ }
690
+ .cms-spacing-reset-btn:hover {
691
+ background: #e9ecef;
692
+ color: #212529;
693
+ }
694
+ .cms-spacing-section {
695
+ margin-bottom: 20px;
696
+ }
697
+ .cms-spacing-section:last-child {
698
+ margin-bottom: 0;
699
+ }
700
+ .cms-spacing-label {
701
+ display: flex;
702
+ align-items: center;
703
+ gap: 6px;
704
+ font-size: 13px;
705
+ font-weight: 600;
706
+ color: #495057;
707
+ margin-bottom: 10px;
708
+ }
709
+ .cms-spacing-display-buttons {
710
+ display: flex;
711
+ gap: 8px;
712
+ }
713
+ .cms-spacing-display-btn {
714
+ flex: 1;
715
+ padding: 8px 12px;
716
+ background: #f8f9fa;
717
+ border: 2px solid #dee2e6;
718
+ border-radius: 6px;
719
+ font-size: 12px;
720
+ font-weight: 500;
721
+ color: #495057;
722
+ cursor: pointer;
723
+ transition: all 0.2s;
724
+ }
725
+ .cms-spacing-display-btn:hover {
726
+ background: #e9ecef;
727
+ border-color: #adb5bd;
728
+ }
729
+ .cms-spacing-display-btn.active {
730
+ background: #667eea;
731
+ border-color: #667eea;
732
+ color: white;
733
+ }
734
+ .cms-spacing-quick-buttons {
735
+ display: flex;
736
+ flex-wrap: wrap;
737
+ gap: 6px;
738
+ margin-bottom: 12px;
739
+ }
740
+ .cms-spacing-quick-btn {
741
+ padding: 6px 10px;
742
+ background: #f8f9fa;
743
+ border: 1px solid #dee2e6;
744
+ border-radius: 4px;
745
+ font-size: 11px;
746
+ font-weight: 500;
747
+ color: #495057;
748
+ cursor: pointer;
749
+ transition: all 0.2s;
750
+ min-width: 36px;
751
+ }
752
+ .cms-spacing-quick-btn:hover {
753
+ background: #667eea;
754
+ border-color: #667eea;
755
+ color: white;
756
+ }
757
+ .cms-spacing-controls {
758
+ display: grid;
759
+ grid-template-columns: repeat(2, 1fr);
760
+ gap: 10px;
761
+ }
762
+ .cms-spacing-control {
763
+ display: flex;
764
+ flex-direction: column;
765
+ gap: 4px;
766
+ }
767
+ .cms-spacing-control label {
768
+ font-size: 11px;
769
+ font-weight: 600;
770
+ color: #868e96;
771
+ text-transform: uppercase;
772
+ letter-spacing: 0.5px;
773
+ }
774
+ .cms-spacing-control input {
775
+ padding: 8px 10px;
776
+ border: 2px solid #dee2e6;
777
+ border-radius: 4px;
778
+ font-size: 13px;
779
+ color: #495057;
780
+ transition: border-color 0.2s;
781
+ }
782
+ .cms-spacing-control input:focus {
783
+ outline: none;
784
+ border-color: #667eea;
785
+ }
786
+ .cms-spacing-control input::-webkit-inner-spin-button,
787
+ .cms-spacing-control input::-webkit-outer-spin-button {
788
+ opacity: 1;
789
+ }
790
+ .cms-color-button-wrapper {
791
+ position: relative;
792
+ display: flex;
793
+ flex-direction: column;
794
+ align-items: center;
795
+ gap: 2px;
796
+ }
797
+ .cms-color-indicator {
798
+ width: 18px;
799
+ height: 3px;
800
+ border-radius: 2px;
801
+ border: 1px solid #dee2e6;
802
+ }
803
+ .cms-color-picker-menu {
804
+ position: fixed;
805
+ background: white;
806
+ border: 1px solid #e9ecef;
807
+ border-radius: 8px;
808
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
809
+ padding: 12px;
810
+ min-width: 280px;
811
+ z-index: 10003;
812
+ }
813
+ .cms-color-picker-header {
814
+ display: flex;
815
+ justify-content: space-between;
816
+ align-items: center;
817
+ margin-bottom: 12px;
818
+ padding-bottom: 8px;
819
+ border-bottom: 1px solid #e9ecef;
820
+ }
821
+ .cms-color-picker-header span {
822
+ font-size: 13px;
823
+ font-weight: 600;
824
+ color: #495057;
825
+ }
826
+ .cms-color-remove-btn {
827
+ padding: 4px 12px;
828
+ background: #f8f9fa;
829
+ border: 1px solid #dee2e6;
830
+ border-radius: 4px;
831
+ font-size: 12px;
832
+ color: #495057;
833
+ cursor: pointer;
834
+ transition: all 0.2s;
835
+ }
836
+ .cms-color-remove-btn:hover {
837
+ background: #e9ecef;
838
+ color: #212529;
839
+ }
840
+ .cms-color-grid {
841
+ display: grid;
842
+ grid-template-columns: repeat(10, 1fr);
843
+ gap: 6px;
844
+ margin-bottom: 12px;
845
+ }
846
+ .cms-color-swatch {
847
+ width: 24px;
848
+ height: 24px;
849
+ border: 2px solid #dee2e6;
850
+ border-radius: 4px;
851
+ cursor: pointer;
852
+ transition: all 0.2s;
853
+ padding: 0;
854
+ }
855
+ .cms-color-swatch:hover {
856
+ transform: scale(1.15);
857
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
858
+ z-index: 1;
859
+ }
860
+ .cms-color-swatch.active {
861
+ border-color: #667eea;
862
+ border-width: 3px;
863
+ transform: scale(1.1);
864
+ }
865
+ .cms-color-custom {
866
+ padding-top: 12px;
867
+ border-top: 1px solid #e9ecef;
868
+ }
869
+ .cms-color-custom label {
870
+ display: flex;
871
+ align-items: center;
872
+ gap: 8px;
873
+ font-size: 13px;
874
+ color: #495057;
875
+ font-weight: 500;
876
+ }
877
+ .cms-color-input {
878
+ width: 60px;
879
+ height: 32px;
880
+ border: 1px solid #dee2e6;
881
+ border-radius: 4px;
882
+ cursor: pointer;
883
+ }
884
+ .cms-color-input::-webkit-color-swatch-wrapper {
885
+ padding: 2px;
886
+ }
887
+ .cms-color-input::-webkit-color-swatch {
888
+ border: none;
889
+ border-radius: 2px;
890
+ }
891
+ .cms-layout-menu {
892
+ position: fixed;
893
+ margin-top: 8px;
894
+ background: white;
895
+ border: 1px solid #e9ecef;
896
+ border-radius: 8px;
897
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
898
+ padding: 12px;
899
+ min-width: 280px;
900
+ z-index: 10002;
901
+ }
902
+ .cms-layout-menu-title {
903
+ font-size: 12px;
904
+ font-weight: 600;
905
+ text-transform: uppercase;
906
+ color: #868e96;
907
+ padding: 8px 12px 4px;
908
+ letter-spacing: 0.5px;
909
+ }
910
+ .cms-layout-menu-section {
911
+ margin-bottom: 12px;
912
+ }
913
+ .cms-layout-menu-section:last-child {
914
+ margin-bottom: 0;
915
+ }
916
+ .cms-layout-menu-subtitle {
917
+ font-size: 11px;
918
+ font-weight: 600;
919
+ text-transform: uppercase;
920
+ color: #adb5bd;
921
+ padding: 8px 12px 4px;
922
+ letter-spacing: 0.5px;
923
+ }
924
+ .cms-layout-menu-item {
925
+ display: flex;
926
+ align-items: center;
927
+ gap: 12px;
928
+ width: 100%;
929
+ padding: 10px 12px;
930
+ border: none;
931
+ background: transparent;
932
+ cursor: pointer;
933
+ border-radius: 6px;
934
+ transition: background 0.15s;
935
+ text-align: left;
936
+ }
937
+ .cms-layout-menu-item:hover {
938
+ background: rgba(102, 126, 234, 0.1);
939
+ }
940
+ .cms-layout-menu-item span {
941
+ font-size: 14px;
942
+ color: #212529;
943
+ font-weight: 500;
944
+ }
945
+ .cms-layout-preview {
946
+ display: flex;
947
+ gap: 4px;
948
+ width: 60px;
949
+ height: 40px;
950
+ flex-shrink: 0;
951
+ }
952
+ .cms-layout-preview-2col,
953
+ .cms-layout-preview-3col,
954
+ .cms-layout-preview-4col {
955
+ display: flex;
956
+ gap: 4px;
957
+ }
958
+ .cms-layout-preview-grid-2x2 {
959
+ display: grid;
960
+ grid-template-columns: repeat(2, 1fr);
961
+ gap: 4px;
962
+ }
963
+ .cms-layout-preview-grid-3x3 {
964
+ display: grid;
965
+ grid-template-columns: repeat(3, 1fr);
966
+ gap: 3px;
967
+ }
968
+ .cms-layout-preview-col {
969
+ background: #667eea;
970
+ border-radius: 3px;
971
+ flex: 1;
972
+ }
973
+ @media (max-width: 768px) {
974
+ .cms-toolbar {
975
+ padding: 8px;
976
+ gap: 2px;
977
+ }
978
+ .cms-toolbar-button {
979
+ padding: 6px 8px;
980
+ font-size: 13px;
981
+ min-width: 32px;
982
+ height: 32px;
983
+ }
984
+ .cms-editor-content {
985
+ padding: 16px;
986
+ font-size: 15px;
987
+ }
988
+ .cms-editor-placeholder {
989
+ top: 60px;
990
+ left: 16px;
991
+ }
992
+ .columns-2-column,
993
+ .columns-3-column,
994
+ .columns-4-column {
995
+ flex-direction: column;
996
+ }
997
+ .columns-grid-2x2,
998
+ .columns-grid-3x3 {
999
+ grid-template-columns: 1fr;
1000
+ }
1001
+ }
1002
+ @media (prefers-color-scheme: dark) {
1003
+ .cms-editor-shell {
1004
+ background: #1e1e1e;
1005
+ border-color: #3e3e3e;
1006
+ }
1007
+ .cms-toolbar {
1008
+ background:
1009
+ linear-gradient(
1010
+ to bottom,
1011
+ #2a2a2a 0%,
1012
+ #252525 100%);
1013
+ border-bottom-color: #3e3e3e;
1014
+ }
1015
+ .cms-toolbar-button {
1016
+ background: #2a2a2a;
1017
+ border-color: #3e3e3e;
1018
+ color: #e0e0e0;
1019
+ }
1020
+ .cms-editor-content {
1021
+ color: #e0e0e0;
1022
+ }
1023
+ .cms-editor-content h1,
1024
+ .cms-editor-content h2,
1025
+ .cms-editor-content h3 {
1026
+ color: #f0f0f0;
1027
+ }
1028
+ .quote-block {
1029
+ background:
1030
+ linear-gradient(
1031
+ to right,
1032
+ rgba(102, 126, 234, 0.15) 0%,
1033
+ transparent 100%);
1034
+ color: #d0d0d0;
1035
+ }
1036
+ .slash-menu {
1037
+ background: #2a2a2a;
1038
+ border-color: #3e3e3e;
1039
+ }
1040
+ }
1041
+ .cms-link,
1042
+ .cms-editor-content a {
1043
+ color: #667eea;
1044
+ text-decoration: underline;
1045
+ cursor: pointer;
1046
+ transition: color 0.2s;
1047
+ }
1048
+ .cms-link:hover,
1049
+ .cms-editor-content a:hover {
1050
+ color: #5568d3;
1051
+ text-decoration: underline;
1052
+ }
1053
+ .cms-editor-content a[target=_blank]::after {
1054
+ content: " \2197";
1055
+ font-size: 0.8em;
1056
+ vertical-align: super;
1057
+ }
1058
+ .cms-link-modal-overlay {
1059
+ position: fixed;
1060
+ top: 0;
1061
+ left: 0;
1062
+ right: 0;
1063
+ bottom: 0;
1064
+ background: rgba(0, 0, 0, 0.5);
1065
+ display: flex;
1066
+ align-items: center;
1067
+ justify-content: center;
1068
+ z-index: 10000;
1069
+ animation: fadeIn 0.2s;
1070
+ }
1071
+ .cms-link-modal {
1072
+ background: white;
1073
+ border-radius: 12px;
1074
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
1075
+ width: 90%;
1076
+ max-width: 500px;
1077
+ max-height: 90vh;
1078
+ overflow-y: auto;
1079
+ animation: slideUp 0.3s;
1080
+ }
1081
+ @keyframes fadeIn {
1082
+ from {
1083
+ opacity: 0;
1084
+ }
1085
+ to {
1086
+ opacity: 1;
1087
+ }
1088
+ }
1089
+ @keyframes slideUp {
1090
+ from {
1091
+ opacity: 0;
1092
+ transform: translateY(20px);
1093
+ }
1094
+ to {
1095
+ opacity: 1;
1096
+ transform: translateY(0);
1097
+ }
1098
+ }
1099
+ .cms-link-modal-header {
1100
+ display: flex;
1101
+ justify-content: space-between;
1102
+ align-items: center;
1103
+ padding: 20px;
1104
+ border-bottom: 1px solid #e9ecef;
1105
+ }
1106
+ .cms-link-modal-header h3 {
1107
+ margin: 0;
1108
+ font-size: 1.25em;
1109
+ color: #212529;
1110
+ }
1111
+ .cms-link-modal-close {
1112
+ background: none;
1113
+ border: none;
1114
+ font-size: 28px;
1115
+ color: #868e96;
1116
+ cursor: pointer;
1117
+ padding: 0;
1118
+ width: 32px;
1119
+ height: 32px;
1120
+ display: flex;
1121
+ align-items: center;
1122
+ justify-content: center;
1123
+ border-radius: 4px;
1124
+ transition: all 0.2s;
1125
+ }
1126
+ .cms-link-modal-close:hover {
1127
+ background: #f8f9fa;
1128
+ color: #495057;
1129
+ }
1130
+ .cms-link-modal-form {
1131
+ padding: 20px;
1132
+ }
1133
+ .cms-link-modal-field {
1134
+ margin-bottom: 16px;
1135
+ }
1136
+ .cms-link-modal-field label {
1137
+ display: block;
1138
+ margin-bottom: 6px;
1139
+ font-weight: 600;
1140
+ color: #495057;
1141
+ font-size: 14px;
1142
+ }
1143
+ .cms-link-modal-field input[type=text],
1144
+ .cms-link-modal-field input[type=url] {
1145
+ width: 100%;
1146
+ padding: 10px 12px;
1147
+ border: 2px solid #dee2e6;
1148
+ border-radius: 6px;
1149
+ font-size: 14px;
1150
+ transition: border-color 0.2s;
1151
+ }
1152
+ .cms-link-modal-field input:focus {
1153
+ outline: none;
1154
+ border-color: #667eea;
1155
+ }
1156
+ .cms-link-modal-checkbox {
1157
+ display: flex;
1158
+ align-items: center;
1159
+ }
1160
+ .cms-link-modal-checkbox label {
1161
+ display: flex;
1162
+ align-items: center;
1163
+ margin: 0;
1164
+ cursor: pointer;
1165
+ font-weight: normal;
1166
+ }
1167
+ .cms-link-modal-checkbox input[type=checkbox] {
1168
+ margin-right: 8px;
1169
+ width: 18px;
1170
+ height: 18px;
1171
+ cursor: pointer;
1172
+ }
1173
+ .cms-link-modal-actions {
1174
+ display: flex;
1175
+ gap: 10px;
1176
+ justify-content: flex-end;
1177
+ margin-top: 20px;
1178
+ padding-top: 20px;
1179
+ border-top: 1px solid #e9ecef;
1180
+ }
1181
+ .cms-link-modal-button {
1182
+ padding: 10px 20px;
1183
+ border-radius: 6px;
1184
+ font-size: 14px;
1185
+ font-weight: 600;
1186
+ cursor: pointer;
1187
+ transition: all 0.2s;
1188
+ border: none;
1189
+ }
1190
+ .cms-link-modal-button-cancel {
1191
+ background: #f8f9fa;
1192
+ color: #495057;
1193
+ }
1194
+ .cms-link-modal-button-cancel:hover {
1195
+ background: #e9ecef;
1196
+ }
1197
+ .cms-link-modal-button-submit {
1198
+ background: #667eea;
1199
+ color: white;
1200
+ }
1201
+ .cms-link-modal-button-submit:hover {
1202
+ background: #5568d3;
1203
+ }
1204
+ .cms-link-modal-button-submit:disabled {
1205
+ background: #adb5bd;
1206
+ cursor: not-allowed;
1207
+ }
1208
+ @media (max-width: 768px) {
1209
+ .cms-link-modal {
1210
+ width: 95%;
1211
+ max-height: 95vh;
1212
+ }
1213
+ .cms-link-modal-header,
1214
+ .cms-link-modal-form {
1215
+ padding: 16px;
1216
+ }
1217
+ }
1218
+ .cms-section-editor-plugin {
1219
+ position: relative;
1220
+ display: inline-block;
1221
+ }
1222
+ .cms-section-edit-button {
1223
+ display: flex;
1224
+ align-items: center;
1225
+ gap: 6px;
1226
+ background: #667eea !important;
1227
+ color: white !important;
1228
+ }
1229
+ .cms-section-edit-button:hover {
1230
+ background: #5568d3 !important;
1231
+ }
1232
+ .cms-section-indicator {
1233
+ font-size: 11px;
1234
+ font-weight: 600;
1235
+ text-transform: uppercase;
1236
+ letter-spacing: 0.5px;
1237
+ }
1238
+ .cms-section-editor-menu {
1239
+ position: fixed;
1240
+ background: white;
1241
+ border: 1px solid #e0e0e0;
1242
+ border-radius: 12px;
1243
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
1244
+ width: 380px;
1245
+ max-height: 80vh;
1246
+ overflow-y: auto;
1247
+ z-index: 10002;
1248
+ animation: slideDown 0.2s ease-out;
1249
+ }
1250
+ .cms-section-editor-header {
1251
+ display: flex;
1252
+ align-items: center;
1253
+ justify-content: space-between;
1254
+ padding: 16px 20px;
1255
+ border-bottom: 1px solid #e0e0e0;
1256
+ background:
1257
+ linear-gradient(
1258
+ 135deg,
1259
+ #667eea 0%,
1260
+ #764ba2 100%);
1261
+ color: white;
1262
+ border-radius: 12px 12px 0 0;
1263
+ font-weight: 600;
1264
+ font-size: 14px;
1265
+ }
1266
+ .cms-close-button {
1267
+ background: rgba(255, 255, 255, 0.2);
1268
+ border: none;
1269
+ border-radius: 6px;
1270
+ padding: 6px;
1271
+ cursor: pointer;
1272
+ display: flex;
1273
+ align-items: center;
1274
+ justify-content: center;
1275
+ color: white;
1276
+ transition: background 0.2s;
1277
+ }
1278
+ .cms-close-button:hover {
1279
+ background: rgba(255, 255, 255, 0.3);
1280
+ }
1281
+ .cms-section-editor-content {
1282
+ padding: 20px;
1283
+ display: flex;
1284
+ flex-direction: column;
1285
+ gap: 20px;
1286
+ }
1287
+ .cms-section-editor-group {
1288
+ display: flex;
1289
+ flex-direction: column;
1290
+ gap: 10px;
1291
+ }
1292
+ .cms-section-editor-group label {
1293
+ font-size: 13px;
1294
+ font-weight: 600;
1295
+ color: #2c3e50;
1296
+ text-transform: uppercase;
1297
+ letter-spacing: 0.5px;
1298
+ }
1299
+ .cms-color-grid {
1300
+ display: grid;
1301
+ grid-template-columns: repeat(10, 1fr);
1302
+ gap: 6px;
1303
+ }
1304
+ .cms-color-swatch {
1305
+ width: 28px;
1306
+ height: 28px;
1307
+ border: 2px solid transparent;
1308
+ border-radius: 6px;
1309
+ cursor: pointer;
1310
+ transition: all 0.2s;
1311
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
1312
+ }
1313
+ .cms-color-swatch:hover {
1314
+ transform: scale(1.15);
1315
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
1316
+ }
1317
+ .cms-color-swatch.active {
1318
+ border-color: #667eea;
1319
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
1320
+ }
1321
+ .cms-color-input {
1322
+ width: 100%;
1323
+ height: 40px;
1324
+ border: 2px solid #e0e0e0;
1325
+ border-radius: 8px;
1326
+ cursor: pointer;
1327
+ transition: border-color 0.2s;
1328
+ }
1329
+ .cms-color-input:hover {
1330
+ border-color: #667eea;
1331
+ }
1332
+ .cms-button-group {
1333
+ display: flex;
1334
+ gap: 8px;
1335
+ }
1336
+ .cms-icon-button {
1337
+ flex: 1;
1338
+ padding: 10px;
1339
+ background: #f8f9fa;
1340
+ border: 2px solid #e0e0e0;
1341
+ border-radius: 8px;
1342
+ cursor: pointer;
1343
+ display: flex;
1344
+ align-items: center;
1345
+ justify-content: center;
1346
+ transition: all 0.2s;
1347
+ color: #495057;
1348
+ font-size: 16px;
1349
+ }
1350
+ .cms-icon-button:hover {
1351
+ background: #e9ecef;
1352
+ border-color: #667eea;
1353
+ }
1354
+ .cms-icon-button.active {
1355
+ background: #667eea;
1356
+ border-color: #667eea;
1357
+ color: white;
1358
+ }
1359
+ .cms-layout-button {
1360
+ flex: 1;
1361
+ padding: 10px 16px;
1362
+ background: #f8f9fa;
1363
+ border: 2px solid #e0e0e0;
1364
+ border-radius: 8px;
1365
+ cursor: pointer;
1366
+ font-size: 13px;
1367
+ font-weight: 600;
1368
+ transition: all 0.2s;
1369
+ color: #495057;
1370
+ }
1371
+ .cms-layout-button:hover {
1372
+ background: #e9ecef;
1373
+ border-color: #667eea;
1374
+ }
1375
+ .cms-layout-button.active {
1376
+ background: #667eea;
1377
+ border-color: #667eea;
1378
+ color: white;
1379
+ }
1380
+ .cms-select {
1381
+ width: 100%;
1382
+ padding: 10px 12px;
1383
+ background: white;
1384
+ border: 2px solid #e0e0e0;
1385
+ border-radius: 8px;
1386
+ font-size: 14px;
1387
+ color: #2c3e50;
1388
+ cursor: pointer;
1389
+ transition: border-color 0.2s;
1390
+ }
1391
+ .cms-select:hover {
1392
+ border-color: #667eea;
1393
+ }
1394
+ .cms-select:focus {
1395
+ outline: none;
1396
+ border-color: #667eea;
1397
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
1398
+ }
1399
+ .cms-text-input {
1400
+ width: 100%;
1401
+ padding: 10px 12px;
1402
+ background: white;
1403
+ border: 2px solid #e0e0e0;
1404
+ border-radius: 8px;
1405
+ font-size: 14px;
1406
+ color: #2c3e50;
1407
+ transition: border-color 0.2s;
1408
+ }
1409
+ .cms-text-input:hover {
1410
+ border-color: #667eea;
1411
+ }
1412
+ .cms-text-input:focus {
1413
+ outline: none;
1414
+ border-color: #667eea;
1415
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
1416
+ }
1417
+ .cms-range-input {
1418
+ width: 100%;
1419
+ height: 6px;
1420
+ border-radius: 3px;
1421
+ background: #e0e0e0;
1422
+ outline: none;
1423
+ -webkit-appearance: none;
1424
+ }
1425
+ .cms-range-input::-webkit-slider-thumb {
1426
+ -webkit-appearance: none;
1427
+ appearance: none;
1428
+ width: 18px;
1429
+ height: 18px;
1430
+ border-radius: 50%;
1431
+ background: #667eea;
1432
+ cursor: pointer;
1433
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
1434
+ transition: transform 0.2s;
1435
+ }
1436
+ .cms-range-input::-webkit-slider-thumb:hover {
1437
+ transform: scale(1.2);
1438
+ }
1439
+ .cms-range-input::-moz-range-thumb {
1440
+ width: 18px;
1441
+ height: 18px;
1442
+ border-radius: 50%;
1443
+ background: #667eea;
1444
+ cursor: pointer;
1445
+ border: none;
1446
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
1447
+ transition: transform 0.2s;
1448
+ }
1449
+ .cms-range-input::-moz-range-thumb:hover {
1450
+ transform: scale(1.2);
1451
+ }
1452
+ .cms-preset-buttons {
1453
+ display: flex;
1454
+ gap: 6px;
1455
+ flex-wrap: wrap;
1456
+ }
1457
+ .cms-preset-buttons button {
1458
+ padding: 6px 12px;
1459
+ background: #f8f9fa;
1460
+ border: 1px solid #e0e0e0;
1461
+ border-radius: 6px;
1462
+ font-size: 12px;
1463
+ font-weight: 600;
1464
+ cursor: pointer;
1465
+ transition: all 0.2s;
1466
+ color: #495057;
1467
+ }
1468
+ .cms-preset-buttons button:hover {
1469
+ background: #667eea;
1470
+ border-color: #667eea;
1471
+ color: white;
1472
+ }
1473
+ .cms-section {
1474
+ position: relative;
1475
+ transition: box-shadow 0.2s;
1476
+ }
1477
+ .cms-section:hover {
1478
+ box-shadow: 0 0 0 2px #667eea;
1479
+ }
1480
+ .cms-section-editor-menu::-webkit-scrollbar {
1481
+ width: 8px;
1482
+ }
1483
+ .cms-section-editor-menu::-webkit-scrollbar-track {
1484
+ background: #f1f1f1;
1485
+ border-radius: 0 12px 12px 0;
1486
+ }
1487
+ .cms-section-editor-menu::-webkit-scrollbar-thumb {
1488
+ background: #667eea;
1489
+ border-radius: 4px;
1490
+ }
1491
+ .cms-section-editor-menu::-webkit-scrollbar-thumb:hover {
1492
+ background: #5568d3;
1493
+ }
1494
+ .cms-bg-controls {
1495
+ display: grid;
1496
+ grid-template-columns: repeat(3, 1fr);
1497
+ gap: 10px;
1498
+ margin-top: 10px;
1499
+ }
1500
+ .cms-bg-control-item {
1501
+ display: flex;
1502
+ flex-direction: column;
1503
+ gap: 6px;
1504
+ }
1505
+ .cms-bg-control-item label {
1506
+ font-size: 11px;
1507
+ font-weight: 600;
1508
+ color: #6c757d;
1509
+ text-transform: uppercase;
1510
+ letter-spacing: 0.5px;
1511
+ }
1512
+ .cms-select-small {
1513
+ width: 100%;
1514
+ padding: 8px 10px;
1515
+ background: white;
1516
+ border: 2px solid #e0e0e0;
1517
+ border-radius: 6px;
1518
+ font-size: 12px;
1519
+ color: #2c3e50;
1520
+ cursor: pointer;
1521
+ transition: border-color 0.2s;
1522
+ }
1523
+ .cms-select-small:hover {
1524
+ border-color: #667eea;
1525
+ }
1526
+ .cms-select-small:focus {
1527
+ outline: none;
1528
+ border-color: #667eea;
1529
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
1530
+ }
1531
+ .cms-remove-button {
1532
+ width: 100%;
1533
+ padding: 10px;
1534
+ background: #dc3545;
1535
+ border: none;
1536
+ border-radius: 8px;
1537
+ color: white;
1538
+ font-size: 13px;
1539
+ font-weight: 600;
1540
+ cursor: pointer;
1541
+ transition: background 0.2s;
1542
+ margin-top: 10px;
1543
+ }
1544
+ .cms-remove-button:hover {
1545
+ background: #c82333;
1546
+ }
1547
+ .cms-gradient-presets {
1548
+ display: grid;
1549
+ grid-template-columns: repeat(6, 1fr);
1550
+ gap: 8px;
1551
+ margin-bottom: 10px;
1552
+ }
1553
+ .cms-gradient-preset {
1554
+ height: 50px;
1555
+ border: 2px solid #e0e0e0;
1556
+ border-radius: 8px;
1557
+ cursor: pointer;
1558
+ transition: all 0.2s;
1559
+ position: relative;
1560
+ overflow: hidden;
1561
+ }
1562
+ .cms-gradient-preset:hover {
1563
+ transform: scale(1.05);
1564
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
1565
+ }
1566
+ .cms-gradient-preset.active {
1567
+ border-color: #667eea;
1568
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
1569
+ }
1570
+ .cms-gradient-preset:first-child {
1571
+ background: white;
1572
+ display: flex;
1573
+ align-items: center;
1574
+ justify-content: center;
1575
+ font-size: 11px;
1576
+ font-weight: 600;
1577
+ color: #6c757d;
1578
+ }
1579
+ .cms-section-overlay {
1580
+ position: absolute;
1581
+ top: 0;
1582
+ left: 0;
1583
+ right: 0;
1584
+ bottom: 0;
1585
+ pointer-events: none;
1586
+ z-index: 0;
1587
+ }
1588
+ .cms-section > * {
1589
+ position: relative;
1590
+ z-index: 1;
1591
+ }
1592
+ @media (max-width: 1024px) {
1593
+ .cms-editor-shell {
1594
+ max-width: 100%;
1595
+ }
1596
+ .cms-toolbar {
1597
+ padding: 10px 15px;
1598
+ flex-wrap: wrap;
1599
+ }
1600
+ .cms-toolbar-button {
1601
+ padding: 8px 10px;
1602
+ }
1603
+ .cms-editor-content {
1604
+ padding: 30px 20px;
1605
+ }
1606
+ .cms-section-editor-menu {
1607
+ width: 350px;
1608
+ max-height: 70vh;
1609
+ }
1610
+ .cms-section-menu {
1611
+ width: 90vw;
1612
+ max-width: 500px;
1613
+ }
1614
+ }
1615
+ @media (max-width: 768px) {
1616
+ .cms-editor-shell {
1617
+ border-radius: 8px;
1618
+ }
1619
+ .cms-toolbar {
1620
+ padding: 8px 10px;
1621
+ gap: 4px;
1622
+ }
1623
+ .cms-toolbar-button {
1624
+ padding: 6px 8px;
1625
+ font-size: 14px;
1626
+ }
1627
+ .cms-toolbar-button svg {
1628
+ width: 16px;
1629
+ height: 16px;
1630
+ }
1631
+ .cms-editor-content {
1632
+ padding: 20px 15px;
1633
+ min-height: 250px;
1634
+ font-size: 15px;
1635
+ }
1636
+ .cms-section-editor-menu {
1637
+ position: fixed !important;
1638
+ top: 50% !important;
1639
+ left: 50% !important;
1640
+ transform: translate(-50%, -50%) !important;
1641
+ width: 90vw;
1642
+ max-width: 400px;
1643
+ max-height: 80vh;
1644
+ }
1645
+ .cms-section-editor-content {
1646
+ padding: 15px;
1647
+ }
1648
+ .cms-section-editor-group {
1649
+ gap: 8px;
1650
+ }
1651
+ .cms-color-grid {
1652
+ grid-template-columns: repeat(8, 1fr);
1653
+ }
1654
+ .cms-gradient-presets {
1655
+ grid-template-columns: repeat(3, 1fr);
1656
+ }
1657
+ .cms-bg-controls {
1658
+ grid-template-columns: 1fr;
1659
+ }
1660
+ .cms-section-menu {
1661
+ position: fixed !important;
1662
+ top: 50% !important;
1663
+ left: 50% !important;
1664
+ transform: translate(-50%, -50%) !important;
1665
+ width: 90vw;
1666
+ max-width: 500px;
1667
+ max-height: 80vh;
1668
+ }
1669
+ .cms-section-grid {
1670
+ grid-template-columns: 1fr;
1671
+ }
1672
+ .cms-link-modal {
1673
+ width: 90vw;
1674
+ max-width: 400px;
1675
+ }
1676
+ .cms-export-menu {
1677
+ width: 90vw;
1678
+ max-width: 350px;
1679
+ }
1680
+ .cms-slash-menu {
1681
+ width: 90vw;
1682
+ max-width: 300px;
1683
+ }
1684
+ .cms-layout-menu {
1685
+ width: 90vw;
1686
+ max-width: 350px;
1687
+ }
1688
+ .cms-section {
1689
+ margin: 20px 0;
1690
+ }
1691
+ .cms-section[style*=padding] {
1692
+ padding: 30px 15px !important;
1693
+ }
1694
+ .image-node-wrapper {
1695
+ max-width: 100%;
1696
+ }
1697
+ .image-node-wrapper img {
1698
+ max-width: 100%;
1699
+ height: auto;
1700
+ }
1701
+ .youtube-node-wrapper {
1702
+ max-width: 100%;
1703
+ }
1704
+ .youtube-node-wrapper iframe {
1705
+ max-width: 100%;
1706
+ }
1707
+ }
1708
+ @media (max-width: 480px) {
1709
+ .cms-toolbar {
1710
+ padding: 6px 8px;
1711
+ }
1712
+ .cms-toolbar-button {
1713
+ padding: 5px 6px;
1714
+ font-size: 13px;
1715
+ }
1716
+ .cms-toolbar-button svg {
1717
+ width: 14px;
1718
+ height: 14px;
1719
+ }
1720
+ .cms-editor-content {
1721
+ padding: 15px 10px;
1722
+ font-size: 14px;
1723
+ }
1724
+ .cms-section-editor-menu {
1725
+ width: 95vw;
1726
+ max-height: 85vh;
1727
+ }
1728
+ .cms-section-editor-content {
1729
+ padding: 12px;
1730
+ }
1731
+ .cms-color-grid {
1732
+ grid-template-columns: repeat(6, 1fr);
1733
+ gap: 4px;
1734
+ }
1735
+ .cms-color-swatch {
1736
+ width: 24px;
1737
+ height: 24px;
1738
+ }
1739
+ .cms-gradient-presets {
1740
+ grid-template-columns: repeat(2, 1fr);
1741
+ }
1742
+ .cms-section-menu {
1743
+ width: 95vw;
1744
+ }
1745
+ .cms-preset-buttons button {
1746
+ padding: 5px 10px;
1747
+ font-size: 11px;
1748
+ }
1749
+ .cms-section[style*=padding] {
1750
+ padding: 20px 10px !important;
1751
+ }
1752
+ }
1753
+ @media (max-width: 768px) {
1754
+ .image-resizer {
1755
+ width: 12px;
1756
+ height: 12px;
1757
+ }
1758
+ .youtube-resizer {
1759
+ width: 12px;
1760
+ height: 12px;
1761
+ }
1762
+ .image-node-wrapper[draggable=true],
1763
+ .youtube-node-wrapper[draggable=true] {
1764
+ cursor: default;
1765
+ }
1766
+ }
1767
+ @media (max-width: 768px) and (orientation: landscape) {
1768
+ .cms-editor-content {
1769
+ min-height: 200px;
1770
+ }
1771
+ .cms-section-editor-menu,
1772
+ .cms-section-menu,
1773
+ .cms-link-modal {
1774
+ max-height: 90vh;
1775
+ }
1776
+ }
1777
+ @media (hover: none) and (pointer: coarse) {
1778
+ .cms-toolbar-button {
1779
+ min-width: 40px;
1780
+ min-height: 40px;
1781
+ }
1782
+ .cms-color-swatch {
1783
+ min-width: 32px;
1784
+ min-height: 32px;
1785
+ }
1786
+ .cms-icon-button {
1787
+ min-height: 44px;
1788
+ }
1789
+ .cms-toolbar-button:hover,
1790
+ .cms-color-swatch:hover,
1791
+ .cms-icon-button:hover {
1792
+ transform: none;
1793
+ }
1794
+ .image-resizer,
1795
+ .youtube-resizer {
1796
+ width: 16px;
1797
+ height: 16px;
1798
+ }
1799
+ }
1800
+ @media print {
1801
+ .cms-toolbar,
1802
+ .cms-section-editor-menu,
1803
+ .cms-section-menu,
1804
+ .cms-link-modal,
1805
+ .cms-export-menu,
1806
+ .cms-slash-menu {
1807
+ display: none !important;
1808
+ }
1809
+ .cms-editor-shell {
1810
+ border: none;
1811
+ box-shadow: none;
1812
+ }
1813
+ .cms-editor-content {
1814
+ padding: 0;
1815
+ }
1816
+ .cms-section {
1817
+ page-break-inside: avoid;
1818
+ }
1819
+ .image-resizer,
1820
+ .youtube-resizer {
1821
+ display: none;
1822
+ }
1823
+ }
1824
+ .cms-embed-plugin {
1825
+ position: relative;
1826
+ display: inline-block;
1827
+ }
1828
+ .cms-modal-backdrop {
1829
+ position: fixed;
1830
+ top: 0;
1831
+ left: 0;
1832
+ right: 0;
1833
+ bottom: 0;
1834
+ background: rgba(0, 0, 0, 0.5);
1835
+ z-index: 10001;
1836
+ animation: fadeIn 0.2s ease-out;
1837
+ }
1838
+ @keyframes fadeIn {
1839
+ from {
1840
+ opacity: 0;
1841
+ }
1842
+ to {
1843
+ opacity: 1;
1844
+ }
1845
+ }
1846
+ .cms-embed-modal {
1847
+ position: fixed;
1848
+ background: white;
1849
+ border: 1px solid #e0e0e0;
1850
+ border-radius: 12px;
1851
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
1852
+ width: 500px;
1853
+ max-width: 90vw;
1854
+ max-height: 80vh;
1855
+ overflow-y: auto;
1856
+ z-index: 10002;
1857
+ animation: slideDown 0.2s ease-out;
1858
+ top: 50%;
1859
+ left: 50%;
1860
+ transform: translate(-50%, -50%);
1861
+ }
1862
+ .cms-embed-modal-header {
1863
+ padding: 16px 20px;
1864
+ border-bottom: 1px solid #e0e0e0;
1865
+ background:
1866
+ linear-gradient(
1867
+ 135deg,
1868
+ #667eea 0%,
1869
+ #764ba2 100%);
1870
+ color: white;
1871
+ border-radius: 12px 12px 0 0;
1872
+ font-weight: 600;
1873
+ font-size: 14px;
1874
+ }
1875
+ .cms-embed-modal-content {
1876
+ padding: 20px;
1877
+ display: flex;
1878
+ flex-direction: column;
1879
+ gap: 20px;
1880
+ }
1881
+ .cms-embed-info {
1882
+ background: #f8f9fa;
1883
+ padding: 15px;
1884
+ border-radius: 8px;
1885
+ border-left: 4px solid #667eea;
1886
+ }
1887
+ .cms-embed-info p {
1888
+ margin: 0 0 10px 0;
1889
+ font-size: 13px;
1890
+ font-weight: 600;
1891
+ color: #2c3e50;
1892
+ }
1893
+ .cms-embed-platforms {
1894
+ display: flex;
1895
+ flex-wrap: wrap;
1896
+ gap: 8px;
1897
+ }
1898
+ .cms-embed-platform {
1899
+ display: inline-block;
1900
+ padding: 4px 10px;
1901
+ background: white;
1902
+ border: 1px solid #e0e0e0;
1903
+ border-radius: 16px;
1904
+ font-size: 11px;
1905
+ font-weight: 600;
1906
+ color: #667eea;
1907
+ }
1908
+ .cms-form-group {
1909
+ display: flex;
1910
+ flex-direction: column;
1911
+ gap: 8px;
1912
+ }
1913
+ .cms-form-group label {
1914
+ font-size: 13px;
1915
+ font-weight: 600;
1916
+ color: #2c3e50;
1917
+ text-transform: uppercase;
1918
+ letter-spacing: 0.5px;
1919
+ }
1920
+ .cms-input {
1921
+ width: 100%;
1922
+ padding: 12px 14px;
1923
+ border: 2px solid #e0e0e0;
1924
+ border-radius: 8px;
1925
+ font-size: 14px;
1926
+ color: #2c3e50;
1927
+ transition: border-color 0.2s;
1928
+ font-family: inherit;
1929
+ }
1930
+ .cms-input:hover {
1931
+ border-color: #667eea;
1932
+ }
1933
+ .cms-input:focus {
1934
+ outline: none;
1935
+ border-color: #667eea;
1936
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
1937
+ }
1938
+ .cms-embed-examples {
1939
+ background: #f8f9fa;
1940
+ padding: 15px;
1941
+ border-radius: 8px;
1942
+ }
1943
+ .cms-embed-examples-title {
1944
+ margin: 0 0 10px 0;
1945
+ font-size: 12px;
1946
+ font-weight: 600;
1947
+ color: #6c757d;
1948
+ text-transform: uppercase;
1949
+ letter-spacing: 0.5px;
1950
+ }
1951
+ .cms-embed-examples-list {
1952
+ margin: 0;
1953
+ padding: 0;
1954
+ list-style: none;
1955
+ display: flex;
1956
+ flex-direction: column;
1957
+ gap: 6px;
1958
+ }
1959
+ .cms-embed-examples-list li {
1960
+ font-size: 11px;
1961
+ color: #6c757d;
1962
+ font-family:
1963
+ "Monaco",
1964
+ "Courier New",
1965
+ monospace;
1966
+ padding: 6px 10px;
1967
+ background: white;
1968
+ border-radius: 4px;
1969
+ border: 1px solid #e0e0e0;
1970
+ overflow: hidden;
1971
+ text-overflow: ellipsis;
1972
+ white-space: nowrap;
1973
+ }
1974
+ .cms-modal-actions {
1975
+ display: flex;
1976
+ gap: 10px;
1977
+ justify-content: flex-end;
1978
+ padding-top: 10px;
1979
+ border-top: 1px solid #e0e0e0;
1980
+ }
1981
+ .cms-button {
1982
+ padding: 10px 20px;
1983
+ border: none;
1984
+ border-radius: 8px;
1985
+ font-size: 14px;
1986
+ font-weight: 600;
1987
+ cursor: pointer;
1988
+ transition: all 0.2s;
1989
+ font-family: inherit;
1990
+ }
1991
+ .cms-button-primary {
1992
+ background: #667eea;
1993
+ color: white;
1994
+ }
1995
+ .cms-button-primary:hover:not(:disabled) {
1996
+ background: #5568d3;
1997
+ transform: translateY(-1px);
1998
+ box-shadow: 0 4px 8px rgba(102, 126, 234, 0.3);
1999
+ }
2000
+ .cms-button-primary:disabled {
2001
+ background: #adb5bd;
2002
+ cursor: not-allowed;
2003
+ opacity: 0.6;
2004
+ }
2005
+ .cms-button-secondary {
2006
+ background: #f8f9fa;
2007
+ color: #495057;
2008
+ border: 1px solid #e0e0e0;
2009
+ }
2010
+ .cms-button-secondary:hover {
2011
+ background: #e9ecef;
2012
+ }
2013
+ .embed-node-wrapper {
2014
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
2015
+ transition: all 0.2s;
2016
+ }
2017
+ .embed-node-wrapper:hover {
2018
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
2019
+ }
2020
+ .embed-node-wrapper.selected {
2021
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3);
2022
+ }
2023
+ .embed-node-wrapper.resizing {
2024
+ opacity: 0.8;
2025
+ }
2026
+ .embed-resize-handle {
2027
+ transition: transform 0.2s;
2028
+ }
2029
+ .embed-resize-handle:hover {
2030
+ transform: scale(1.2);
2031
+ }
2032
+ @media (max-width: 768px) {
2033
+ .cms-embed-modal {
2034
+ width: 90vw;
2035
+ max-width: 450px;
2036
+ max-height: 85vh;
2037
+ }
2038
+ .cms-embed-platforms {
2039
+ gap: 6px;
2040
+ }
2041
+ .cms-embed-platform {
2042
+ font-size: 10px;
2043
+ padding: 3px 8px;
2044
+ }
2045
+ .cms-embed-examples-list li {
2046
+ font-size: 10px;
2047
+ }
2048
+ }
2049
+ @media (max-width: 480px) {
2050
+ .cms-embed-modal {
2051
+ width: 95vw;
2052
+ max-height: 90vh;
2053
+ }
2054
+ .cms-modal-actions {
2055
+ flex-direction: column;
2056
+ }
2057
+ .cms-button {
2058
+ width: 100%;
2059
+ }
2060
+ }
2061
+
2062
+ /* src/styles/renderer.css */
2063
+ .cms-renderer {
2064
+ font-family:
2065
+ -apple-system,
2066
+ BlinkMacSystemFont,
2067
+ "Segoe UI",
2068
+ Roboto,
2069
+ "Helvetica Neue",
2070
+ Arial,
2071
+ sans-serif;
2072
+ color: #2c3e50;
2073
+ line-height: 1.8;
2074
+ }
2075
+ .cms-renderer-content {
2076
+ outline: none;
2077
+ font-size: 16px;
2078
+ padding: 0;
2079
+ }
2080
+ .cms-renderer-content h1 {
2081
+ font-size: 2em;
2082
+ font-weight: 700;
2083
+ margin: 0.67em 0;
2084
+ color: #212529;
2085
+ }
2086
+ .cms-renderer-content h2 {
2087
+ font-size: 1.5em;
2088
+ font-weight: 600;
2089
+ margin: 0.75em 0;
2090
+ color: #212529;
2091
+ }
2092
+ .cms-renderer-content h3 {
2093
+ font-size: 1.17em;
2094
+ font-weight: 600;
2095
+ margin: 0.83em 0;
2096
+ color: #212529;
2097
+ }
2098
+ .cms-renderer-content p {
2099
+ margin: 1em 0;
2100
+ }
2101
+ .cms-renderer-content strong,
2102
+ .cms-text-bold {
2103
+ font-weight: 700;
2104
+ }
2105
+ .cms-renderer-content em,
2106
+ .cms-text-italic {
2107
+ font-style: italic;
2108
+ }
2109
+ .cms-renderer-content u,
2110
+ .cms-text-underline {
2111
+ text-decoration: underline;
2112
+ }
2113
+ .cms-renderer-content s,
2114
+ .cms-text-strikethrough {
2115
+ text-decoration: line-through;
2116
+ }
2117
+ .cms-renderer-content code,
2118
+ .cms-text-code {
2119
+ background: #f4f4f4;
2120
+ padding: 2px 6px;
2121
+ border-radius: 3px;
2122
+ font-family:
2123
+ "Monaco",
2124
+ "Courier New",
2125
+ monospace;
2126
+ font-size: 0.9em;
2127
+ color: #e83e8c;
2128
+ }
2129
+ .cms-renderer-content ul,
2130
+ .cms-renderer-content ol {
2131
+ margin: 1em 0;
2132
+ padding-left: 2em;
2133
+ }
2134
+ .cms-renderer-content li {
2135
+ margin: 0.5em 0;
2136
+ }
2137
+ .cms-renderer-content .cms-quote-block,
2138
+ .cms-renderer-content .quote-block {
2139
+ border-left: 4px solid #667eea;
2140
+ padding: 16px 20px;
2141
+ margin: 20px 0;
2142
+ font-style: italic;
2143
+ color: #495057;
2144
+ background:
2145
+ linear-gradient(
2146
+ to right,
2147
+ rgba(102, 126, 234, 0.05) 0%,
2148
+ transparent 100%);
2149
+ border-radius: 0 8px 8px 0;
2150
+ }
2151
+ .cms-renderer-content .cms-code-block,
2152
+ .cms-renderer-content pre {
2153
+ background: #282c34;
2154
+ color: #abb2bf;
2155
+ padding: 16px;
2156
+ border-radius: 8px;
2157
+ overflow-x: auto;
2158
+ margin: 20px 0;
2159
+ font-family:
2160
+ "Monaco",
2161
+ "Courier New",
2162
+ monospace;
2163
+ font-size: 14px;
2164
+ line-height: 1.5;
2165
+ }
2166
+ .cms-renderer-content pre code {
2167
+ background: transparent;
2168
+ padding: 0;
2169
+ color: inherit;
2170
+ font-size: inherit;
2171
+ }
2172
+ .cms-renderer-content .cms-link,
2173
+ .cms-renderer-content a {
2174
+ color: #667eea;
2175
+ text-decoration: underline;
2176
+ cursor: pointer;
2177
+ transition: color 0.2s;
2178
+ }
2179
+ .cms-renderer-content .cms-link:hover,
2180
+ .cms-renderer-content a:hover {
2181
+ color: #5568d3;
2182
+ }
2183
+ .cms-renderer-content a[target=_blank]::after {
2184
+ content: " \2197";
2185
+ font-size: 0.8em;
2186
+ vertical-align: super;
2187
+ }
2188
+ .cms-renderer-content .image-node-wrapper {
2189
+ display: inline-block;
2190
+ margin: 20px 0;
2191
+ max-width: 100%;
2192
+ }
2193
+ .cms-renderer-content .image-node-wrapper img {
2194
+ display: block;
2195
+ width: 100%;
2196
+ height: auto;
2197
+ border-radius: 8px;
2198
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
2199
+ }
2200
+ .cms-renderer-content .image-node-wrapper[style*=width] {
2201
+ width: var(--image-width, auto);
2202
+ }
2203
+ .cms-renderer-content .image-node-wrapper[style*=width] img {
2204
+ width: 100%;
2205
+ height: auto;
2206
+ }
2207
+ .cms-renderer-content .youtube-node-wrapper {
2208
+ margin: 20px 0;
2209
+ max-width: 100%;
2210
+ }
2211
+ .cms-renderer-content .youtube-node-wrapper iframe {
2212
+ display: block;
2213
+ width: 100%;
2214
+ height: auto;
2215
+ aspect-ratio: 16 / 9;
2216
+ border-radius: 8px;
2217
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
2218
+ }
2219
+ .cms-renderer-content .youtube-node-wrapper[style*=width] {
2220
+ width: var(--youtube-width, 100%);
2221
+ }
2222
+ .cms-renderer-content .youtube-node-wrapper[style*=width] iframe {
2223
+ width: 100%;
2224
+ height: auto;
2225
+ }
2226
+ .cms-renderer-content .columns-block {
2227
+ margin: 20px 0;
2228
+ }
2229
+ .cms-renderer-content .columns-2-column {
2230
+ display: flex;
2231
+ gap: 20px;
2232
+ }
2233
+ .cms-renderer-content .columns-2-column > .column {
2234
+ flex: 1;
2235
+ }
2236
+ .cms-renderer-content .columns-3-column {
2237
+ display: flex;
2238
+ gap: 16px;
2239
+ }
2240
+ .cms-renderer-content .columns-3-column > .column {
2241
+ flex: 1;
2242
+ }
2243
+ .cms-renderer-content .columns-4-column {
2244
+ display: flex;
2245
+ gap: 12px;
2246
+ }
2247
+ .cms-renderer-content .columns-4-column > .column {
2248
+ flex: 1;
2249
+ }
2250
+ .cms-renderer-content .columns-grid-2x2 {
2251
+ display: grid;
2252
+ grid-template-columns: repeat(2, 1fr);
2253
+ gap: 16px;
2254
+ }
2255
+ .cms-renderer-content .columns-grid-3x3 {
2256
+ display: grid;
2257
+ grid-template-columns: repeat(3, 1fr);
2258
+ gap: 12px;
2259
+ }
2260
+ .cms-renderer-content .column {
2261
+ padding: 16px;
2262
+ background: #f8f9fa;
2263
+ border-radius: 6px;
2264
+ border: 1px solid #e9ecef;
2265
+ }
2266
+ .cms-renderer-content [dir=ltr] {
2267
+ text-align: left;
2268
+ }
2269
+ .cms-renderer-content [dir=rtl] {
2270
+ text-align: right;
2271
+ }
2272
+ .cms-renderer-content p[style*="text-align: center"],
2273
+ .cms-renderer-content h1[style*="text-align: center"],
2274
+ .cms-renderer-content h2[style*="text-align: center"],
2275
+ .cms-renderer-content h3[style*="text-align: center"] {
2276
+ text-align: center;
2277
+ }
2278
+ .cms-renderer-content p[style*="text-align: right"],
2279
+ .cms-renderer-content h1[style*="text-align: right"],
2280
+ .cms-renderer-content h2[style*="text-align: right"],
2281
+ .cms-renderer-content h3[style*="text-align: right"] {
2282
+ text-align: right;
2283
+ }
2284
+ .cms-renderer-content p[style*="text-align: justify"],
2285
+ .cms-renderer-content h1[style*="text-align: justify"],
2286
+ .cms-renderer-content h2[style*="text-align: justify"],
2287
+ .cms-renderer-content h3[style*="text-align: justify"] {
2288
+ text-align: justify;
2289
+ }
2290
+ @media (max-width: 768px) {
2291
+ .cms-renderer-content {
2292
+ font-size: 15px;
2293
+ }
2294
+ .cms-renderer-content .columns-2-column,
2295
+ .cms-renderer-content .columns-3-column,
2296
+ .cms-renderer-content .columns-4-column {
2297
+ flex-direction: column;
2298
+ }
2299
+ .cms-renderer-content .columns-grid-2x2,
2300
+ .cms-renderer-content .columns-grid-3x3 {
2301
+ grid-template-columns: 1fr;
2302
+ }
2303
+ }
2304
+ @media (prefers-color-scheme: dark) {
2305
+ .cms-renderer {
2306
+ color: #e0e0e0;
2307
+ }
2308
+ .cms-renderer-content h1,
2309
+ .cms-renderer-content h2,
2310
+ .cms-renderer-content h3 {
2311
+ color: #f0f0f0;
2312
+ }
2313
+ .cms-renderer-content .cms-quote-block,
2314
+ .cms-renderer-content .quote-block {
2315
+ background:
2316
+ linear-gradient(
2317
+ to right,
2318
+ rgba(102, 126, 234, 0.15) 0%,
2319
+ transparent 100%);
2320
+ color: #d0d0d0;
2321
+ }
2322
+ .cms-renderer-content .column {
2323
+ background: #2a2a2a;
2324
+ border-color: #3e3e3e;
2325
+ }
2326
+ }
2327
+ .cms-renderer-content .cms-section {
2328
+ margin: 40px 0;
2329
+ border-radius: 12px;
2330
+ position: relative;
2331
+ overflow: hidden;
2332
+ }
2333
+ .cms-renderer-content .cms-section[style*=background-image] {
2334
+ background-size: cover;
2335
+ background-position: center;
2336
+ background-repeat: no-repeat;
2337
+ }
2338
+ .cms-renderer-content .cms-section-overlay {
2339
+ position: absolute;
2340
+ top: 0;
2341
+ left: 0;
2342
+ right: 0;
2343
+ bottom: 0;
2344
+ pointer-events: none;
2345
+ z-index: 0;
2346
+ }
2347
+ .cms-renderer-content .cms-section > * {
2348
+ position: relative;
2349
+ z-index: 1;
2350
+ }
2351
+ .cms-renderer-content .cms-section-hero {
2352
+ min-height: 400px;
2353
+ display: flex;
2354
+ flex-direction: column;
2355
+ justify-content: center;
2356
+ align-items: center;
2357
+ }
2358
+ .cms-renderer-content .cms-section-features,
2359
+ .cms-renderer-content .cms-section-pricing,
2360
+ .cms-renderer-content .cms-section-team {
2361
+ padding: 60px 40px;
2362
+ }
2363
+ .cms-renderer-content .cms-section-cta,
2364
+ .cms-renderer-content .cms-section-testimonial,
2365
+ .cms-renderer-content .cms-section-newsletter {
2366
+ padding: 80px 40px;
2367
+ text-align: center;
2368
+ }
2369
+ .cms-renderer-content .cms-section-stats {
2370
+ padding: 60px 40px;
2371
+ }
2372
+ .cms-renderer-content .cms-section-faq,
2373
+ .cms-renderer-content .cms-section-contact {
2374
+ padding: 60px 40px;
2375
+ }
2376
+ .cms-renderer-content .cms-section[style*="display: flex"] {
2377
+ display: flex !important;
2378
+ }
2379
+ .cms-renderer-content .cms-section[style*="display: grid"] {
2380
+ display: grid !important;
2381
+ }
2382
+ .cms-renderer-content img {
2383
+ max-width: 100%;
2384
+ height: auto;
2385
+ display: block;
2386
+ }
2387
+ .cms-renderer-content .image-node-wrapper {
2388
+ max-width: 100%;
2389
+ width: auto;
2390
+ }
2391
+ .cms-renderer-content .cms-section img,
2392
+ .cms-renderer-content .column img {
2393
+ max-width: 100%;
2394
+ height: auto;
2395
+ object-fit: cover;
2396
+ }
2397
+ .cms-renderer-content .youtube-node-wrapper {
2398
+ position: relative;
2399
+ width: 100%;
2400
+ padding-bottom: 56.25%;
2401
+ height: 0;
2402
+ overflow: hidden;
2403
+ }
2404
+ .cms-renderer-content .youtube-node-wrapper iframe {
2405
+ position: absolute;
2406
+ top: 0;
2407
+ left: 0;
2408
+ width: 100%;
2409
+ height: 100%;
2410
+ }
2411
+ @media (max-width: 1024px) {
2412
+ .cms-renderer-content .cms-section {
2413
+ margin: 30px 0;
2414
+ }
2415
+ .cms-renderer-content .cms-section-hero {
2416
+ min-height: 350px;
2417
+ }
2418
+ .cms-renderer-content .cms-section-features,
2419
+ .cms-renderer-content .cms-section-pricing,
2420
+ .cms-renderer-content .cms-section-team,
2421
+ .cms-renderer-content .cms-section-stats,
2422
+ .cms-renderer-content .cms-section-faq,
2423
+ .cms-renderer-content .cms-section-contact {
2424
+ padding: 50px 30px;
2425
+ }
2426
+ .cms-renderer-content .cms-section-cta,
2427
+ .cms-renderer-content .cms-section-testimonial,
2428
+ .cms-renderer-content .cms-section-newsletter {
2429
+ padding: 60px 30px;
2430
+ }
2431
+ .cms-renderer-content .cms-section[style*="grid-template-columns: repeat(4"] {
2432
+ grid-template-columns: repeat(2, 1fr) !important;
2433
+ }
2434
+ .cms-renderer-content .cms-section[style*="grid-template-columns: repeat(3"] {
2435
+ grid-template-columns: repeat(2, 1fr) !important;
2436
+ }
2437
+ }
2438
+ @media (max-width: 768px) {
2439
+ .cms-renderer-content .cms-section {
2440
+ margin: 20px 0;
2441
+ border-radius: 8px;
2442
+ }
2443
+ .cms-renderer-content .cms-section-hero {
2444
+ min-height: 300px;
2445
+ }
2446
+ .cms-renderer-content .cms-section-features,
2447
+ .cms-renderer-content .cms-section-pricing,
2448
+ .cms-renderer-content .cms-section-team,
2449
+ .cms-renderer-content .cms-section-stats,
2450
+ .cms-renderer-content .cms-section-faq,
2451
+ .cms-renderer-content .cms-section-contact {
2452
+ padding: 40px 20px !important;
2453
+ }
2454
+ .cms-renderer-content .cms-section-cta,
2455
+ .cms-renderer-content .cms-section-testimonial,
2456
+ .cms-renderer-content .cms-section-newsletter {
2457
+ padding: 50px 20px !important;
2458
+ }
2459
+ .cms-renderer-content .cms-section[style*="display: flex"][style*="flex-direction: row"] {
2460
+ flex-direction: column !important;
2461
+ }
2462
+ .cms-renderer-content .cms-section[style*="display: grid"] {
2463
+ grid-template-columns: 1fr !important;
2464
+ }
2465
+ .cms-renderer-content .cms-section[style*="gap:"] {
2466
+ gap: 16px !important;
2467
+ }
2468
+ .cms-renderer-content h1 {
2469
+ font-size: 1.75em;
2470
+ }
2471
+ .cms-renderer-content h2 {
2472
+ font-size: 1.35em;
2473
+ }
2474
+ .cms-renderer-content h3 {
2475
+ font-size: 1.1em;
2476
+ }
2477
+ .cms-renderer-content .column {
2478
+ padding: 12px;
2479
+ }
2480
+ }
2481
+ @media (max-width: 480px) {
2482
+ .cms-renderer-content .cms-section {
2483
+ margin: 15px 0;
2484
+ }
2485
+ .cms-renderer-content .cms-section-hero {
2486
+ min-height: 250px;
2487
+ }
2488
+ .cms-renderer-content .cms-section-features,
2489
+ .cms-renderer-content .cms-section-pricing,
2490
+ .cms-renderer-content .cms-section-team,
2491
+ .cms-renderer-content .cms-section-stats,
2492
+ .cms-renderer-content .cms-section-faq,
2493
+ .cms-renderer-content .cms-section-contact {
2494
+ padding: 30px 15px !important;
2495
+ }
2496
+ .cms-renderer-content .cms-section-cta,
2497
+ .cms-renderer-content .cms-section-testimonial,
2498
+ .cms-renderer-content .cms-section-newsletter {
2499
+ padding: 40px 15px !important;
2500
+ }
2501
+ .cms-renderer-content .cms-section[style*="gap:"] {
2502
+ gap: 12px !important;
2503
+ }
2504
+ .cms-renderer-content h1 {
2505
+ font-size: 1.5em;
2506
+ }
2507
+ .cms-renderer-content h2 {
2508
+ font-size: 1.25em;
2509
+ }
2510
+ .cms-renderer-content h3 {
2511
+ font-size: 1.05em;
2512
+ }
2513
+ }
2514
+ @media (max-width: 768px) {
2515
+ .cms-renderer-content .cms-section[style*=background-image] {
2516
+ background-size: cover !important;
2517
+ background-position: center !important;
2518
+ }
2519
+ }
2520
+ @media print {
2521
+ .cms-renderer-content .cms-section {
2522
+ page-break-inside: avoid;
2523
+ margin: 20px 0;
2524
+ }
2525
+ .cms-renderer-content .cms-section[style*=background-image] {
2526
+ background: none !important;
2527
+ }
2528
+ .cms-renderer-content .cms-section-overlay {
2529
+ display: none;
2530
+ }
2531
+ }
2532
+ .cms-renderer-content a:focus,
2533
+ .cms-renderer-content button:focus {
2534
+ outline: 2px solid #667eea;
2535
+ outline-offset: 2px;
2536
+ }
2537
+ @media (prefers-reduced-motion: reduce) {
2538
+ .cms-renderer-content * {
2539
+ animation-duration: 0.01ms !important;
2540
+ animation-iteration-count: 1 !important;
2541
+ transition-duration: 0.01ms !important;
2542
+ }
2543
+ }
2544
+ @media (prefers-contrast: high) {
2545
+ .cms-renderer-content .cms-section {
2546
+ border: 2px solid currentColor;
2547
+ }
2548
+ .cms-renderer-content .cms-quote-block,
2549
+ .cms-renderer-content .quote-block {
2550
+ border-left-width: 6px;
2551
+ }
2552
+ }
2553
+ .cms-renderer-content .embed-node-wrapper {
2554
+ display: inline-block;
2555
+ margin: 20px 0;
2556
+ max-width: 100%;
2557
+ border-radius: 8px;
2558
+ overflow: hidden;
2559
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
2560
+ }
2561
+ .cms-renderer-content .embed-node-wrapper iframe {
2562
+ display: block;
2563
+ width: 100%;
2564
+ height: 100%;
2565
+ border: none;
2566
+ }
2567
+ .cms-renderer-content .embed-node-wrapper[style*=width] {
2568
+ width: var(--embed-width, auto);
2569
+ }
2570
+ .cms-renderer-content .embed-node-wrapper[style*=height] {
2571
+ height: var(--embed-height, auto);
2572
+ }
2573
+ .cms-renderer-content .embed-youtube {
2574
+ aspect-ratio: 16 / 9;
2575
+ }
2576
+ .cms-renderer-content .embed-vimeo {
2577
+ aspect-ratio: 16 / 9;
2578
+ }
2579
+ .cms-renderer-content .embed-facebook {
2580
+ min-height: 500px;
2581
+ }
2582
+ .cms-renderer-content .embed-instagram {
2583
+ max-width: 540px;
2584
+ margin-left: auto;
2585
+ margin-right: auto;
2586
+ }
2587
+ .cms-renderer-content .embed-twitter {
2588
+ max-width: 550px;
2589
+ margin-left: auto;
2590
+ margin-right: auto;
2591
+ }
2592
+ .cms-renderer-content .embed-tiktok {
2593
+ max-width: 605px;
2594
+ margin-left: auto;
2595
+ margin-right: auto;
2596
+ }
2597
+ .cms-renderer-content .embed-spotify {
2598
+ height: 380px;
2599
+ }
2600
+ .cms-renderer-content .embed-soundcloud {
2601
+ height: 166px;
2602
+ }
2603
+ .cms-renderer-content .embed-generic {
2604
+ min-height: 200px;
2605
+ }
2606
+ @media (max-width: 768px) {
2607
+ .cms-renderer-content .embed-node-wrapper {
2608
+ margin: 15px 0;
2609
+ max-width: 100% !important;
2610
+ }
2611
+ .cms-renderer-content .embed-node-wrapper[style*=width] {
2612
+ width: 100% !important;
2613
+ height: auto !important;
2614
+ }
2615
+ .cms-renderer-content .embed-facebook {
2616
+ min-height: 400px;
2617
+ }
2618
+ .cms-renderer-content .embed-spotify {
2619
+ height: 300px;
2620
+ }
2621
+ }
2622
+ @media (max-width: 480px) {
2623
+ .cms-renderer-content .embed-node-wrapper {
2624
+ margin: 10px 0;
2625
+ }
2626
+ .cms-renderer-content .embed-facebook {
2627
+ min-height: 350px;
2628
+ }
2629
+ .cms-renderer-content .embed-spotify {
2630
+ height: 250px;
2631
+ }
2632
+ }
2633
+ /*# sourceMappingURL=index.css.map */