PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.13
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.13
2.0.13 2.0.12 2.0.11 2.0.10 2.0.9 trunk 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8
blockenberg / assets / css / editor.css

editor.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.13, at assets/css/editor.css

1,769 lines 40.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Blockenberg Editor Styles
3 * Common styles for all blocks in editor
4 */
5
6 /* ========================================
7 Color Panel: Make PanelColorSettings
8 collapsible (ToolsPanel → PanelBody style)
9 ======================================== */
10
11 /* The ToolsPanel header becomes our toggle trigger */
12 .block-editor-panel-color-gradient-settings {
13 border-top: 1px solid #e0e0e0;
14 }
15
16 .block-editor-panel-color-gradient-settings .components-tools-panel-header {
17 cursor: pointer;
18 user-select: none;
19 position: relative;
20 padding-right: 36px;
21 }
22
23 /* Chevron indicator */
24 .block-editor-panel-color-gradient-settings .components-tools-panel-header::after {
25 content: '';
26 position: absolute;
27 right: 16px;
28 top: 50%;
29 width: 6px;
30 height: 6px;
31 border-right: 2px solid #1e1e1e;
32 border-bottom: 2px solid #1e1e1e;
33 transform: translateY(-50%) rotate(45deg);
34 transition: transform .2s ease;
35 }
36
37 /* Collapsed state */
38 .block-editor-panel-color-gradient-settings.bkbg-panel-collapsed .components-tools-panel-header::after {
39 transform: translateY(-50%) rotate(-45deg);
40 }
41
42 .block-editor-panel-color-gradient-settings.bkbg-panel-collapsed > *:not(.components-tools-panel-header) {
43 display: none !important;
44 }
45
46 /* Hide the native ⋮ dropdown menu — we keep reset via our chevron */
47 .block-editor-panel-color-gradient-settings .components-tools-panel-header .components-dropdown-menu {
48 display: none;
49 }
50
51 /* ========================================
52 Block Inserter: BKB Badge on Icons
53 ======================================== */
54
55 /* Target Blockenberg blocks in block inserter */
56 .block-editor-block-types-list__item[class*="blockenberg-"] .block-editor-block-types-list__item-icon,
57 .block-editor-inserter__panel-content [class*="blockenberg-"] .block-editor-block-types-list__item-icon {
58 position: relative;
59 }
60
61 .block-editor-block-types-list__item[class*="blockenberg-"] .block-editor-block-types-list__item-icon::after,
62 .block-editor-inserter__panel-content [class*="blockenberg-"] .block-editor-block-types-list__item-icon::after {
63 content: 'BKB';
64 position: absolute;
65 bottom: -2px;
66 right: -2px;
67 background: var(--wp-admin-theme-color, #8668ff);
68 background: #8668ff;
69 color: #fff;
70 font-size: 7px;
71 font-weight: 700;
72 padding: 1px 3px;
73 border-radius: 3px;
74 line-height: 1;
75 letter-spacing: 0.3px;
76 }
77
78 /* .block-editor-block-types-list__item[class*="blockenberg-"] .block-editor-block-types-list__item-icon .dashicon:before,
79 .block-editor-inserter__panel-content [class*="blockenberg-"] .block-editor-block-types-list__item-icon .dashicon:before {
80 color: #8668ff;
81 } */
82
83 /* ========================================
84 Editor: Block Wrapper & Hover States
85 ======================================== */
86 .editor-styles-wrapper .bkbg-editor-wrap,
87 .block-editor-block-list__block.bkbg-editor-wrap {
88 position: relative;
89 border: 1px dashed transparent !important;
90 border-radius: 4px;
91 transition: border-color 0.15s ease;
92 }
93
94 .editor-styles-wrapper .bkbg-editor-wrap:hover,
95 .block-editor-block-list__block.bkbg-editor-wrap:hover {
96 border-color: rgba(0, 124, 186, 0.5) !important;
97 }
98
99 .editor-styles-wrapper .bkbg-editor-wrap.is-selected,
100 .editor-styles-wrapper .bkbg-editor-wrap.bkbg-block-selected,
101 .block-editor-block-list__block.bkbg-editor-wrap.is-selected {
102 border-color: #007cba !important;
103 border-style: solid !important;
104 }
105
106 /* Block label in editor */
107 .bkbg-editor-wrap::before {
108 content: attr(data-block-label);
109 position: absolute;
110 top: -10px;
111 left: 10px;
112 background: #007cba;
113 color: #fff;
114 font-size: 10px;
115 font-weight: 600;
116 padding: 2px 8px;
117 border-radius: 3px;
118 opacity: 0;
119 transition: opacity 0.15s ease;
120 pointer-events: none;
121 z-index: 10;
122 text-transform: uppercase;
123 letter-spacing: 0.5px;
124 }
125
126 .bkbg-editor-wrap:hover::before,
127 .bkbg-editor-wrap.is-selected::before {
128 opacity: 1;
129 }
130
131 /* ========================================
132 Editor: Action Bar (Hover + Selected)
133 ======================================== */
134
135 .bkbg-editor-wrap .bkbg-editor-actions {
136 position: absolute;
137 left: -1px;
138 right: -1px;
139 top: 100%;
140 bottom: auto;
141 transform: translateY(2px);
142
143 display: flex;
144 align-items: center;
145 justify-content: center;
146 gap: 10px;
147 opacity: 0;
148 pointer-events: none;
149 transition: opacity 0.15s ease, transform 0.15s ease;
150 z-index: 20;
151
152 padding: 10px 12px;
153 border-radius: 0 0 10px 10px;
154 background: rgba(255, 255, 255, 0.92);
155 border: 1px dashed rgba(0, 124, 186, 0.45);
156 box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
157 backdrop-filter: blur(8px);
158 }
159
160 .bkbg-editor-wrap:hover .bkbg-editor-actions,
161 .bkbg-editor-wrap .bkbg-editor-actions:hover,
162 .bkbg-editor-wrap.is-selected .bkbg-editor-actions,
163 .bkbg-editor-wrap.bkbg-block-selected .bkbg-editor-actions,
164 .bkbg-editor-wrap:focus-within .bkbg-editor-actions {
165 opacity: 1;
166 transform: translateY(0);
167 pointer-events: auto;
168 }
169
170 .bkbg-editor-wrap .bkbg-editor-actions .components-button {
171 gap: 6px;
172 }
173
174 /* Keep overlays usable when blocks are close together */
175 .bkbg-editor-wrap {
176 z-index: 0;
177 }
178
179 .bkbg-editor-wrap:hover,
180 .bkbg-editor-wrap.is-selected,
181 .bkbg-editor-wrap:focus-within {
182 z-index: 1;
183 }
184
185 /* ========================================
186 Layout Blocks: Section / Row / Column
187 ======================================== */
188
189 /* Layout block hierarchy visualization */
190 .editor-styles-wrapper [data-type="blockenberg/section"],
191 .editor-styles-wrapper [data-type="blockenberg/row"],
192 .editor-styles-wrapper [data-type="blockenberg/column"] {
193 position: relative;
194 }
195
196 /* Section block editor styles */
197 .editor-styles-wrapper [data-type="blockenberg/section"] {
198 margin-top: 24px;
199 margin-bottom: 24px;
200 }
201
202 .editor-styles-wrapper [data-type="blockenberg/section"]:first-child {
203 margin-top: 0;
204 }
205
206 /* Row block editor styles */
207 .editor-styles-wrapper [data-type="blockenberg/row"] {
208 margin-top: 16px;
209 margin-bottom: 16px;
210 }
211
212 .editor-styles-wrapper [data-type="blockenberg/row"]:first-child {
213 margin-top: 0;
214 }
215
216 /* Ensure row inner blocks display as flex - direct children only */
217 .editor-styles-wrapper [data-type="blockenberg/row"] > .bkbg-row > .bkbg-row__inner > .block-editor-inner-blocks > .block-editor-block-list__layout {
218 display: flex !important;
219 flex-wrap: nowrap !important;
220 align-items: stretch !important;
221 width: 100% !important;
222 overflow: hidden !important;
223 }
224
225 /* Column blocks in editor - force width constraints */
226 .editor-styles-wrapper [data-type="blockenberg/row"] > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="blockenberg/column"] {
227 flex-shrink: 0 !important;
228 flex-grow: 0 !important;
229 min-width: 0 !important;
230 max-width: none;
231 }
232
233 /* Remove default Gutenberg margins on columns */
234 .editor-styles-wrapper [data-type="blockenberg/column"] {
235 margin-left: 0 !important;
236 margin-right: 0 !important;
237 }
238
239 /* ========================================
240 Layout Block: Visual Hierarchy Indicators
241 ======================================== */
242
243 /* Section outline */
244 .editor-styles-wrapper [data-type="blockenberg/section"] > .bkbg-section {
245 position: relative;
246 }
247
248 .editor-styles-wrapper [data-type="blockenberg/section"] > .bkbg-section::after {
249 content: '';
250 position: absolute;
251 top: -2px;
252 left: -2px;
253 right: -2px;
254 bottom: -2px;
255 border: 2px dashed transparent;
256 border-radius: 6px;
257 pointer-events: none;
258 transition: border-color 0.15s ease;
259 }
260
261 .editor-styles-wrapper [data-type="blockenberg/section"].is-selected > .bkbg-section::after,
262 .editor-styles-wrapper [data-type="blockenberg/section"]:focus-within > .bkbg-section::after {
263 border-color: rgba(59, 130, 246, 0.3);
264 }
265
266 /* Row outline */
267 .editor-styles-wrapper [data-type="blockenberg/row"] > .bkbg-row::after {
268 content: '';
269 position: absolute;
270 top: -1px;
271 left: -1px;
272 right: -1px;
273 bottom: -1px;
274 border: 1px dashed transparent;
275 border-radius: 4px;
276 pointer-events: none;
277 transition: border-color 0.15s ease;
278 }
279
280 .editor-styles-wrapper [data-type="blockenberg/row"].is-selected > .bkbg-row::after,
281 .editor-styles-wrapper [data-type="blockenberg/row"]:focus-within > .bkbg-row::after {
282 border-color: rgba(59, 130, 246, 0.4);
283 }
284
285 /* ========================================
286 Layout Block: Drag Resize Handles
287 ======================================== */
288
289 /* Ensure handles overlay is above content */
290 .editor-styles-wrapper .bkbg-row__handles-overlay {
291 z-index: 100;
292 }
293
294 /* Handle hover effect enhancement */
295 .editor-styles-wrapper .bkbg-row__resize-handle:hover .bkbg-row__resize-handle-line {
296 box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15);
297 }
298
299 /* Handle active/dragging state */
300 .editor-styles-wrapper .bkbg-row__resize-handle.is-resizing .bkbg-row__resize-handle-line {
301 box-shadow: 0 0 0 6px rgba(59, 130, 246, 0.2);
302 }
303
304 /* Cursor override during resize */
305 .editor-styles-wrapper .bkbg-row--is-resizing,
306 .editor-styles-wrapper .bkbg-row--is-resizing * {
307 cursor: col-resize !important;
308 }
309
310 /* ========================================
311 Layout Block: Responsive Mode Preview
312 ======================================== */
313
314 /* Tablet mode preview styling */
315 .editor-styles-wrapper .bkbg-row--mode-tablet {
316 background-image: repeating-linear-gradient(
317 90deg,
318 transparent,
319 transparent 10px,
320 rgba(59, 130, 246, 0.02) 10px,
321 rgba(59, 130, 246, 0.02) 20px
322 );
323 }
324
325 /* Mobile mode preview styling */
326 .editor-styles-wrapper .bkbg-row--mode-mobile {
327 background-image: repeating-linear-gradient(
328 90deg,
329 transparent,
330 transparent 8px,
331 rgba(234, 88, 12, 0.02) 8px,
332 rgba(234, 88, 12, 0.02) 16px
333 );
334 }
335
336 /* Mode badge color variants */
337 .editor-styles-wrapper .bkbg-row--mode-tablet .bkbg-row__mode-badge {
338 background: #8b5cf6;
339 }
340
341 .editor-styles-wrapper .bkbg-row--mode-mobile .bkbg-row__mode-badge {
342 background: #ea580c;
343 }
344
345 /* ========================================
346 Layout Block: Empty State
347 ======================================== */
348
349 /* Empty column placeholder */
350 .editor-styles-wrapper .bkbg-column:empty::before,
351 .editor-styles-wrapper .bkbg-column .bkbg-column__inner:empty::before {
352 content: 'Add content';
353 display: flex;
354 align-items: center;
355 justify-content: center;
356 min-height: 60px;
357 color: #94a3b8;
358 font-size: 12px;
359 font-style: italic;
360 }
361
362 /* Empty row placeholder */
363 .editor-styles-wrapper .bkbg-row .bkbg-row__inner:empty::before {
364 content: 'Add columns';
365 display: flex;
366 align-items: center;
367 justify-content: center;
368 min-height: 50px;
369 color: #94a3b8;
370 font-size: 12px;
371 font-style: italic;
372 }
373
374 /* ========================================
375 Layout Block: Toolbar & Controls
376 ======================================== */
377
378 /* Preset buttons in inspector */
379 .bkbg-row-presets {
380 display: flex;
381 flex-direction: column;
382 gap: 6px;
383 }
384
385 .bkbg-row-presets .components-button {
386 justify-content: flex-start;
387 width: 100%;
388 padding: 8px 12px;
389 }
390
391 .bkbg-row-presets .components-button:hover {
392 background: #f1f5f9;
393 }
394
395 /* Column width controls */
396 .bkbg-column-widths-controls .components-range-control__wrapper {
397 margin-bottom: 12px;
398 }
399
400 /* ========================================
401 Layout Block: Selection States
402 ======================================== */
403
404 /* When section is selected */
405 .editor-styles-wrapper [data-type="blockenberg/section"].is-selected {
406 z-index: 1;
407 }
408
409 /* When row is selected inside section */
410 .editor-styles-wrapper [data-type="blockenberg/section"] [data-type="blockenberg/row"].is-selected {
411 z-index: 2;
412 }
413
414 /* When column is selected inside row */
415 .editor-styles-wrapper [data-type="blockenberg/row"] [data-type="blockenberg/column"].is-selected {
416 z-index: 3;
417 }
418
419 /* ========================================
420 Layout Block: Appender Buttons
421 ======================================== */
422
423 /* Row appender */
424 .editor-styles-wrapper .bkbg-row .block-list-appender {
425 display: flex;
426 align-items: center;
427 justify-content: center;
428 min-width: 48px;
429 margin: 0 8px;
430 }
431
432 /* Column appender */
433 .editor-styles-wrapper .bkbg-column .block-list-appender {
434 min-height: 48px;
435 display: flex;
436 align-items: center;
437 justify-content: center;
438 }
439
440 /* Section appender */
441 .editor-styles-wrapper .bkbg-section .block-list-appender {
442 margin-top: 16px;
443 }
444
445 /* ========================================
446 Testimonials / Team Members: Carousel Nav
447 ======================================== */
448
449 /* Ensure bottom nav is clickable in editor */
450 .editor-styles-wrapper .bkbg-ts-nav-bottom .bkbg-ts-nav,
451 .editor-styles-wrapper .bkbg-tm-nav-bottom .bkbg-tm-nav {
452 position: relative;
453 z-index: 10;
454 }
455
456 .editor-styles-wrapper .bkbg-ts-nav-bottom .bkbg-ts-nav-btn,
457 .editor-styles-wrapper .bkbg-tm-nav-bottom .bkbg-tm-nav-btn {
458 position: relative;
459 z-index: 11;
460 }
461
462 /* ========================================
463 Inspector Tabs: General / Advanced
464 ======================================== */
465
466 /* TabPanel: make tab buttons stretch equally */
467 .bkbg-inspector-tab-panel > .components-tab-panel__tabs {
468 display: flex;
469 margin: 0;
470 }
471
472 .bkbg-inspector-tab-panel > .components-tab-panel__tabs .components-tab-panel__tabs-item {
473 flex: 1;
474 justify-content: center;
475 }
476
477 /* Advanced section heading */
478 .bkbg-advanced-header {
479 font-size: 11px;
480 font-weight: 600;
481 text-transform: uppercase;
482 letter-spacing: 0.5px;
483 color: #757575;
484 padding: 16px 16px 8px;
485 }
486
487 /* Separator between control groups */
488 .bkbg-adv-separator {
489 height: 1px;
490 background: #e0e0e0;
491 margin: 16px 0;
492 }
493
494 /* ---- Tab visibility: toggle block panels vs. advanced panels ---- */
495
496 /* When the Advanced tab is active, hide every PanelBody that is NOT ours */
497 .block-editor-block-inspector[data-bkbg-tab="advanced"] .components-panel__body:not(.bkbg-adv-panel) {
498 display: none !important;
499 }
500
501 /* Also hide the built-in WP "Advanced" section (HTML anchor / extra CSS classes) */
502 .block-editor-block-inspector[data-bkbg-tab="advanced"] .block-editor-block-inspector__advanced {
503 display: none !important;
504 }
505
506 /* ========================================
507 Advanced Layout Controls
508 ======================================== */
509
510 /* --- Spacing Control (Margin / Padding) --- */
511
512 .bkbg-spacing-control {
513 margin-bottom: 16px;
514 width: 100%;
515 max-width: 100%;
516 box-sizing: border-box;
517 }
518
519 .bkbg-spacing-header {
520 display: flex;
521 align-items: center;
522 gap: 8px;
523 margin-bottom: 10px;
524 }
525
526 .bkbg-spacing-label {
527 font-size: 13px;
528 font-weight: 500;
529 color: #4f5b66;
530 line-height: 1;
531 }
532
533 .bkbg-spacing-inputs {
534 display: flex;
535 align-items: flex-start;
536 gap: 0;
537 width: 100%;
538 max-width: 100%;
539 min-width: 0;
540 box-sizing: border-box;
541 }
542
543 .bkbg-spacing-side {
544 flex: 1;
545 display: flex;
546 flex-direction: column;
547 align-items: center;
548 min-width: 0;
549 }
550
551 .bkbg-spacing-side:first-child {
552 margin-left: 0;
553 }
554
555 .bkbg-spacing-input {
556 width: 100%;
557 height: 32px;
558 border: 1px solid #c8cdd4;
559 border-radius: 0;
560 border-right: 0;
561 text-align: center;
562 font-size: 13px;
563 padding: 0 4px;
564 background: #fff;
565 color: #4f5b66;
566 -moz-appearance: auto;
567 appearance: auto;
568 box-sizing: border-box;
569 }
570
571 .bkbg-spacing-side:first-child .bkbg-spacing-input {
572 border-top-left-radius: 6px;
573 border-bottom-left-radius: 6px;
574 }
575
576 .bkbg-spacing-side:last-of-type .bkbg-spacing-input {
577 border-right: 1px solid #c8cdd4;
578 }
579
580 .bkbg-spacing-side .bkbg-spacing-input {
581 border-radius: 0 !important;
582 border-right: 0;
583 }
584
585 .bkbg-spacing-side:first-child .bkbg-spacing-input {
586 border-top-left-radius: 6px !important;
587 border-bottom-left-radius: 6px !important;
588 }
589
590 .bkbg-spacing-side:last-of-type .bkbg-spacing-input {
591 border-top-right-radius: 0 !important;
592 border-bottom-right-radius: 0 !important;
593 }
594
595 .bkbg-spacing-input::-webkit-inner-spin-button,
596 .bkbg-spacing-input::-webkit-outer-spin-button {
597 opacity: 0;
598 pointer-events: none;
599 margin: 0;
600 transition: opacity .12s ease;
601 }
602
603 .bkbg-spacing-input:hover::-webkit-inner-spin-button,
604 .bkbg-spacing-input:hover::-webkit-outer-spin-button,
605 .bkbg-spacing-input:focus::-webkit-inner-spin-button,
606 .bkbg-spacing-input:focus::-webkit-outer-spin-button {
607 opacity: 1;
608 pointer-events: auto;
609 }
610
611 .bkbg-spacing-input:focus {
612 border-color: var(--wp-admin-theme-color, #007cba);
613 box-shadow: 0 0 0 1px var(--wp-admin-theme-color, #007cba);
614 outline: none;
615 }
616
617 .bkbg-spacing-side-label {
618 font-size: 11px;
619 color: #7a8594;
620 margin-top: 6px;
621 }
622
623 /* Link / Unlink Button */
624 .bkbg-link-btn.components-button {
625 min-width: 44px;
626 width: 44px;
627 height: 32px;
628 padding: 0;
629 display: flex;
630 align-items: center;
631 justify-content: center;
632 border: 1px solid #c8cdd4;
633 border-left: 0;
634 border-top-right-radius: 6px;
635 border-bottom-right-radius: 6px;
636 border-top-left-radius: 0;
637 border-bottom-left-radius: 0;
638 background: #d2d7de;
639 flex-shrink: 0;
640 flex-grow: 0;
641 flex-basis: 44px;
642 align-self: flex-start;
643 color: #1f2328;
644 }
645
646 .bkbg-link-btn.is-linked.components-button {
647 background: #ccd2da;
648 color: #1f2328;
649 }
650
651 .bkbg-link-btn.components-button:not(.is-linked) {
652 background: #ffffff;
653 color: #1f2328;
654 }
655
656 .bkbg-link-btn .dashicons,
657 .bkbg-link-btn .dashicons-before:before,
658 .bkbg-link-btn .dashicons-admin-links:before {
659 font-size: 14px;
660 width: 14px;
661 height: 14px;
662 line-height: 14px;
663 }
664
665 /* --- Device Switcher --- */
666
667 .bkbg-device-switcher {
668 position: relative;
669 display: inline-flex;
670 }
671
672 .bkbg-device-btn.components-button {
673 min-width: 24px;
674 width: 24px;
675 height: 24px;
676 padding: 0;
677 display: flex;
678 align-items: center;
679 justify-content: center;
680 border: none;
681 background: transparent;
682 color: #949494;
683 }
684
685 .bkbg-device-btn.components-button:hover {
686 background: transparent;
687 color: #e50087;
688 }
689
690 .bkbg-device-popover .components-popover__content {
691 padding: 6px;
692 border-radius: 8px;
693 }
694
695 .bkbg-device-list {
696 display: flex;
697 flex-direction: column;
698 gap: 4px;
699 padding: 2px;
700 }
701
702 .bkbg-device-option.components-button {
703 min-width: 36px;
704 width: 36px;
705 height: 36px;
706 padding: 0;
707 display: flex;
708 align-items: center;
709 justify-content: center;
710 border-radius: 4px;
711 border: none;
712 background: transparent;
713 }
714
715 .bkbg-device-option.components-button:hover {
716 background: #f0f0f0;
717 }
718
719 .bkbg-device-option.is-active.components-button {
720 background: #f5e6f0;
721 }
722
723 /* --- Unit Selector --- */
724
725 .bkbg-unit-selector {
726 position: relative;
727 display: inline-flex;
728 margin-left: auto;
729 }
730
731 .bkbg-unit-btn.components-button {
732 font-size: 13px;
733 font-weight: 500;
734 color: #4f5b66;
735 padding: 0 2px;
736 height: 24px;
737 min-width: 0;
738 border: none;
739 background: transparent;
740 line-height: 1;
741 display: inline-flex;
742 align-items: center;
743 gap: 3px;
744 }
745
746 .bkbg-unit-btn.components-button:hover {
747 color: #4f5b66;
748 background: #f0f0f0;
749 }
750
751 .bkbg-unit-value {
752 line-height: 1;
753 }
754
755 .bkbg-unit-caret.dashicons {
756 font-size: 12px;
757 width: 14px;
758 height: 14px;
759 line-height: 17px;
760 margin: 0;
761 }
762
763 .bkbg-unit-popover .components-popover__content {
764 padding: 6px 10px;
765 border-radius: 8px;
766 }
767
768 .bkbg-unit-list {
769 display: flex;
770 flex-direction: column;
771 gap: 2px;
772 padding: 2px;
773 min-width: 56px;
774 }
775
776 .bkbg-unit-option.components-button {
777 width: 100%;
778 height: 32px;
779 padding: 0 12px;
780 display: flex;
781 align-items: center;
782 justify-content: center;
783 border-radius: 4px;
784 border: none;
785 background: transparent;
786 font-size: 13px;
787 color: #4f5b66;
788 }
789
790 .bkbg-unit-option.components-button:hover {
791 background: #f0f0f0;
792 }
793
794 .bkbg-unit-option.is-active.components-button {
795 color: #e50087;
796 font-weight: 500;
797 }
798
799 /* --- Z-Index Control --- */
800
801 .bkbg-zindex-control {
802 margin-bottom: 18px;
803 display: flex;
804 gap: 12px;
805 align-items: center;
806 width: 100%;
807 max-width: 100%;
808 min-width: 0;
809 box-sizing: border-box;
810 }
811
812 .bkbg-zindex-control .bkbg-spacing-header {
813 margin-bottom: 0;
814 flex: 0 0 108px;
815 width: 108px;
816 }
817
818 .bkbg-zindex-control .bkbg-spacing-label {
819 white-space: nowrap;
820 }
821
822 .bkbg-zindex-input-wrap {
823 display: flex;
824 justify-content: flex-start;
825 flex: 1;
826 width: 100%;
827 max-width: 100%;
828 min-width: 0;
829 box-sizing: border-box;
830 }
831
832 .bkbg-zindex-input {
833 width: 100%;
834 max-width: 100%;
835 min-width: 0;
836 height: 32px;
837 border: 1px solid #c8cdd4;
838 border-radius: 6px;
839 text-align: center;
840 font-size: 13px;
841 padding: 0 8px;
842 background: #fff;
843 color: #4f5b66;
844 -moz-appearance: textfield;
845 appearance: textfield;
846 box-sizing: border-box;
847 }
848
849 .bkbg-zindex-input:focus {
850 border-color: var(--wp-admin-theme-color, #007cba);
851 box-shadow: 0 0 0 1px var(--wp-admin-theme-color, #007cba);
852 outline: none;
853 }
854
855 /* --- CSS ID / CSS Classes Control --- */
856
857 .bkbg-css-control {
858 margin-bottom: 18px;
859 display: flex;
860 gap: 12px;
861 align-items: center;
862 width: 100%;
863 max-width: 100%;
864 min-width: 0;
865 box-sizing: border-box;
866 }
867
868 .bkbg-css-control .bkbg-spacing-header {
869 margin-bottom: 0;
870 flex: 0 0 108px;
871 width: 108px;
872 }
873
874 .bkbg-css-control .bkbg-spacing-label {
875 white-space: nowrap;
876 }
877
878 .bkbg-css-input-wrap {
879 display: flex;
880 align-items: center;
881 gap: 0;
882 flex: 1;
883 width: 100%;
884 max-width: 100%;
885 min-width: 0;
886 box-sizing: border-box;
887 }
888
889 .bkbg-css-input {
890 flex: 1;
891 width: 100%;
892 max-width: 100%;
893 min-width: 0;
894 height: 32px;
895 border: 1px solid #c8cdd4;
896 border-radius: 6px;
897 font-size: 13px;
898 padding: 0 8px;
899 background: #fff;
900 color: #4f5b66;
901 box-sizing: border-box;
902 }
903
904 .bkbg-css-input:focus {
905 border-color: var(--wp-admin-theme-color, #007cba);
906 box-shadow: 0 0 0 1px var(--wp-admin-theme-color, #007cba);
907 outline: none;
908 }
909
910 /* ========================================
911 Background Panel Controls
912 ======================================== */
913
914 /* --- Normal / Hover State Tabs --- */
915
916 .bkbg-bg-state-tabs {
917 display: flex;
918 gap: 0;
919 margin-bottom: 16px;
920 border: 1px solid #e0e0e0;
921 border-radius: 6px;
922 overflow: hidden;
923 }
924
925 .bkbg-bg-state-tab.components-button {
926 flex: 1;
927 justify-content: center;
928 height: 34px;
929 font-size: 12px;
930 font-weight: 500;
931 color: #4f5b66;
932 border: none;
933 border-radius: 0;
934 background: #f7f7f7;
935 transition: background 0.15s, color 0.15s;
936 }
937
938 .bkbg-bg-state-tab.components-button:not(:last-child) {
939 border-right: 1px solid #e0e0e0;
940 }
941
942 .bkbg-bg-state-tab.components-button:hover {
943 background: #eee;
944 }
945
946 .bkbg-bg-state-tab.is-active.components-button {
947 background: #fff;
948 color: #e50087;
949 font-weight: 600;
950 }
951
952 /* --- Background Type Row --- */
953
954 .bkbg-bg-type-row {
955 display: flex;
956 align-items: center;
957 gap: 12px;
958 margin-bottom: 16px;
959 }
960
961 .bkbg-bg-type-buttons {
962 display: flex;
963 gap: 4px;
964 margin-left: auto;
965 }
966
967 .bkbg-bg-type-btn.components-button {
968 width: 30px;
969 height: 30px;
970 min-width: 30px;
971 padding: 0;
972 display: flex;
973 align-items: center;
974 justify-content: center;
975 border: 1px solid #d2d7de;
976 border-radius: 4px;
977 background: #fff;
978 color: #757575;
979 transition: all 0.15s;
980 }
981
982 .bkbg-bg-type-btn.components-button:hover {
983 border-color: #949494;
984 color: #4f5b66;
985 }
986
987 .bkbg-bg-type-btn.is-active.components-button {
988 background: #e50087;
989 border-color: #e50087;
990 color: #fff;
991 }
992
993 /* --- Color Swatch Row --- */
994
995 .bkbg-color-row {
996 display: flex;
997 align-items: center;
998 gap: 10px;
999 margin-bottom: 14px;
1000 }
1001
1002 .bkbg-color-controls {
1003 display: flex;
1004 align-items: center;
1005 gap: 6px;
1006 margin-left: auto;
1007 }
1008
1009 .bkbg-color-swatch {
1010 width: 24px;
1011 height: 24px;
1012 border-radius: 50%;
1013 border: 2px solid #d2d7de;
1014 cursor: pointer;
1015 transition: border-color 0.15s;
1016 background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><defs><pattern id="c" width="8" height="8" patternUnits="userSpaceOnUse"><rect width="4" height="4" fill="%23ccc"/><rect x="4" y="4" width="4" height="4" fill="%23ccc"/></pattern></defs><rect fill="url(%23c)" width="24" height="24"/></svg>');
1017 background-size: cover;
1018 position: relative;
1019 overflow: hidden;
1020 }
1021
1022 .bkbg-color-swatch:hover {
1023 border-color: #e50087;
1024 }
1025
1026 .bkbg-color-popover .components-popover__content {
1027 padding: 12px;
1028 border-radius: 8px;
1029 overflow: visible;
1030 box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
1031 }
1032
1033 .bkbg-color-popover {
1034 z-index: 1000001 !important;
1035 }
1036
1037 .bkbg-color-picker-wrap {
1038 width: 240px;
1039 }
1040
1041 .bkbg-color-picker-wrap .components-color-picker {
1042 width: 100%;
1043 }
1044
1045 .bkbg-color-clear.components-button {
1046 width: 100%;
1047 justify-content: center;
1048 margin: 8px 0;
1049 font-size: 12px;
1050 }
1051
1052 /* --- Image Upload Control --- */
1053
1054 .bkbg-image-control {
1055 margin-bottom: 14px;
1056 }
1057
1058 .bkbg-image-upload-area {
1059 margin-top: 0;
1060 }
1061
1062 .bkbg-image-placeholder {
1063 display: flex;
1064 flex-direction: column;
1065 align-items: center;
1066 justify-content: center;
1067 gap: 10px;
1068 padding: 20px;
1069 background: #f0f0f0;
1070 border: 2px dashed #d2d7de;
1071 border-radius: 6px;
1072 cursor: pointer;
1073 transition: border-color 0.15s, background 0.15s;
1074 min-height: 80px;
1075 }
1076
1077 .bkbg-image-placeholder:hover {
1078 border-color: #e50087;
1079 background: #fdf2f8;
1080 }
1081
1082 .bkbg-image-plus {
1083 font-size: 28px;
1084 color: #949494;
1085 line-height: 1;
1086 font-weight: 300;
1087 }
1088
1089 .bkbg-image-choose.components-button {
1090 font-size: 12px;
1091 }
1092
1093 .bkbg-image-preview {
1094 position: relative;
1095 border-radius: 6px;
1096 overflow: hidden;
1097 border: 1px solid #d2d7de;
1098 }
1099
1100 .bkbg-image-preview img {
1101 display: block;
1102 width: 100%;
1103 height: auto;
1104 max-height: 140px;
1105 object-fit: cover;
1106 }
1107
1108 .bkbg-image-actions {
1109 display: flex;
1110 gap: 6px;
1111 padding: 8px;
1112 background: rgba(255, 255, 255, 0.9);
1113 justify-content: center;
1114 }
1115
1116 .bkbg-image-replace.components-button,
1117 .bkbg-image-remove.components-button {
1118 font-size: 11px;
1119 }
1120
1121 /* --- Range Slider Control --- */
1122
1123 .bkbg-range-control {
1124 margin-bottom: 14px;
1125 }
1126
1127 .bkbg-range-unit {
1128 font-size: 12px;
1129 font-weight: 500;
1130 color: #949494;
1131 margin-left: auto;
1132 }
1133
1134 .bkbg-range-inputs {
1135 display: flex;
1136 align-items: center;
1137 gap: 10px;
1138 }
1139
1140 .bkbg-range-slider {
1141 flex: 1;
1142 -webkit-appearance: none;
1143 appearance: none;
1144 height: 4px;
1145 background: #d2d7de;
1146 border-radius: 2px;
1147 outline: none;
1148 cursor: pointer;
1149 min-width: 0;
1150 }
1151
1152 .bkbg-range-slider::-webkit-slider-thumb {
1153 -webkit-appearance: none;
1154 appearance: none;
1155 width: 14px;
1156 height: 14px;
1157 border-radius: 50%;
1158 background: #e50087;
1159 cursor: pointer;
1160 border: 2px solid #fff;
1161 box-shadow: 0 1px 3px rgba(0,0,0,0.2);
1162 }
1163
1164 .bkbg-range-slider::-moz-range-thumb {
1165 width: 14px;
1166 height: 14px;
1167 border-radius: 50%;
1168 background: #e50087;
1169 cursor: pointer;
1170 border: 2px solid #fff;
1171 box-shadow: 0 1px 3px rgba(0,0,0,0.2);
1172 }
1173
1174 .bkbg-range-number {
1175 width: 56px;
1176 height: 32px;
1177 border: 1px solid #c8cdd4;
1178 border-radius: 6px;
1179 text-align: center;
1180 font-size: 13px;
1181 padding: 0 4px;
1182 background: #fff;
1183 color: #4f5b66;
1184 flex-shrink: 0;
1185 box-sizing: border-box;
1186 }
1187
1188 .bkbg-range-number:focus {
1189 border-color: var(--wp-admin-theme-color, #007cba);
1190 box-shadow: 0 0 0 1px var(--wp-admin-theme-color, #007cba);
1191 outline: none;
1192 }
1193
1194 /* --- Gradient Notice --- */
1195
1196 .bkbg-grad-notice {
1197 display: flex;
1198 align-items: flex-start;
1199 gap: 8px;
1200 padding: 10px 12px;
1201 background: #fff8e1;
1202 border-left: 3px solid #f59e0b;
1203 border-radius: 0 6px 6px 0;
1204 margin-bottom: 16px;
1205 font-size: 12px;
1206 line-height: 1.5;
1207 color: #78571c;
1208 }
1209
1210 .bkbg-grad-notice-icon {
1211 flex-shrink: 0;
1212 font-size: 14px;
1213 line-height: 1.3;
1214 }
1215
1216 /* --- Gradient Type Dropdown --- */
1217
1218 .bkbg-grad-type-row {
1219 display: flex;
1220 align-items: center;
1221 gap: 12px;
1222 margin-bottom: 14px;
1223 }
1224
1225 .bkbg-grad-type-select {
1226 flex: 1;
1227 min-width: 0;
1228 }
1229
1230 /* --- Transition Duration --- */
1231
1232 .bkbg-transition-control {
1233 margin-bottom: 4px;
1234 }
1235
1236 /* --- Dropdown Row Control --- */
1237
1238 .bkbg-dropdown-row {
1239 display: flex;
1240 align-items: center;
1241 gap: 12px;
1242 margin-bottom: 14px;
1243 }
1244
1245 .bkbg-dropdown-label-side {
1246 display: flex;
1247 align-items: center;
1248 gap: 6px;
1249 flex: 0 0 auto;
1250 white-space: nowrap;
1251 }
1252
1253 .bkbg-dropdown-select-side {
1254 flex: 1;
1255 min-width: 0;
1256 }
1257
1258 .bkbg-dropdown-select {
1259 width: 100%;
1260 height: 32px;
1261 border: 1px solid #c8cdd4;
1262 border-radius: 6px;
1263 font-size: 13px;
1264 padding: 0 8px;
1265 background: #fff;
1266 color: #4f5b66;
1267 cursor: pointer;
1268 box-sizing: border-box;
1269 -webkit-appearance: none;
1270 -moz-appearance: none;
1271 appearance: none;
1272 background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6" viewBox="0 0 10 6"><path d="M0 0l5 6 5-6z" fill="%23757575"/></svg>');
1273 background-repeat: no-repeat;
1274 background-position: right 10px center;
1275 background-size: 10px 6px;
1276 padding-right: 28px;
1277 }
1278
1279 .bkbg-dropdown-select:focus {
1280 border-color: var(--wp-admin-theme-color, #007cba);
1281 box-shadow: 0 0 0 1px var(--wp-admin-theme-color, #007cba);
1282 outline: none;
1283 }
1284
1285 /* --- Custom Position / Size Inputs --- */
1286
1287 .bkbg-custom-pos-row {
1288 display: flex;
1289 gap: 8px;
1290 margin-bottom: 14px;
1291 padding-left: 0;
1292 max-width: 100%;
1293 box-sizing: border-box;
1294 }
1295
1296 .bkbg-custom-pos-field {
1297 flex: 1;
1298 display: flex;
1299 align-items: center;
1300 gap: 4px;
1301 min-width: 0;
1302 overflow: hidden;
1303 }
1304
1305 .bkbg-custom-pos-lbl {
1306 font-size: 12px;
1307 font-weight: 500;
1308 color: #949494;
1309 flex-shrink: 0;
1310 }
1311
1312 .bkbg-custom-pos-input {
1313 flex: 1;
1314 min-width: 0;
1315 width: 50px;
1316 max-width: 100%;
1317 height: 32px;
1318 border: 1px solid #c8cdd4;
1319 border-radius: 6px;
1320 text-align: center;
1321 font-size: 13px;
1322 padding: 0 4px;
1323 background: #fff;
1324 color: #4f5b66;
1325 box-sizing: border-box;
1326 -moz-appearance: textfield;
1327 appearance: textfield;
1328 }
1329
1330 .bkbg-custom-pos-input::-webkit-inner-spin-button,
1331 .bkbg-custom-pos-input::-webkit-outer-spin-button {
1332 -webkit-appearance: none;
1333 appearance: none;
1334 margin: 0;
1335 }
1336
1337 .bkbg-custom-pos-input:focus {
1338 border-color: var(--wp-admin-theme-color, #007cba);
1339 box-shadow: 0 0 0 1px var(--wp-admin-theme-color, #007cba);
1340 outline: none;
1341 }
1342
1343 .bkbg-custom-pos-unit {
1344 font-size: 12px;
1345 color: #949494;
1346 flex-shrink: 0;
1347 }
1348
1349 /* --- Box Shadow Control --- */
1350
1351 .bkbg-shadow-control {
1352 margin-bottom: 0;
1353 }
1354
1355 .bkbg-shadow-header {
1356 display: flex;
1357 align-items: center;
1358 gap: 8px;
1359 margin-bottom: 0;
1360 }
1361
1362 .bkbg-shadow-actions {
1363 display: flex;
1364 align-items: center;
1365 gap: 2px;
1366 margin-left: auto;
1367 }
1368
1369 .bkbg-shadow-reset-btn.components-button,
1370 .bkbg-shadow-toggle-btn.components-button {
1371 width: 28px;
1372 height: 28px;
1373 min-width: 28px;
1374 padding: 0;
1375 display: flex;
1376 align-items: center;
1377 justify-content: center;
1378 border: none;
1379 background: transparent;
1380 color: #757575;
1381 border-radius: 4px;
1382 transition: all 0.15s;
1383 }
1384
1385 .bkbg-shadow-reset-btn.components-button:hover,
1386 .bkbg-shadow-toggle-btn.components-button:hover {
1387 color: #e50087;
1388 background: rgba(229, 0, 135, 0.06);
1389 }
1390
1391 .bkbg-shadow-toggle-btn.is-active.components-button {
1392 background: #1e1e1e;
1393 color: #fff;
1394 }
1395
1396 .bkbg-shadow-toggle-btn.is-active.components-button:hover {
1397 background: #333;
1398 color: #fff;
1399 }
1400
1401 .bkbg-shadow-body {
1402 margin-top: 12px;
1403 padding: 14px;
1404 background: #fafafa;
1405 border: 1px solid #e8eaed;
1406 border-radius: 8px;
1407 }
1408
1409 .bkbg-shadow-body .bkbg-color-row {
1410 margin-bottom: 12px;
1411 }
1412
1413 .bkbg-shadow-body .bkbg-range-control {
1414 margin-bottom: 10px;
1415 }
1416
1417 .bkbg-shadow-body .bkbg-dropdown-row {
1418 margin-bottom: 0;
1419 }
1420
1421 /* ========================================
1422 Responsive Panel
1423 ======================================== */
1424
1425 .bkbg-responsive-row {
1426 display: flex;
1427 align-items: center;
1428 justify-content: space-between;
1429 padding: 12px 0;
1430 border-bottom: 1px solid #eee;
1431 }
1432
1433 .bkbg-responsive-row:last-child {
1434 border-bottom: none;
1435 }
1436
1437 .bkbg-responsive-label {
1438 font-size: 13px;
1439 color: #1e1e1e;
1440 font-weight: 400;
1441 }
1442
1443 .bkbg-responsive-toggle {
1444 display: flex;
1445 align-items: center;
1446 gap: 8px;
1447 cursor: pointer;
1448 user-select: none;
1449 }
1450
1451 .bkbg-toggle-track {
1452 width: 36px;
1453 height: 20px;
1454 background: #ccc;
1455 border-radius: 10px;
1456 position: relative;
1457 transition: background 0.2s ease;
1458 }
1459
1460 .bkbg-responsive-toggle.is-active .bkbg-toggle-track {
1461 background: var(--wp-admin-theme-color, #007cba);
1462 }
1463
1464 .bkbg-toggle-thumb {
1465 width: 16px;
1466 height: 16px;
1467 background: #fff;
1468 border-radius: 50%;
1469 position: absolute;
1470 top: 2px;
1471 left: 2px;
1472 transition: transform 0.2s ease;
1473 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
1474 }
1475
1476 .bkbg-responsive-toggle.is-active .bkbg-toggle-thumb {
1477 transform: translateX(16px);
1478 }
1479
1480 .bkbg-toggle-label {
1481 font-size: 12px;
1482 color: #757575;
1483 min-width: 30px;
1484 }
1485
1486 /* ========================================
1487 Typography Control (Elementor-style)
1488 ======================================== */
1489
1490 /* Label row: "Title [✏]" */
1491 .bkbg-typo-control {
1492 margin-bottom: 4px;
1493 }
1494
1495 .bkbg-typo-label-row {
1496 display: flex;
1497 align-items: center;
1498 justify-content: space-between;
1499 padding: 6px 0;
1500 border-bottom: 1px solid #f0f0f0;
1501 min-height: 36px;
1502 }
1503
1504 .bkbg-typo-label {
1505 font-size: 13px;
1506 font-weight: 500;
1507 color: #4f5b66;
1508 flex: 1;
1509 }
1510
1511 .bkbg-typo-label.has-value {
1512 color: #1e1e1e;
1513 }
1514
1515 .bkbg-typo-edit-btn {
1516 display: flex !important;
1517 align-items: center !important;
1518 justify-content: center !important;
1519 width: 30px !important;
1520 height: 30px !important;
1521 min-width: 30px !important;
1522 padding: 0 !important;
1523 border: 1px solid #e0e0e0 !important;
1524 border-radius: 4px !important;
1525 background: #f8f9fa !important;
1526 color: #757575 !important;
1527 transition: all 0.15s ease !important;
1528 flex-shrink: 0;
1529 }
1530
1531 .bkbg-typo-edit-btn:hover,
1532 .bkbg-typo-edit-btn.has-value {
1533 border-color: #8668ff !important;
1534 color: #8668ff !important;
1535 background: #f4f0ff !important;
1536 }
1537
1538 /* Typography popover panel */
1539 .bkbg-typo-popover .components-popover__content {
1540 padding: 0 !important;
1541 min-width: 280px !important;
1542 max-width: 310px !important;
1543 box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18) !important;
1544 border-radius: 8px !important;
1545 overflow-x: hidden !important;
1546 overflow-y: scroll !important;
1547 border: 1px solid #e0e0e0 !important;
1548 }
1549
1550 /* macOS-style scrollbar — always visible, light grey */
1551 .bkbg-typo-popover .components-popover__content::-webkit-scrollbar {
1552 width: 6px;
1553 }
1554 .bkbg-typo-popover .components-popover__content::-webkit-scrollbar-track {
1555 background: transparent;
1556 border-radius: 0 8px 8px 0;
1557 }
1558 .bkbg-typo-popover .components-popover__content::-webkit-scrollbar-thumb {
1559 background: #d0d0d0;
1560 border-radius: 3px;
1561 transition: background 0.2s;
1562 }
1563 .bkbg-typo-popover .components-popover__content::-webkit-scrollbar-thumb:hover {
1564 background: #b8b8b8;
1565 }
1566 .bkbg-typo-popover .components-popover__content::-webkit-scrollbar-button {
1567 display: none;
1568 }
1569
1570 .bkbg-typo-panel {
1571 background: #fff;
1572 border-radius: 8px;
1573 overflow: hidden;
1574 }
1575
1576 /* Panel header */
1577 .bkbg-typo-panel-header {
1578 display: flex;
1579 align-items: center;
1580 justify-content: space-between;
1581 padding: 12px 14px 10px;
1582 background: #fafafa;
1583 border-bottom: 1px solid #ebebeb;
1584 }
1585
1586 .bkbg-typo-panel-title {
1587 font-size: 12px;
1588 font-weight: 700;
1589 text-transform: uppercase;
1590 letter-spacing: 0.6px;
1591 color: #4f5b66;
1592 }
1593
1594 .bkbg-typo-panel-actions {
1595 display: flex;
1596 align-items: center;
1597 gap: 4px;
1598 }
1599
1600 .bkbg-typo-header-btn {
1601 display: flex !important;
1602 align-items: center !important;
1603 justify-content: center !important;
1604 width: 24px !important;
1605 height: 24px !important;
1606 min-width: 24px !important;
1607 padding: 0 !important;
1608 border-radius: 4px !important;
1609 color: #757575 !important;
1610 background: transparent !important;
1611 border: none !important;
1612 }
1613
1614 .bkbg-typo-header-btn:hover {
1615 background: #f0f0f0 !important;
1616 color: #1e1e1e !important;
1617 }
1618
1619 /* Individual field row */
1620 .bkbg-typo-field {
1621 padding: 8px 14px;
1622 border-bottom: 1px solid #f5f5f5;
1623 }
1624
1625 .bkbg-typo-field:last-child {
1626 border-bottom: none;
1627 }
1628
1629 .bkbg-typo-field-label {
1630 display: block;
1631 font-size: 11px;
1632 font-weight: 600;
1633 text-transform: uppercase;
1634 letter-spacing: 0.4px;
1635 color: #888;
1636 margin-bottom: 6px;
1637 }
1638
1639 .bkbg-typo-field .components-select-control__input,
1640 .bkbg-typo-field .components-base-control,
1641 .bkbg-typo-field .components-input-control {
1642 margin-bottom: 0 !important;
1643 }
1644
1645 /* Responsive field (has device + unit selectors) */
1646 .bkbg-typo-responsive-field {
1647 padding-bottom: 12px;
1648 }
1649
1650 .bkbg-typo-field-header {
1651 display: flex;
1652 align-items: center;
1653 justify-content: space-between;
1654 margin-bottom: 8px;
1655 }
1656
1657 .bkbg-typo-field-header-right {
1658 display: flex;
1659 align-items: center;
1660 gap: 4px;
1661 }
1662
1663 /* Slider + number input row */
1664 .bkbg-typo-slider-row {
1665 display: flex;
1666 align-items: center;
1667 gap: 8px;
1668 }
1669
1670 .bkbg-typo-range {
1671 flex: 1;
1672 -webkit-appearance: none;
1673 appearance: none;
1674 height: 4px;
1675 background: #e0e0e0;
1676 border-radius: 2px;
1677 outline: none;
1678 cursor: pointer;
1679 }
1680
1681 .bkbg-typo-range::-webkit-slider-thumb {
1682 -webkit-appearance: none;
1683 appearance: none;
1684 width: 14px;
1685 height: 14px;
1686 border-radius: 50%;
1687 background: #8668ff;
1688 cursor: pointer;
1689 box-shadow: 0 1px 4px rgba(134, 104, 255, 0.4);
1690 }
1691
1692 .bkbg-typo-range::-moz-range-thumb {
1693 width: 14px;
1694 height: 14px;
1695 border-radius: 50%;
1696 background: #8668ff;
1697 cursor: pointer;
1698 border: none;
1699 }
1700
1701 .bkbg-typo-number {
1702 width: 52px !important;
1703 min-width: 52px !important;
1704 padding: 4px 6px !important;
1705 border: 1px solid #e0e0e0 !important;
1706 border-radius: 4px !important;
1707 font-size: 12px !important;
1708 text-align: center !important;
1709 color: #1e1e1e !important;
1710 background: #fff !important;
1711 transition: border-color 0.15s ease !important;
1712 }
1713
1714 .bkbg-typo-number:focus {
1715 border-color: #8668ff !important;
1716 outline: none !important;
1717 box-shadow: 0 0 0 1px rgba(134, 104, 255, 0.25) !important;
1718 }
1719
1720 /* Scope unit/device popovers inside typo popover */
1721 .bkbg-typo-popover .bkbg-unit-btn {
1722 font-size: 11px !important;
1723 }
1724
1725 /* Custom HTML is used as full-width page sections. Theme content-size otherwise boxes and centers it.
1726 Do not use 100vw here: it includes the scrollbar and padding, so sections overflow the canvas. */
1727 .editor-styles-wrapper .block-editor-block-list__block[data-type="core/html"] {
1728 max-width: none !important;
1729 width: 100%;
1730 box-sizing: border-box;
1731 overflow-x: clip;
1732 }
1733
1734 .editor-styles-wrapper .block-editor-block-list__layout.is-root-container > .block-editor-block-list__block[data-type="core/html"] {
1735 margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px)) !important;
1736 margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px)) !important;
1737 width: auto !important;
1738 max-width: none !important;
1739 }
1740
1741 .editor-styles-wrapper .block-editor-block-list__block[data-type="core/html"] > :where(section, div, header, footer, article, main, aside),
1742 .editor-styles-wrapper .block-editor-block-list__block[data-type="core/html"] .block-editor-inner-content > :where(section, div, header, footer, article, main, aside) {
1743 box-sizing: border-box !important;
1744 width: 100% !important;
1745 max-width: 100% !important;
1746 margin-left: 0 !important;
1747 margin-right: 0 !important;
1748 left: auto !important;
1749 transform: none !important;
1750 }
1751
1752 .editor-styles-wrapper.bkbg-ai-html-picking [data-type="core/html"] {
1753 cursor: crosshair;
1754 }
1755
1756 .editor-styles-wrapper [data-bkbg-html-target] {
1757 outline: 2px solid #8668ff;
1758 outline-offset: 3px;
1759 position: relative;
1760 }
1761
1762 .editor-styles-wrapper .block-editor-block-list__block[data-type="core/html"] img,
1763 .editor-styles-wrapper .block-editor-block-list__block[data-type="core/html"] video,
1764 .editor-styles-wrapper .block-editor-block-list__block[data-type="core/html"] iframe {
1765 max-width: 100%;
1766 height: auto;
1767 }
1768
1769