PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.7
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.7
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 / blocks / accordion / style.css

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.7, at blocks/accordion/style.css

422 lines 13.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ========================================
2 Accordion Block Styles
3 Prefix: bkbg-ac-
4 ======================================== */
5
6 /* CSS Custom Properties */
7 .bkbg-ac-wrap {
8 --bkbg-ac-gap: 12px;
9 --bkbg-ac-radius: 8px;
10 --bkbg-ac-brd-w: 1px;
11 --bkbg-ac-brd-style: solid;
12 --bkbg-ac-header-padding: 16px 20px;
13 --bkbg-ac-content-padding: 16px 20px 20px;
14 --bkbg-ac-header-bg: #f8fafc;
15 --bkbg-ac-header-bg-hover: #f1f5f9;
16 --bkbg-ac-header-bg-active: #e2e8f0;
17 --bkbg-ac-header-color: #1e293b;
18 --bkbg-ac-header-color-hover: #0f172a;
19 --bkbg-ac-header-color-active: #0f172a;
20 --bkbg-ac-content-bg: #ffffff;
21 --bkbg-ac-content-color: #475569;
22 --bkbg-ac-border-color: #e2e8f0;
23 --bkbg-ac-border-color-active: #cbd5e1;
24 --bkbg-ac-icon-color: #64748b;
25 --bkbg-ac-icon-color-active: #3b82f6;
26 --bkbg-ac-accent: #3b82f6;
27 --bkbg-ac-header-font-size: 16px;
28 --bkbg-ac-header-font-weight: 600;
29 --bkbg-ac-header-line-height: 1.4;
30 --bkbg-ac-header-font-family: inherit;
31 --bkbg-ac-header-text-transform: none;
32 --bkbg-ac-header-font-style: normal;
33 --bkbg-ac-header-text-decoration: none;
34 --bkbg-ac-header-letter-spacing: normal;
35 --bkbg-ac-header-word-spacing: normal;
36 --bkbg-ac-content-font-size: 15px;
37 --bkbg-ac-content-font-weight: 400;
38 --bkbg-ac-content-line-height: 1.7;
39 --bkbg-ac-content-font-family: inherit;
40 --bkbg-ac-content-text-transform: none;
41 --bkbg-ac-content-font-style: normal;
42 --bkbg-ac-content-text-decoration: none;
43 --bkbg-ac-content-letter-spacing: normal;
44 --bkbg-ac-content-word-spacing: normal;
45 --bkbg-ac-icon-size: 20px;
46 --bkbg-ac-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.06);
47 --bkbg-ac-animation-duration: 300ms;
48 --bkbg-ac-divider-color: #e2e8f0;
49 --bkbg-ac-divider-width: 1px;
50 display: flex;
51 flex-direction: column;
52 gap: var(--bkbg-ac-gap);
53 }
54
55 /* Item container */
56 .bkbg-ac-item {
57 border: var(--bkbg-ac-brd-w) var(--bkbg-ac-brd-style) var(--bkbg-ac-border-color);
58 border-radius: var(--bkbg-ac-radius);
59 overflow: hidden;
60 background: var(--bkbg-ac-content-bg);
61 box-shadow: var(--bkbg-ac-shadow);
62 transition: border-color var(--bkbg-ac-animation-duration) ease,
63 box-shadow var(--bkbg-ac-animation-duration) ease;
64 }
65
66 .bkbg-ac-item.is-active {
67 border-color: var(--bkbg-ac-border-color-active);
68 }
69
70 /* Style: Separated (default) - uses base styling above */
71
72 /* Style: Connected - items share borders */
73 .bkbg-ac-wrap[data-style="connected"] {
74 gap: 0;
75 }
76
77 .bkbg-ac-wrap[data-style="connected"] .bkbg-ac-item {
78 border-radius: 0;
79 margin-top: calc(var(--bkbg-ac-brd-w) * -1);
80 box-shadow: none;
81 }
82
83 .bkbg-ac-wrap[data-style="connected"] .bkbg-ac-item:first-child {
84 border-top-left-radius: var(--bkbg-ac-radius);
85 border-top-right-radius: var(--bkbg-ac-radius);
86 margin-top: 0;
87 }
88
89 .bkbg-ac-wrap[data-style="connected"] .bkbg-ac-item:last-child {
90 border-bottom-left-radius: var(--bkbg-ac-radius);
91 border-bottom-right-radius: var(--bkbg-ac-radius);
92 }
93
94 /* Style: Minimal - no borders, subtle background */
95 .bkbg-ac-wrap[data-style="minimal"] .bkbg-ac-item {
96 border: none;
97 box-shadow: none;
98 background: transparent;
99 }
100
101 .bkbg-ac-wrap[data-style="minimal"] .bkbg-ac-header {
102 background: transparent;
103 border-radius: var(--bkbg-ac-radius);
104 }
105
106 .bkbg-ac-wrap[data-style="minimal"] .bkbg-ac-header:hover {
107 background: var(--bkbg-ac-header-bg);
108 }
109
110 /* Style: Boxed - prominent borders and background */
111 .bkbg-ac-wrap[data-style="boxed"] .bkbg-ac-item {
112 border-width: 2px;
113 }
114
115 .bkbg-ac-wrap[data-style="boxed"] .bkbg-ac-header {
116 background: var(--bkbg-ac-header-bg);
117 }
118
119 /* Header button */
120 .bkbg-ac-header {
121 display: flex;
122 align-items: center;
123 justify-content: space-between;
124 gap: 16px;
125 padding: var(--bkbg-ac-header-padding);
126 background: var(--bkbg-ac-header-bg);
127 color: var(--bkbg-ac-header-color);
128 font-family: var(--bkbg-ac-header-font-family);
129 font-size: var(--bkbg-ac-header-font-size-d, var(--bkbg-ac-header-font-size));
130 font-weight: var(--bkbg-ac-header-font-weight);
131 line-height: var(--bkbg-ac-header-line-height-d, var(--bkbg-ac-header-line-height));
132 text-transform: var(--bkbg-ac-header-text-transform);
133 font-style: var(--bkbg-ac-header-font-style);
134 text-decoration: var(--bkbg-ac-header-text-decoration);
135 letter-spacing: var(--bkbg-ac-header-letter-spacing-d, var(--bkbg-ac-header-letter-spacing));
136 word-spacing: var(--bkbg-ac-header-word-spacing-d, var(--bkbg-ac-header-word-spacing));
137 cursor: pointer;
138 border: none;
139 width: 100%;
140 text-align: left;
141 transition: background var(--bkbg-ac-animation-duration) ease,
142 color var(--bkbg-ac-animation-duration) ease;
143 }
144
145 .bkbg-ac-header:hover {
146 background: var(--bkbg-ac-header-bg-hover);
147 color: var(--bkbg-ac-header-color-hover);
148 }
149
150 .bkbg-ac-header:focus {
151 outline: 2px solid var(--bkbg-ac-accent);
152 outline-offset: -2px;
153 }
154
155 .bkbg-ac-header:focus:not(:focus-visible) {
156 outline: none;
157 }
158
159 .bkbg-ac-header:focus-visible {
160 outline: 2px solid var(--bkbg-ac-accent);
161 outline-offset: -2px;
162 }
163
164 .bkbg-ac-header[aria-expanded="true"] {
165 background: var(--bkbg-ac-header-bg-active);
166 color: var(--bkbg-ac-header-color-active);
167 }
168
169 /* Divider between header and content when open */
170 .bkbg-ac-wrap[data-divider="1"] .bkbg-ac-header[aria-expanded="true"] {
171 border-bottom: var(--bkbg-ac-divider-width) solid var(--bkbg-ac-divider-color);
172 }
173
174 /* Title */
175 .bkbg-ac-title {
176 flex: 1;
177 margin: 0;
178 font-size: inherit;
179 font-weight: inherit;
180 line-height: inherit;
181 }
182
183 /* Icon container */
184 .bkbg-ac-icon {
185 display: flex;
186 align-items: center;
187 justify-content: center;
188 width: var(--bkbg-ac-icon-size);
189 height: var(--bkbg-ac-icon-size);
190 color: var(--bkbg-ac-icon-color);
191 transition: transform var(--bkbg-ac-animation-duration) ease,
192 color var(--bkbg-ac-animation-duration) ease;
193 flex-shrink: 0;
194 }
195
196 .bkbg-ac-icon svg {
197 width: 100%;
198 height: 100%;
199 fill: currentColor;
200 }
201
202 .bkbg-ac-header[aria-expanded="true"] .bkbg-ac-icon {
203 color: var(--bkbg-ac-icon-color-active);
204 }
205
206 /* Icon rotation based on type */
207 .bkbg-ac-wrap[data-icon="chevron"] .bkbg-ac-header[aria-expanded="true"] .bkbg-ac-icon {
208 transform: rotate(180deg);
209 }
210
211 .bkbg-ac-wrap[data-icon="plus"] .bkbg-ac-header[aria-expanded="true"] .bkbg-ac-icon {
212 transform: rotate(45deg);
213 }
214
215 .bkbg-ac-wrap[data-icon="arrow"] .bkbg-ac-header[aria-expanded="true"] .bkbg-ac-icon {
216 transform: rotate(90deg);
217 }
218
219 .bkbg-ac-wrap[data-icon="caret"] .bkbg-ac-header[aria-expanded="true"] .bkbg-ac-icon {
220 transform: rotate(180deg);
221 }
222
223 /* Icon position left */
224 .bkbg-ac-wrap[data-icon-pos="left"] .bkbg-ac-header {
225 flex-direction: row-reverse;
226 }
227
228 /* Content panel with animation */
229 .bkbg-ac-content {
230 display: grid;
231 grid-template-rows: 0fr;
232 transition: grid-template-rows var(--bkbg-ac-animation-duration) ease;
233 }
234
235 .bkbg-ac-content[aria-hidden="false"] {
236 grid-template-rows: 1fr;
237 }
238
239 /* Animation disabled */
240 .bkbg-ac-wrap[data-animation="0"] .bkbg-ac-content {
241 transition: none;
242 }
243
244 .bkbg-ac-inner {
245 overflow: hidden;
246 }
247
248 .bkbg-ac-body {
249 padding: var(--bkbg-ac-content-padding);
250 color: var(--bkbg-ac-content-color);
251 background: var(--bkbg-ac-content-bg);
252 font-family: var(--bkbg-ac-content-font-family);
253 font-size: var(--bkbg-ac-content-font-size-d, var(--bkbg-ac-content-font-size));
254 font-weight: var(--bkbg-ac-content-font-weight);
255 line-height: var(--bkbg-ac-content-line-height-d, var(--bkbg-ac-content-line-height));
256 text-transform: var(--bkbg-ac-content-text-transform);
257 font-style: var(--bkbg-ac-content-font-style);
258 text-decoration: var(--bkbg-ac-content-text-decoration);
259 letter-spacing: var(--bkbg-ac-content-letter-spacing-d, var(--bkbg-ac-content-letter-spacing));
260 word-spacing: var(--bkbg-ac-content-word-spacing-d, var(--bkbg-ac-content-word-spacing));
261 }
262
263 /* Higher specificity for letter/word-spacing to win over WP editor button resets */
264 .bkbg-ac-wrap .bkbg-ac-header {
265 letter-spacing: var(--bkbg-ac-header-letter-spacing-d, var(--bkbg-ac-header-letter-spacing));
266 word-spacing: var(--bkbg-ac-header-word-spacing-d, var(--bkbg-ac-header-word-spacing));
267 }
268 .bkbg-ac-wrap .bkbg-ac-body {
269 letter-spacing: var(--bkbg-ac-content-letter-spacing-d, var(--bkbg-ac-content-letter-spacing));
270 word-spacing: var(--bkbg-ac-content-word-spacing-d, var(--bkbg-ac-content-word-spacing));
271 }
272
273 /* ========================================
274 Responsive Typography
275 ======================================== */
276
277 @media (max-width: 1024px) {
278 .bkbg-ac-wrap .bkbg-ac-header {
279 font-size: var(--bkbg-ac-header-font-size-t, var(--bkbg-ac-header-font-size-d, var(--bkbg-ac-header-font-size)));
280 line-height: var(--bkbg-ac-header-line-height-t, var(--bkbg-ac-header-line-height-d, var(--bkbg-ac-header-line-height)));
281 letter-spacing: var(--bkbg-ac-header-letter-spacing-t, var(--bkbg-ac-header-letter-spacing-d, var(--bkbg-ac-header-letter-spacing)));
282 word-spacing: var(--bkbg-ac-header-word-spacing-t, var(--bkbg-ac-header-word-spacing-d, var(--bkbg-ac-header-word-spacing)));
283 }
284 .bkbg-ac-wrap .bkbg-ac-body {
285 font-size: var(--bkbg-ac-content-font-size-t, var(--bkbg-ac-content-font-size-d, var(--bkbg-ac-content-font-size)));
286 line-height: var(--bkbg-ac-content-line-height-t, var(--bkbg-ac-content-line-height-d, var(--bkbg-ac-content-line-height)));
287 letter-spacing: var(--bkbg-ac-content-letter-spacing-t, var(--bkbg-ac-content-letter-spacing-d, var(--bkbg-ac-content-letter-spacing)));
288 word-spacing: var(--bkbg-ac-content-word-spacing-t, var(--bkbg-ac-content-word-spacing-d, var(--bkbg-ac-content-word-spacing)));
289 }
290 }
291
292 @media (max-width: 767px) {
293 .bkbg-ac-wrap .bkbg-ac-header {
294 font-size: var(--bkbg-ac-header-font-size-m, var(--bkbg-ac-header-font-size-t, var(--bkbg-ac-header-font-size-d, var(--bkbg-ac-header-font-size))));
295 line-height: var(--bkbg-ac-header-line-height-m, var(--bkbg-ac-header-line-height-t, var(--bkbg-ac-header-line-height-d, var(--bkbg-ac-header-line-height))));
296 letter-spacing: var(--bkbg-ac-header-letter-spacing-m, var(--bkbg-ac-header-letter-spacing-t, var(--bkbg-ac-header-letter-spacing-d, var(--bkbg-ac-header-letter-spacing))));
297 word-spacing: var(--bkbg-ac-header-word-spacing-m, var(--bkbg-ac-header-word-spacing-t, var(--bkbg-ac-header-word-spacing-d, var(--bkbg-ac-header-word-spacing))));
298 }
299 .bkbg-ac-wrap .bkbg-ac-body {
300 font-size: var(--bkbg-ac-content-font-size-m, var(--bkbg-ac-content-font-size-t, var(--bkbg-ac-content-font-size-d, var(--bkbg-ac-content-font-size))));
301 line-height: var(--bkbg-ac-content-line-height-m, var(--bkbg-ac-content-line-height-t, var(--bkbg-ac-content-line-height-d, var(--bkbg-ac-content-line-height))));
302 letter-spacing: var(--bkbg-ac-content-letter-spacing-m, var(--bkbg-ac-content-letter-spacing-t, var(--bkbg-ac-content-letter-spacing-d, var(--bkbg-ac-content-letter-spacing))));
303 word-spacing: var(--bkbg-ac-content-word-spacing-m, var(--bkbg-ac-content-word-spacing-t, var(--bkbg-ac-content-word-spacing-d, var(--bkbg-ac-content-word-spacing))));
304 }
305 }
306
307 .bkbg-ac-body p:first-child {
308 margin-top: 0;
309 }
310
311 .bkbg-ac-body p:last-child {
312 margin-bottom: 0;
313 }
314
315 /* ========================================
316 Editor Styles
317 ======================================== */
318
319 /* Make editor items look exactly like frontend */
320 .bkbg-ac-wrap .bkbg-ac-item {
321 position: relative;
322 }
323
324 /* Editor: selected item highlight */
325 .bkbg-ac-item.is-selected {
326 outline: 2px solid var(--bkbg-ac-accent);
327 outline-offset: 2px;
328 }
329
330 /* Editor: item actions toolbar */
331 .bkbg-ac-item-actions {
332 position: absolute;
333 top: 8px;
334 right: 8px;
335 display: none;
336 gap: 4px;
337 z-index: 10;
338 background: #fff;
339 padding: 4px;
340 border-radius: 4px;
341 box-shadow: 0 2px 8px rgba(0,0,0,0.15);
342 }
343
344 .bkbg-ac-item:hover .bkbg-ac-item-actions,
345 .bkbg-ac-item.is-selected .bkbg-ac-item-actions {
346 display: flex;
347 }
348
349 /* Editor: inline editable title */
350 .bkbg-ac-header .bkbg-ac-title-input {
351 flex: 1;
352 background: transparent;
353 border: none;
354 color: inherit;
355 font: inherit;
356 text-transform: inherit;
357 font-style: inherit;
358 text-decoration: inherit;
359 letter-spacing: inherit;
360 word-spacing: inherit;
361 padding: 0;
362 margin: 0;
363 outline: none;
364 cursor: text;
365 }
366
367 .bkbg-ac-header .bkbg-ac-title-input:focus {
368 background: rgba(255,255,255,0.5);
369 border-radius: 4px;
370 padding: 2px 6px;
371 margin: -2px -6px;
372 }
373
374 /* Editor: inline editable content */
375 .bkbg-ac-body-editor {
376 min-height: 60px;
377 }
378
379 .bkbg-ac-body-editor:focus {
380 outline: none;
381 }
382
383 /* Editor: Add button */
384 .bkbg-ac-add-item {
385 display: flex;
386 align-items: center;
387 justify-content: center;
388 gap: 8px;
389 padding: 12px 20px;
390 margin-top: 8px;
391 border: 2px dashed var(--bkbg-ac-border-color);
392 border-radius: var(--bkbg-ac-radius);
393 background: transparent;
394 color: var(--bkbg-ac-header-color);
395 font-size: 14px;
396 font-weight: 500;
397 cursor: pointer;
398 transition: all 0.2s ease;
399 }
400
401 .bkbg-ac-add-item:hover {
402 border-color: var(--bkbg-ac-accent);
403 color: var(--bkbg-ac-accent);
404 background: rgba(59, 130, 246, 0.05);
405 }
406
407 .bkbg-ac-add-item svg {
408 width: 20px;
409 height: 20px;
410 }
411
412 /* Hover effects disabled */
413 .bkbg-ac-wrap[data-hover="0"] .bkbg-ac-header:hover {
414 background: var(--bkbg-ac-header-bg);
415 color: var(--bkbg-ac-header-color);
416 }
417
418 /* Shadow disabled */
419 .bkbg-ac-wrap[data-shadow="0"] .bkbg-ac-item {
420 box-shadow: none;
421 }
422