PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.5
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.5
2.0.14 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.5, at blocks/team-members/style.css

419 lines 8.8 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-name {
194 color: var(--bkbg-tm-name-color);
195 font-size: var(--bkbg-tm-name-size);
196 font-weight: var(--bkbg-tm-name-weight);
197 line-height: 1.25;
198 margin: 0;
199 }
200
201 .bkbg-tm-carousel-inner {
202 position: relative;
203 display: flex;
204 flex-direction: column;
205 }
206
207 /* Nav placement styles */
208 .bkbg-tm-nav {
209 order: 0;
210 position: relative;
211 z-index: 2;
212 }
213
214 .bkbg-tm-track {
215 order: 1;
216 position: relative;
217 z-index: 1;
218 }
219
220 .bkbg-tm-nav-bottom .bkbg-tm-nav {
221 justify-content: center;
222 margin: 10px 0 0;
223 order: 2;
224 }
225
226 .bkbg-tm-nav-overlay .bkbg-tm-nav {
227 position: absolute;
228 top: 50%;
229 left: 0;
230 right: 0;
231 transform: translateY(-50%);
232 justify-content: space-between;
233 margin: 0;
234 pointer-events: none;
235 z-index: 3;
236 }
237
238 .bkbg-tm-nav-overlay .bkbg-tm-nav-btn {
239 pointer-events: auto;
240 position: relative;
241 z-index: 4;
242 }
243
244 .bkbg-tm-nav-overlay .bkbg-tm-nav-btn:hover {
245 z-index: 10;
246 background: #fff;
247 }
248
249 .bkbg-tm-nav-overlay .bkbg-tm-nav-btn {
250 width: 40px;
251 height: 40px;
252 border-radius: 999px;
253 box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
254 }
255
256 .bkbg-tm-nav-overlay .bkbg-tm-track {
257 padding-left: 48px;
258 padding-right: 48px;
259 }
260
261 /* Indicators */
262 .bkbg-tm-indicators {
263 display: flex;
264 justify-content: center;
265 margin-top: 10px;
266 }
267
268 .bkbg-tm-indicators-pos-top .bkbg-tm-indicators {
269 margin-top: 0;
270 margin-bottom: 10px;
271 }
272
273 .bkbg-tm-dots {
274 display: flex;
275 gap: 8px;
276 }
277
278 .bkbg-tm-dot {
279 width: var(--bkbg-tm-indicator-size, 8px);
280 height: var(--bkbg-tm-indicator-size, 8px);
281 border-radius: 999px;
282 border: 0;
283 background: var(--bkbg-tm-indicator-color, rgba(0, 0, 0, 0.22));
284 cursor: pointer;
285 padding: 0;
286 transition: width 0.18s ease, background-color 0.18s ease;
287 }
288
289 .bkbg-tm-dot.is-active {
290 background: var(--bkbg-tm-indicator-active-color, rgba(0, 0, 0, 0.65));
291 }
292
293 /* Dots variant: active dot becomes a pill */
294 .bkbg-tm-dots-style-pill .bkbg-tm-dot.is-active {
295 width: calc(var(--bkbg-tm-indicator-size, 8px) * 2.6);
296 }
297
298 .bkbg-tm-progress {
299 width: min(360px, 100%);
300 height: var(--bkbg-tm-progress-height, 6px);
301 border-radius: 999px;
302 background: var(--bkbg-tm-progress-bg, rgba(0, 0, 0, 0.12));
303 overflow: hidden;
304 }
305
306 /* Progress variant: edge-to-edge line */
307 .bkbg-tm-progress-style-edge .bkbg-tm-progress {
308 width: 100%;
309 border-radius: 0;
310 }
311
312 .bkbg-tm-progress-style-edge .bkbg-tm-progress-bar {
313 border-radius: 0;
314 }
315
316 .bkbg-tm-progress-bar {
317 height: 100%;
318 width: 0%;
319 background: var(--bkbg-tm-progress-fg, rgba(0, 0, 0, 0.55));
320 border-radius: 999px;
321 }
322
323 .bkbg-tm-fraction {
324 font-size: var(--bkbg-tm-fraction-size, 13px);
325 color: var(--bkbg-tm-fraction-color, rgba(0, 0, 0, 0.65));
326 font-weight: 600;
327 letter-spacing: 0.02em;
328 user-select: none;
329 }
330
331 .bkbg-tm-role {
332 color: var(--bkbg-tm-role-color);
333 font-size: var(--bkbg-tm-role-size);
334 font-weight: var(--bkbg-tm-role-weight);
335 margin: 0;
336 line-height: 1.2;
337 }
338
339 .bkbg-tm-bio {
340 color: var(--bkbg-tm-bio-color);
341 font-size: var(--bkbg-tm-bio-size);
342 line-height: 1.6;
343 margin: 0;
344 }
345
346 .bkbg-tm-socials {
347 display: flex;
348 justify-content: center;
349 gap: 10px;
350 padding-top: 6px;
351 }
352
353 .bkbg-tm-align-left .bkbg-tm-socials {
354 justify-content: flex-start;
355 }
356
357 .bkbg-tm-align-right .bkbg-tm-socials {
358 justify-content: flex-end;
359 }
360
361 .bkbg-tm-social {
362 color: var(--bkbg-tm-social-color);
363 text-decoration: none;
364 display: inline-flex;
365 align-items: center;
366 justify-content: center;
367 width: calc(var(--bkbg-tm-social-size) + 12px);
368 height: calc(var(--bkbg-tm-social-size) + 12px);
369 border-radius: 999px;
370 transition: color 0.15s ease, background-color 0.15s ease;
371 }
372
373 .bkbg-tm-social:hover {
374 color: var(--bkbg-tm-social-hover);
375 background-color: rgba(0, 0, 0, 0.04);
376 }
377
378 .bkbg-tm-social .dashicons {
379 font-size: var(--bkbg-tm-social-size);
380 width: var(--bkbg-tm-social-size);
381 height: var(--bkbg-tm-social-size);
382 }
383
384 .bkbg-tm-social svg {
385 width: var(--bkbg-tm-social-size);
386 height: var(--bkbg-tm-social-size);
387 display: block;
388 fill: currentColor;
389 }
390
391 /* Editor-only helpers */
392 .bkbg-tm-card.is-active {
393 outline: 2px solid var(--wp-admin-theme-color, #007cba);
394 outline-offset: 2px;
395 }
396
397 .bkbg-tm-actions {
398 position: absolute;
399 top: 10px;
400 right: 10px;
401 display: flex;
402 gap: 6px;
403 opacity: 0;
404 transform: translateY(-4px);
405 transition: opacity 0.15s ease, transform 0.15s ease;
406 }
407
408 .bkbg-tm-card:hover .bkbg-tm-actions,
409 .bkbg-tm-card.is-active .bkbg-tm-actions {
410 opacity: 1;
411 transform: translateY(0);
412 }
413
414 .bkbg-tm-actions .components-button {
415 min-width: 28px;
416 height: 28px;
417 padding: 0;
418 }
419