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 / layout.css

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

257 lines 7.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ========================================
2 Blockenberg Layout System
3 Shared CSS Variables and Utilities
4 ======================================== */
5
6 :root {
7 /* ========================================
8 Spacing Scale (Token System)
9 ======================================== */
10 --bkbg-space-none: 0;
11 --bkbg-space-xs: 8px;
12 --bkbg-space-s: 16px;
13 --bkbg-space-m: 24px;
14 --bkbg-space-l: 32px;
15 --bkbg-space-xl: 48px;
16 --bkbg-space-2xl: 64px;
17
18 /* ========================================
19 Breakpoints
20 ======================================== */
21 --bkbg-breakpoint-mobile: 767px;
22 --bkbg-breakpoint-tablet: 1024px;
23 --bkbg-breakpoint-desktop: 1025px;
24
25 /* ========================================
26 Layout Max Widths
27 ======================================== */
28 --bkbg-max-width-narrow: 720px;
29 --bkbg-max-width-default: 1024px;
30 --bkbg-max-width-wide: 1200px;
31 --bkbg-max-width-full: 1440px;
32
33 /* ========================================
34 Colors - Backgrounds
35 ======================================== */
36 --bkbg-bg-transparent: transparent;
37 --bkbg-bg-light: #f8fafc;
38 --bkbg-bg-dark: #1e293b;
39 --bkbg-bg-accent: #3b82f6;
40 --bkbg-bg-muted: #f1f5f9;
41
42 /* ========================================
43 Colors - Text
44 ======================================== */
45 --bkbg-text-primary: #0f172a;
46 --bkbg-text-secondary: #475569;
47 --bkbg-text-muted: #64748b;
48 --bkbg-text-light: #ffffff;
49
50 /* ========================================
51 Colors - UI
52 ======================================== */
53 --bkbg-ui-primary: #3b82f6;
54 --bkbg-ui-primary-hover: #2563eb;
55 --bkbg-ui-border: #e2e8f0;
56 --bkbg-ui-border-hover: #cbd5e1;
57
58 /* ========================================
59 Animation
60 ======================================== */
61 --bkbg-transition-fast: 0.15s ease;
62 --bkbg-transition-normal: 0.25s ease;
63 --bkbg-transition-slow: 0.35s ease;
64
65 /* ========================================
66 Shadows
67 ======================================== */
68 --bkbg-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
69 --bkbg-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
70 --bkbg-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
71
72 /* ========================================
73 Border Radius
74 ======================================== */
75 --bkbg-radius-sm: 2px;
76 --bkbg-radius-md: 4px;
77 --bkbg-radius-lg: 8px;
78 --bkbg-radius-xl: 12px;
79 }
80
81 /* ========================================
82 Layout Container Reset
83 ======================================== */
84
85 .bkbg-section,
86 .bkbg-row,
87 .bkbg-column {
88 box-sizing: border-box;
89 }
90
91 .bkbg-section *,
92 .bkbg-row *,
93 .bkbg-column * {
94 box-sizing: border-box;
95 }
96
97 /* ========================================
98 Gap Calculation Helper for Flex Layout
99 When using gap with percentage widths,
100 we need to account for the gap in width calc
101 ======================================== */
102
103 /* Gap values for calculation */
104 .bkbg-row--gap-none {
105 --bkbg-current-gap: 0px;
106 }
107
108 .bkbg-row--gap-xs {
109 --bkbg-current-gap: var(--bkbg-space-xs);
110 }
111
112 .bkbg-row--gap-s {
113 --bkbg-current-gap: var(--bkbg-space-s);
114 }
115
116 .bkbg-row--gap-m {
117 --bkbg-current-gap: var(--bkbg-space-m);
118 }
119
120 .bkbg-row--gap-l {
121 --bkbg-current-gap: var(--bkbg-space-l);
122 }
123
124 .bkbg-row--gap-xl {
125 --bkbg-current-gap: var(--bkbg-space-xl);
126 }
127
128 /* Percentage columns describe a share of the available row width. Flex shrink
129 apportions the gap before laying them out; disabling shrink made 50% + 50%
130 plus a non-zero gap wider than the row. Keep this limited to direct columns
131 so nested layouts and mobile's column direction remain independent. */
132 .bkbg-row > .bkbg-row__inner > .bkbg-column,
133 .editor-styles-wrapper .bkbg-row > .bkbg-row__inner > .block-editor-inner-blocks > .block-editor-block-list__layout > .bkbg-column {
134 flex-shrink: 1 !important;
135 min-width: 0;
136 }
137
138 /* Gutenberg adds two wrappers around the columns, so the gap must reach the
139 actual flex container instead of spacing the single wrapper in row__inner. */
140 .editor-styles-wrapper .bkbg-row > .bkbg-row__inner > .block-editor-inner-blocks > .block-editor-block-list__layout {
141 gap: var(--bkbg-current-gap, 0px);
142 }
143
144 /* New AI sections use the native Section/Row/Column markup. Their outer
145 section owns vertical rhythm; Section's existing 20px/16px inner gutters
146 remain the single source of horizontal page padding. Inline user settings
147 still win, so subsequent manual edits work normally. */
148 .bkbg-section.bkbg-ai-section,
149 .editor-styles-wrapper .bkbg-section.bkbg-ai-section {
150 margin-top: 0;
151 margin-bottom: 0;
152 }
153 .bkbg-section.bkbg-ai-section.bkbg-ai-spacing-comfortable {
154 padding-top: 80px;
155 padding-bottom: 80px;
156 }
157 .bkbg-section.bkbg-ai-section.bkbg-ai-spacing-compact {
158 padding-top: 48px;
159 padding-bottom: 48px;
160 }
161 .bkbg-section.bkbg-ai-section.bkbg-ai-spacing-spacious {
162 padding-top: 112px;
163 padding-bottom: 112px;
164 }
165 @media (max-width: 1024px) {
166 .bkbg-section.bkbg-ai-section.bkbg-ai-spacing-comfortable { padding-top: 56px; padding-bottom: 56px; }
167 .bkbg-section.bkbg-ai-section.bkbg-ai-spacing-compact { padding-top: 40px; padding-bottom: 40px; }
168 .bkbg-section.bkbg-ai-section.bkbg-ai-spacing-spacious { padding-top: 80px; padding-bottom: 80px; }
169 }
170 @media (max-width: 767px) {
171 .bkbg-section.bkbg-ai-section.bkbg-ai-spacing-comfortable { padding-top: 40px; padding-bottom: 40px; }
172 .bkbg-section.bkbg-ai-section.bkbg-ai-spacing-compact { padding-top: 32px; padding-bottom: 32px; }
173 .bkbg-section.bkbg-ai-section.bkbg-ai-spacing-spacious { padding-top: 56px; padding-bottom: 56px; }
174 }
175
176 /* ========================================
177 Accessibility
178 ======================================== */
179
180 /* Reduced motion support */
181 @media (prefers-reduced-motion: reduce) {
182 .bkbg-section,
183 .bkbg-row,
184 .bkbg-column,
185 .bkbg-section *,
186 .bkbg-row *,
187 .bkbg-column * {
188 transition: none !important;
189 animation: none !important;
190 }
191 }
192
193 /* Focus visible styles */
194 .bkbg-section:focus-visible,
195 .bkbg-row:focus-visible,
196 .bkbg-column:focus-visible {
197 outline: 2px solid var(--bkbg-ui-primary);
198 outline-offset: 2px;
199 }
200
201 /* ========================================
202 Print Styles
203 ======================================== */
204
205 @media print {
206 .bkbg-section {
207 break-inside: avoid;
208 page-break-inside: avoid;
209 }
210
211 .bkbg-row {
212 break-inside: avoid;
213 page-break-inside: avoid;
214 }
215
216 .bkbg-column {
217 break-inside: avoid;
218 }
219
220 /* Force single column on print */
221 .bkbg-row__inner {
222 flex-direction: column !important;
223 }
224
225 .bkbg-column {
226 flex-basis: 100% !important;
227 max-width: 100% !important;
228 width: 100% !important;
229 }
230 }
231
232 /* ========================================
233 Dark Mode Support (Optional)
234 ======================================== */
235
236 @media (prefers-color-scheme: dark) {
237 .bkbg-section--bg-light {
238 --bkbg-section-bg-light: #1e293b;
239 }
240
241 .bkbg-section--bg-dark {
242 --bkbg-section-bg-dark: #0f172a;
243 }
244 }
245
246 /* ========================================
247 High Contrast Mode Support
248 ======================================== */
249
250 @media (forced-colors: active) {
251 .bkbg-section,
252 .bkbg-row,
253 .bkbg-column {
254 border: 1px solid CanvasText;
255 }
256 }
257