PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.11
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.11
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 / team-members / style.css

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.11, at blocks/team-members/style.css

480 lines 12.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Team Members Block Styles
3 * Blockenberg
4 */
5
6 .bkbg-tm-wrap {
7 --bkbg-tm-columns: 3;
8 --bkbg-tm-gap: 24px;
9
10 --bkbg-tm-card-bg: #ffffff;
11 --bkbg-tm-card-border-color: #e5e7eb;
12 --bkbg-tm-card-border-width: 1px;
13 --bkbg-tm-card-radius: 16px;
14 --bkbg-tm-card-padding: 24px;
15
16 --bkbg-tm-name-color: #111827;
17 --bkbg-tm-role-color: #3b82f6;
18 --bkbg-tm-bio-color: #6b7280;
19
20 --bkbg-tm-name-size: 18px;
21 --bkbg-tm-role-size: 14px;
22 --bkbg-tm-bio-size: 14px;
23
24 --bkbg-tm-name-weight: 700;
25 --bkbg-tm-role-weight: 600;
26
27 --bkbg-tm-photo-size: 96px;
28 --bkbg-tm-photo-radius: 999px;
29
30 --bkbg-tm-social-color: #6b7280;
31 --bkbg-tm-social-hover: #111827;
32 --bkbg-tm-social-size: 18px;
33
34 --bkbg-tm-hover-lift: 6px;
35
36 width: 100%;
37 }
38
39 /* Some themes add borders/outlines to block wrappers; keep Team Members clean by default. */
40 .wp-block-blockenberg-team-members,
41 .wp-block-blockenberg-team-members .bkbg-tm-wrap {
42 border: 0;
43 outline: 0;
44 }
45
46 .bkbg-tm-grid {
47 display: grid;
48 grid-template-columns: repeat(var(--bkbg-tm-columns), minmax(0, 1fr));
49 gap: var(--bkbg-tm-gap);
50 }
51
52 .bkbg-tm-carousel {
53 width: 100%;
54 --bkbg-tm-carousel-visible: var(--bkbg-tm-columns);
55 }
56
57 @media (max-width: 900px) {
58 .bkbg-tm-carousel {
59 --bkbg-tm-carousel-visible: 2;
60 }
61 }
62
63 @media (max-width: 560px) {
64 .bkbg-tm-carousel {
65 --bkbg-tm-carousel-visible: 1;
66 }
67 }
68
69 .bkbg-tm-nav {
70 display: flex;
71 justify-content: flex-end;
72 gap: 8px;
73 margin-bottom: 10px;
74 }
75
76 .bkbg-tm-nav-btn {
77 width: 36px;
78 height: 36px;
79 border-radius: 10px;
80 border: 1px solid rgba(0, 0, 0, 0.12);
81 background: #fff;
82 cursor: pointer;
83 display: inline-flex;
84 align-items: center;
85 justify-content: center;
86 }
87
88 .bkbg-tm-nav-btn:hover {
89 background: rgba(0, 0, 0, 0.03);
90 }
91
92 .bkbg-tm-track {
93 display: flex;
94 gap: var(--bkbg-tm-gap);
95 overflow-x: auto;
96 overflow-y: visible;
97 padding-bottom: 8px;
98 scroll-snap-type: x mandatory;
99 -webkit-overflow-scrolling: touch;
100 -ms-overflow-style: none;
101 scrollbar-width: none;
102 }
103
104 .bkbg-tm-track::-webkit-scrollbar {
105 width: 0;
106 height: 0;
107 }
108
109 .bkbg-tm-carousel.bkbg-tm-carousel-peek .bkbg-tm-track {
110 padding-right: var(--bkbg-tm-carousel-peek);
111 }
112
113 .bkbg-tm-slide {
114 scroll-snap-align: start;
115 flex: 0 0 calc((100% - (var(--bkbg-tm-gap) * (var(--bkbg-tm-carousel-visible) - 1))) / var(--bkbg-tm-carousel-visible));
116 min-width: 240px;
117 }
118
119 @media (max-width: 900px) {
120 .bkbg-tm-grid {
121 grid-template-columns: repeat(2, minmax(0, 1fr));
122 }
123 }
124
125 @media (max-width: 560px) {
126 .bkbg-tm-grid {
127 grid-template-columns: repeat(1, minmax(0, 1fr));
128 }
129 }
130
131 .bkbg-tm-card {
132 background: var(--bkbg-tm-card-bg);
133 border: var(--bkbg-tm-card-border-width) solid var(--bkbg-tm-card-border-color);
134 border-radius: var(--bkbg-tm-card-radius);
135 padding: var(--bkbg-tm-card-padding);
136 text-align: var(--bkbg-tm-text-align, center);
137 display: flex;
138 flex-direction: column;
139 gap: 12px;
140 position: relative;
141 }
142
143 .bkbg-tm-card.has-shadow {
144 box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
145 }
146
147 .bkbg-tm-hover-lift .bkbg-tm-card {
148 transition: transform 0.18s ease, box-shadow 0.18s ease;
149 }
150
151 .bkbg-tm-hover-lift .bkbg-tm-card:hover {
152 transform: translateY(calc(-1 * var(--bkbg-tm-hover-lift)));
153 box-shadow: 0 14px 34px rgba(0, 0, 0, 0.12);
154 }
155
156 .bkbg-tm-photo {
157 width: var(--bkbg-tm-photo-size);
158 height: var(--bkbg-tm-photo-size);
159 border-radius: var(--bkbg-tm-photo-radius);
160 overflow: hidden;
161 background: #f3f4f6;
162 margin: 0 auto;
163 display: flex;
164 align-items: center;
165 justify-content: center;
166 border: 1px solid rgba(0, 0, 0, 0.04);
167 }
168
169 .bkbg-tm-photo img {
170 width: 100%;
171 height: 100%;
172 object-fit: cover;
173 display: block;
174 }
175
176 .bkbg-tm-photo-placeholder {
177 display: flex;
178 flex-direction: column;
179 gap: 6px;
180 align-items: center;
181 justify-content: center;
182 color: #6b7280;
183 font-size: 12px;
184 padding: 10px;
185 }
186
187 .bkbg-tm-photo-placeholder .dashicons {
188 font-size: 22px;
189 width: 22px;
190 height: 22px;
191 }
192
193 .bkbg-tm-card .bkbg-tm-name {
194 color: var(--bkbg-tm-name-color);
195 font-family: var(--bktm-nm-font-family, inherit);
196 font-size: var(--bktm-nm-font-size-d, 18px);
197 line-height: var(--bktm-nm-line-height-d, 1.25);
198 letter-spacing: var(--bktm-nm-letter-spacing-d);
199 word-spacing: var(--bktm-nm-word-spacing-d);
200 font-weight: var(--bktm-nm-font-weight, 700);
201 font-style: var(--bktm-nm-font-style);
202 text-decoration: var(--bktm-nm-text-decoration);
203 text-transform: var(--bktm-nm-text-transform);
204 margin: 0;
205 }
206
207 .bkbg-tm-carousel-inner {
208 position: relative;
209 display: flex;
210 flex-direction: column;
211 }
212
213 /* Nav placement styles */
214 .bkbg-tm-nav {
215 order: 0;
216 position: relative;
217 z-index: 2;
218 }
219
220 .bkbg-tm-track {
221 order: 1;
222 position: relative;
223 z-index: 1;
224 }
225
226 .bkbg-tm-nav-bottom .bkbg-tm-nav {
227 justify-content: center;
228 margin: 10px 0 0;
229 order: 2;
230 }
231
232 .bkbg-tm-nav-overlay .bkbg-tm-nav {
233 position: absolute;
234 top: 50%;
235 left: 0;
236 right: 0;
237 transform: translateY(-50%);
238 justify-content: space-between;
239 margin: 0;
240 pointer-events: none;
241 z-index: 3;
242 }
243
244 .bkbg-tm-nav-overlay .bkbg-tm-nav-btn {
245 pointer-events: auto;
246 position: relative;
247 z-index: 4;
248 }
249
250 .bkbg-tm-nav-overlay .bkbg-tm-nav-btn:hover {
251 z-index: 10;
252 background: #fff;
253 }
254
255 .bkbg-tm-nav-overlay .bkbg-tm-nav-btn {
256 width: 40px;
257 height: 40px;
258 border-radius: 999px;
259 box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
260 }
261
262 .bkbg-tm-nav-overlay .bkbg-tm-track {
263 padding-left: 48px;
264 padding-right: 48px;
265 }
266
267 /* Indicators */
268 .bkbg-tm-indicators {
269 display: flex;
270 justify-content: center;
271 margin-top: 10px;
272 }
273
274 .bkbg-tm-indicators-pos-top .bkbg-tm-indicators {
275 margin-top: 0;
276 margin-bottom: 10px;
277 }
278
279 .bkbg-tm-dots {
280 display: flex;
281 gap: 8px;
282 }
283
284 .bkbg-tm-dot {
285 width: var(--bkbg-tm-indicator-size, 8px);
286 height: var(--bkbg-tm-indicator-size, 8px);
287 border-radius: 999px;
288 border: 0;
289 background: var(--bkbg-tm-indicator-color, rgba(0, 0, 0, 0.22));
290 cursor: pointer;
291 padding: 0;
292 transition: width 0.18s ease, background-color 0.18s ease;
293 }
294
295 .bkbg-tm-dot.is-active {
296 background: var(--bkbg-tm-indicator-active-color, rgba(0, 0, 0, 0.65));
297 }
298
299 /* Dots variant: active dot becomes a pill */
300 .bkbg-tm-dots-style-pill .bkbg-tm-dot.is-active {
301 width: calc(var(--bkbg-tm-indicator-size, 8px) * 2.6);
302 }
303
304 .bkbg-tm-progress {
305 width: min(360px, 100%);
306 height: var(--bkbg-tm-progress-height, 6px);
307 border-radius: 999px;
308 background: var(--bkbg-tm-progress-bg, rgba(0, 0, 0, 0.12));
309 overflow: hidden;
310 }
311
312 /* Progress variant: edge-to-edge line */
313 .bkbg-tm-progress-style-edge .bkbg-tm-progress {
314 width: 100%;
315 border-radius: 0;
316 }
317
318 .bkbg-tm-progress-style-edge .bkbg-tm-progress-bar {
319 border-radius: 0;
320 }
321
322 .bkbg-tm-progress-bar {
323 height: 100%;
324 width: 0%;
325 background: var(--bkbg-tm-progress-fg, rgba(0, 0, 0, 0.55));
326 border-radius: 999px;
327 }
328
329 .bkbg-tm-fraction {
330 font-size: var(--bkbg-tm-fraction-size, 13px);
331 color: var(--bkbg-tm-fraction-color, rgba(0, 0, 0, 0.65));
332 font-weight: 600;
333 letter-spacing: 0.02em;
334 user-select: none;
335 }
336
337 .bkbg-tm-role {
338 color: var(--bkbg-tm-role-color);
339 font-family: var(--bktm-rl-font-family, inherit);
340 font-size: var(--bktm-rl-font-size-d, 14px);
341 line-height: var(--bktm-rl-line-height-d, 1.2);
342 letter-spacing: var(--bktm-rl-letter-spacing-d);
343 word-spacing: var(--bktm-rl-word-spacing-d);
344 font-weight: var(--bktm-rl-font-weight, 600);
345 font-style: var(--bktm-rl-font-style);
346 text-decoration: var(--bktm-rl-text-decoration);
347 text-transform: var(--bktm-rl-text-transform);
348 margin: 0;
349 }
350
351 .bkbg-tm-bio {
352 color: var(--bkbg-tm-bio-color);
353 font-family: var(--bktm-bi-font-family, inherit);
354 font-size: var(--bktm-bi-font-size-d, 14px);
355 line-height: var(--bktm-bi-line-height-d, 1.6);
356 letter-spacing: var(--bktm-bi-letter-spacing-d);
357 word-spacing: var(--bktm-bi-word-spacing-d);
358 font-weight: var(--bktm-bi-font-weight);
359 font-style: var(--bktm-bi-font-style);
360 text-decoration: var(--bktm-bi-text-decoration);
361 text-transform: var(--bktm-bi-text-transform);
362 margin: 0;
363 }
364
365 .bkbg-tm-socials {
366 display: flex;
367 justify-content: center;
368 gap: 10px;
369 padding-top: 6px;
370 }
371
372 .bkbg-tm-align-left .bkbg-tm-socials {
373 justify-content: flex-start;
374 }
375
376 .bkbg-tm-align-right .bkbg-tm-socials {
377 justify-content: flex-end;
378 }
379
380 .bkbg-tm-social {
381 color: var(--bkbg-tm-social-color);
382 text-decoration: none;
383 display: inline-flex;
384 align-items: center;
385 justify-content: center;
386 width: calc(var(--bkbg-tm-social-size) + 12px);
387 height: calc(var(--bkbg-tm-social-size) + 12px);
388 border-radius: 999px;
389 transition: color 0.15s ease, background-color 0.15s ease;
390 }
391
392 .bkbg-tm-social:hover {
393 color: var(--bkbg-tm-social-hover);
394 background-color: rgba(0, 0, 0, 0.04);
395 }
396
397 .bkbg-tm-social .dashicons {
398 font-size: var(--bkbg-tm-social-size);
399 width: var(--bkbg-tm-social-size);
400 height: var(--bkbg-tm-social-size);
401 }
402
403 .bkbg-tm-social svg {
404 width: var(--bkbg-tm-social-size);
405 height: var(--bkbg-tm-social-size);
406 display: block;
407 fill: currentColor;
408 }
409
410 /* Editor-only helpers */
411 .bkbg-tm-card.is-active {
412 outline: 2px solid var(--wp-admin-theme-color, #007cba);
413 outline-offset: 2px;
414 }
415
416 .bkbg-tm-actions {
417 position: absolute;
418 top: 10px;
419 right: 10px;
420 display: flex;
421 gap: 6px;
422 opacity: 0;
423 transform: translateY(-4px);
424 transition: opacity 0.15s ease, transform 0.15s ease;
425 }
426
427 .bkbg-tm-card:hover .bkbg-tm-actions,
428 .bkbg-tm-card.is-active .bkbg-tm-actions {
429 opacity: 1;
430 transform: translateY(0);
431 }
432
433 .bkbg-tm-actions .components-button {
434 min-width: 28px;
435 height: 28px;
436 padding: 0;
437 }
438
439 /* ── Responsive typography ──────────────────────────────────────────────── */
440 @media (max-width: 1024px) {
441 .bkbg-tm-card .bkbg-tm-name {
442 font-size: var(--bktm-nm-font-size-t, var(--bktm-nm-font-size-d, 18px));
443 line-height: var(--bktm-nm-line-height-t, var(--bktm-nm-line-height-d, 1.25));
444 letter-spacing: var(--bktm-nm-letter-spacing-t, var(--bktm-nm-letter-spacing-d));
445 word-spacing: var(--bktm-nm-word-spacing-t, var(--bktm-nm-word-spacing-d));
446 }
447 .bkbg-tm-role {
448 font-size: var(--bktm-rl-font-size-t, var(--bktm-rl-font-size-d, 14px));
449 line-height: var(--bktm-rl-line-height-t, var(--bktm-rl-line-height-d, 1.2));
450 letter-spacing: var(--bktm-rl-letter-spacing-t, var(--bktm-rl-letter-spacing-d));
451 word-spacing: var(--bktm-rl-word-spacing-t, var(--bktm-rl-word-spacing-d));
452 }
453 .bkbg-tm-bio {
454 font-size: var(--bktm-bi-font-size-t, var(--bktm-bi-font-size-d, 14px));
455 line-height: var(--bktm-bi-line-height-t, var(--bktm-bi-line-height-d, 1.6));
456 letter-spacing: var(--bktm-bi-letter-spacing-t, var(--bktm-bi-letter-spacing-d));
457 word-spacing: var(--bktm-bi-word-spacing-t, var(--bktm-bi-word-spacing-d));
458 }
459 }
460 @media (max-width: 767px) {
461 .bkbg-tm-card .bkbg-tm-name {
462 font-size: var(--bktm-nm-font-size-m, var(--bktm-nm-font-size-t, var(--bktm-nm-font-size-d, 18px)));
463 line-height: var(--bktm-nm-line-height-m, var(--bktm-nm-line-height-t, var(--bktm-nm-line-height-d, 1.25)));
464 letter-spacing: var(--bktm-nm-letter-spacing-m, var(--bktm-nm-letter-spacing-t, var(--bktm-nm-letter-spacing-d)));
465 word-spacing: var(--bktm-nm-word-spacing-m, var(--bktm-nm-word-spacing-t, var(--bktm-nm-word-spacing-d)));
466 }
467 .bkbg-tm-role {
468 font-size: var(--bktm-rl-font-size-m, var(--bktm-rl-font-size-t, var(--bktm-rl-font-size-d, 14px)));
469 line-height: var(--bktm-rl-line-height-m, var(--bktm-rl-line-height-t, var(--bktm-rl-line-height-d, 1.2)));
470 letter-spacing: var(--bktm-rl-letter-spacing-m, var(--bktm-rl-letter-spacing-t, var(--bktm-rl-letter-spacing-d)));
471 word-spacing: var(--bktm-rl-word-spacing-m, var(--bktm-rl-word-spacing-t, var(--bktm-rl-word-spacing-d)));
472 }
473 .bkbg-tm-bio {
474 font-size: var(--bktm-bi-font-size-m, var(--bktm-bi-font-size-t, var(--bktm-bi-font-size-d, 14px)));
475 line-height: var(--bktm-bi-line-height-m, var(--bktm-bi-line-height-t, var(--bktm-bi-line-height-d, 1.6)));
476 letter-spacing: var(--bktm-bi-letter-spacing-m, var(--bktm-bi-letter-spacing-t, var(--bktm-bi-letter-spacing-d)));
477 word-spacing: var(--bktm-bi-word-spacing-m, var(--bktm-bi-word-spacing-t, var(--bktm-bi-word-spacing-d)));
478 }
479 }
480