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 / blocks / icon-box / style.css

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.13, at blocks/icon-box/style.css

406 lines 15.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ========================================
2 Icon Box Block
3 Prefix: bkbg-ib-
4 ======================================== */
5
6 /* ── CSS Custom Properties ────────────────────────────────────────────────── */
7 .bkbg-ib-wrap {
8 --bkbg-ib-content-gap: 20px;
9 --bkbg-ib-icon-size: 40px;
10 --bkbg-ib-icon-color: #3b82f6;
11 --bkbg-ib-icon-bg: #dbeafe;
12 --bkbg-ib-icon-bg-size: 80px;
13 --bkbg-ib-icon-radius: 50%;
14 --bkbg-ib-title-size: 20px;
15 --bkbg-ib-title-weight: 700;
16 --bkbg-ib-title-color: #1e293b;
17 --bkbg-ib-title-lh: 1.3;
18 --bkbg-ib-title-spacing: 10px;
19 --bkbg-ib-text-size: 15px;
20 --bkbg-ib-text-weight: 400;
21 --bkbg-ib-text-color: #6b7280;
22 --bkbg-ib-text-lh: 1.7;
23 --bkbg-ib-card-bg: #ffffff;
24 --bkbg-ib-card-bg-hover: #ffffff;
25 --bkbg-ib-card-padding: 36px 32px;
26 --bkbg-ib-card-brd-w: 1px;
27 --bkbg-ib-card-brd-style: solid;
28 --bkbg-ib-card-brd-color: #e2e8f0;
29 --bkbg-ib-card-radius: 16px;
30 --bkbg-ib-card-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.07);
31 --bkbg-ib-card-shadow-hover: 0 12px 40px 0 rgba(0, 0, 0, 0.12);
32 --bkbg-ib-link-bg: #3b82f6;
33 --bkbg-ib-link-color: #ffffff;
34 --bkbg-ib-link-bg-hover: #2563eb;
35 --bkbg-ib-link-color-hover: #ffffff;
36 --bkbg-ib-link-brd-color: #3b82f6;
37 --bkbg-ib-link-brd-w: 2px;
38 --bkbg-ib-link-size: 14px;
39 --bkbg-ib-link-weight: 600;
40 --bkbg-ib-link-radius: 6px;
41 --bkbg-ib-link-padding: 10px 22px;
42 --bkbg-ib-link-spacing: 16px;
43 --bkbg-ib-text-align: center;
44
45 /* Card shell */
46 display: flex;
47 flex-direction: column;
48 align-items: center;
49 text-align: var(--bkbg-ib-text-align);
50 background: var(--bkbg-ib-card-bg);
51 padding: var(--bkbg-ib-card-padding);
52 border: var(--bkbg-ib-card-brd-w) var(--bkbg-ib-card-brd-style) var(--bkbg-ib-card-brd-color);
53 border-radius: var(--bkbg-ib-card-radius);
54 box-shadow: var(--bkbg-ib-card-shadow);
55 gap: var(--bkbg-ib-content-gap);
56 transition: background 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
57 position: relative;
58 overflow: hidden;
59 }
60
61 /* ── Text alignment ───────────────────────────────────────────────────────── */
62 .bkbg-ib-wrap[data-text-align="left"] {
63 align-items: flex-start;
64 text-align: left;
65 }
66
67 .bkbg-ib-wrap[data-text-align="right"] {
68 align-items: flex-end;
69 text-align: right;
70 }
71
72 /* ── Icon position: Left ──────────────────────────────────────────────────── */
73 .bkbg-ib-wrap[data-icon-pos="left"],
74 .bkbg-ib-wrap[data-icon-pos="right"] {
75 flex-direction: row;
76 text-align: left;
77 align-items: center;
78 }
79
80 .bkbg-ib-wrap[data-icon-pos="left"][data-icon-align="top"],
81 .bkbg-ib-wrap[data-icon-pos="right"][data-icon-align="top"] {
82 align-items: flex-start;
83 }
84
85 .bkbg-ib-wrap[data-icon-pos="right"] {
86 flex-direction: row-reverse;
87 }
88
89 /* Body takes remaining width when icon is left/right */
90 .bkbg-ib-wrap[data-icon-pos="left"] .bkbg-ib-body,
91 .bkbg-ib-wrap[data-icon-pos="right"] .bkbg-ib-body {
92 flex: 1;
93 min-width: 0;
94 }
95
96 /* ── Icon wrap ────────────────────────────────────────────────────────────── */
97 .bkbg-ib-icon-wrap {
98 display: flex;
99 align-items: center;
100 justify-content: center;
101 flex-shrink: 0;
102 }
103
104 /* ── Icon element ─────────────────────────────────────────────────────────── */
105 .bkbg-ib-icon {
106 display: inline-flex;
107 align-items: center;
108 justify-content: center;
109 width: var(--bkbg-ib-icon-size);
110 height: var(--bkbg-ib-icon-size);
111 color: var(--bkbg-ib-icon-color);
112 flex-shrink: 0;
113 }
114
115 .bkbg-ib-icon svg {
116 width: 100%;
117 height: 100%;
118 fill: currentColor;
119 }
120
121 .bkbg-ib-char {
122 font-size: var(--bkbg-ib-icon-size);
123 line-height: 1;
124 color: var(--bkbg-ib-icon-color);
125 }
126
127 .bkbg-ib-icon .dashicons {
128 font-size: var(--bkbg-ib-icon-size);
129 width: var(--bkbg-ib-icon-size);
130 height: var(--bkbg-ib-icon-size);
131 line-height: 1;
132 color: var(--bkbg-ib-icon-color);
133 }
134
135 .bkbg-ib-img-icon {
136 display: block;
137 width: 100%;
138 height: 100%;
139 object-fit: contain;
140 }
141
142 /* ── Icon shapes ──────────────────────────────────────────────────────────── */
143
144 /* Circle Filled */
145 .bkbg-ib-wrap[data-icon-shape="circle-filled"] .bkbg-ib-icon {
146 width: var(--bkbg-ib-icon-bg-size);
147 height: var(--bkbg-ib-icon-bg-size);
148 background: var(--bkbg-ib-icon-bg);
149 border-radius: var(--bkbg-ib-icon-radius);
150 padding: calc((var(--bkbg-ib-icon-bg-size) - var(--bkbg-ib-icon-size)) / 2);
151 }
152
153 /* Circle Outline */
154 .bkbg-ib-wrap[data-icon-shape="circle-outline"] .bkbg-ib-icon {
155 width: var(--bkbg-ib-icon-bg-size);
156 height: var(--bkbg-ib-icon-bg-size);
157 border: 2px solid var(--bkbg-ib-icon-bg);
158 border-radius: var(--bkbg-ib-icon-radius);
159 padding: calc((var(--bkbg-ib-icon-bg-size) - var(--bkbg-ib-icon-size)) / 2);
160 background: transparent;
161 }
162
163 /* Square Filled */
164 .bkbg-ib-wrap[data-icon-shape="square-filled"] .bkbg-ib-icon {
165 width: var(--bkbg-ib-icon-bg-size);
166 height: var(--bkbg-ib-icon-bg-size);
167 background: var(--bkbg-ib-icon-bg);
168 border-radius: 0;
169 padding: calc((var(--bkbg-ib-icon-bg-size) - var(--bkbg-ib-icon-size)) / 2);
170 }
171
172 /* Square Outline */
173 .bkbg-ib-wrap[data-icon-shape="square-outline"] .bkbg-ib-icon {
174 width: var(--bkbg-ib-icon-bg-size);
175 height: var(--bkbg-ib-icon-bg-size);
176 border: 2px solid var(--bkbg-ib-icon-bg);
177 border-radius: 0;
178 padding: calc((var(--bkbg-ib-icon-bg-size) - var(--bkbg-ib-icon-size)) / 2);
179 background: transparent;
180 }
181
182 /* Rounded Square Filled */
183 .bkbg-ib-wrap[data-icon-shape="rounded-filled"] .bkbg-ib-icon {
184 width: var(--bkbg-ib-icon-bg-size);
185 height: var(--bkbg-ib-icon-bg-size);
186 background: var(--bkbg-ib-icon-bg);
187 border-radius: 24%;
188 padding: calc((var(--bkbg-ib-icon-bg-size) - var(--bkbg-ib-icon-size)) / 2);
189 }
190
191 /* Rounded Square Outline */
192 .bkbg-ib-wrap[data-icon-shape="rounded-outline"] .bkbg-ib-icon {
193 width: var(--bkbg-ib-icon-bg-size);
194 height: var(--bkbg-ib-icon-bg-size);
195 border: 2px solid var(--bkbg-ib-icon-bg);
196 border-radius: 24%;
197 padding: calc((var(--bkbg-ib-icon-bg-size) - var(--bkbg-ib-icon-size)) / 2);
198 background: transparent;
199 }
200
201 /* ── Body ─────────────────────────────────────────────────────────────────── */
202 .bkbg-ib-body {
203 display: flex;
204 flex-direction: column;
205 width: 100%;
206 }
207
208 /* ── Title ────────────────────────────────────────────────────────────────── */
209 .bkbg-ib-wrap .bkbg-ib-title,
210 .bkbg-ib-wrap h2.bkbg-ib-title,
211 .bkbg-ib-wrap h3.bkbg-ib-title,
212 .bkbg-ib-wrap h4.bkbg-ib-title {
213 margin: 0 0 var(--bkbg-ib-title-spacing) !important;
214 padding: 0;
215 font-family: var(--bkbg-ib-tt-font-family, inherit);
216 font-size: var(--bkbg-ib-tt-font-size-d, var(--bkbg-ib-title-size, 20px)) !important;
217 font-weight: var(--bkbg-ib-tt-font-weight, var(--bkbg-ib-title-weight, 700)) !important;
218 font-style: var(--bkbg-ib-tt-font-style, normal);
219 text-decoration: var(--bkbg-ib-tt-text-decoration, none);
220 text-transform: var(--bkbg-ib-tt-text-transform, none);
221 color: var(--bkbg-ib-title-color) !important;
222 line-height: var(--bkbg-ib-tt-line-height-d, var(--bkbg-ib-title-lh, 1.3)) !important;
223 letter-spacing: var(--bkbg-ib-tt-letter-spacing-d, normal);
224 word-spacing: var(--bkbg-ib-tt-word-spacing-d, normal);
225 }
226
227 /* ── Text ─────────────────────────────────────────────────────────────────── */
228 .bkbg-ib-wrap .bkbg-ib-text {
229 margin: 0 !important;
230 padding: 0;
231 font-family: var(--bkbg-ib-tx-font-family, inherit);
232 font-size: var(--bkbg-ib-tx-font-size-d, var(--bkbg-ib-text-size, 15px)) !important;
233 font-weight: var(--bkbg-ib-tx-font-weight, var(--bkbg-ib-text-weight, 400)) !important;
234 font-style: var(--bkbg-ib-tx-font-style, normal);
235 text-decoration: var(--bkbg-ib-tx-text-decoration, none);
236 text-transform: var(--bkbg-ib-tx-text-transform, none);
237 color: var(--bkbg-ib-text-color) !important;
238 line-height: var(--bkbg-ib-tx-line-height-d, var(--bkbg-ib-text-lh, 1.7)) !important;
239 letter-spacing: var(--bkbg-ib-tx-letter-spacing-d, normal);
240 word-spacing: var(--bkbg-ib-tx-word-spacing-d, normal);
241 }
242
243 /* ── Link Button ──────────────────────────────────────────────────────────── */
244 .bkbg-ib-link-wrap {
245 margin-top: var(--bkbg-ib-link-spacing);
246 display: flex;
247 justify-content: inherit;
248 }
249
250 .bkbg-ib-wrap[data-text-align="left"] .bkbg-ib-link-wrap {
251 justify-content: flex-start;
252 }
253 .bkbg-ib-wrap[data-text-align="center"] .bkbg-ib-link-wrap {
254 justify-content: center;
255 }
256 .bkbg-ib-wrap[data-text-align="right"] .bkbg-ib-link-wrap {
257 justify-content: flex-end;
258 }
259
260 .bkbg-ib-link {
261 display: inline-flex;
262 align-items: center;
263 justify-content: center;
264 padding: var(--bkbg-ib-link-padding);
265 font-size: var(--bkbg-ib-link-size);
266 font-weight: var(--bkbg-ib-link-weight);
267 border-radius: var(--bkbg-ib-link-radius);
268 text-decoration: none;
269 transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
270 cursor: pointer;
271 line-height: 1.2;
272 }
273
274 /* Solid (default) */
275 .bkbg-ib-wrap[data-link-style="solid"] .bkbg-ib-link {
276 background: var(--bkbg-ib-link-bg);
277 color: var(--bkbg-ib-link-color);
278 border: var(--bkbg-ib-link-brd-w) solid var(--bkbg-ib-link-bg);
279 }
280 .bkbg-ib-wrap[data-link-style="solid"] .bkbg-ib-link:hover {
281 background: var(--bkbg-ib-link-bg-hover);
282 color: var(--bkbg-ib-link-color-hover);
283 border-color: var(--bkbg-ib-link-bg-hover);
284 }
285
286 /* Outline */
287 .bkbg-ib-wrap[data-link-style="outline"] .bkbg-ib-link {
288 background: transparent;
289 color: var(--bkbg-ib-link-bg);
290 border: var(--bkbg-ib-link-brd-w) solid var(--bkbg-ib-link-brd-color);
291 }
292 .bkbg-ib-wrap[data-link-style="outline"] .bkbg-ib-link:hover {
293 background: var(--bkbg-ib-link-bg);
294 color: var(--bkbg-ib-link-color);
295 }
296
297 /* Ghost */
298 .bkbg-ib-wrap[data-link-style="ghost"] .bkbg-ib-link {
299 background: color-mix(in srgb, var(--bkbg-ib-link-bg) 10%, transparent);
300 color: var(--bkbg-ib-link-bg);
301 border: var(--bkbg-ib-link-brd-w) solid transparent;
302 }
303 .bkbg-ib-wrap[data-link-style="ghost"] .bkbg-ib-link:hover {
304 background: var(--bkbg-ib-link-bg);
305 color: var(--bkbg-ib-link-color);
306 }
307
308 /* Plain text link */
309 .bkbg-ib-wrap[data-link-style="text"] .bkbg-ib-link {
310 background: transparent;
311 color: var(--bkbg-ib-link-bg);
312 border: none;
313 padding-left: 0;
314 padding-right: 0;
315 text-decoration: underline;
316 text-underline-offset: 3px;
317 }
318 .bkbg-ib-wrap[data-link-style="text"] .bkbg-ib-link:hover {
319 color: var(--bkbg-ib-link-bg-hover);
320 }
321
322 /* ── Hover Effects ────────────────────────────────────────────────────────── */
323 .bkbg-ib-wrap[data-hover="lift"]:hover {
324 transform: translateY(-4px);
325 box-shadow: var(--bkbg-ib-card-shadow-hover);
326 }
327
328 .bkbg-ib-wrap[data-hover="glow"]:hover {
329 box-shadow: var(--bkbg-ib-card-shadow-hover);
330 }
331
332 .bkbg-ib-wrap[data-hover="scale"]:hover {
333 transform: scale(1.02);
334 box-shadow: var(--bkbg-ib-card-shadow-hover);
335 }
336
337 .bkbg-ib-wrap[data-hover="border"]:hover {
338 border-color: var(--bkbg-ib-icon-color);
339 }
340
341 .bkbg-ib-wrap[data-hover]:hover {
342 background: var(--bkbg-ib-card-bg-hover);
343 }
344
345 /* ── Editor-only styles ───────────────────────────────────────────────────── */
346 .bkbg-ib-link-url-hint {
347 display: none;
348 font-size: 11px;
349 color: #94a3b8;
350 margin-left: 6px;
351 font-style: italic;
352 align-self: center;
353 }
354
355 .editor-styles-wrapper .bkbg-ib-link-url-hint {
356 display: inline;
357 }
358
359 .editor-styles-wrapper .bkbg-ib-link-wrap {
360 display: flex;
361 align-items: center;
362 }
363
364 /* ── Responsive typography ─────────────────────────────────────────────────── */
365 @media (max-width: 1024px) {
366 .bkbg-ib-wrap .bkbg-ib-title,
367 .bkbg-ib-wrap h2.bkbg-ib-title,
368 .bkbg-ib-wrap h3.bkbg-ib-title,
369 .bkbg-ib-wrap h4.bkbg-ib-title {
370 font-size: var(--bkbg-ib-tt-font-size-t, var(--bkbg-ib-tt-font-size-d, var(--bkbg-ib-title-size, 20px))) !important;
371 line-height: var(--bkbg-ib-tt-line-height-t, var(--bkbg-ib-tt-line-height-d, var(--bkbg-ib-title-lh, 1.3))) !important;
372 letter-spacing: var(--bkbg-ib-tt-letter-spacing-t, var(--bkbg-ib-tt-letter-spacing-d, normal));
373 word-spacing: var(--bkbg-ib-tt-word-spacing-t, var(--bkbg-ib-tt-word-spacing-d, normal));
374 }
375 .bkbg-ib-wrap .bkbg-ib-text {
376 font-size: var(--bkbg-ib-tx-font-size-t, var(--bkbg-ib-tx-font-size-d, var(--bkbg-ib-text-size, 15px))) !important;
377 line-height: var(--bkbg-ib-tx-line-height-t, var(--bkbg-ib-tx-line-height-d, var(--bkbg-ib-text-lh, 1.7))) !important;
378 letter-spacing: var(--bkbg-ib-tx-letter-spacing-t, var(--bkbg-ib-tx-letter-spacing-d, normal));
379 word-spacing: var(--bkbg-ib-tx-word-spacing-t, var(--bkbg-ib-tx-word-spacing-d, normal));
380 }
381 }
382 @media (max-width: 767px) {
383 .bkbg-ib-wrap .bkbg-ib-title,
384 .bkbg-ib-wrap h2.bkbg-ib-title,
385 .bkbg-ib-wrap h3.bkbg-ib-title,
386 .bkbg-ib-wrap h4.bkbg-ib-title {
387 font-size: var(--bkbg-ib-tt-font-size-m, var(--bkbg-ib-tt-font-size-t, var(--bkbg-ib-tt-font-size-d, var(--bkbg-ib-title-size, 20px)))) !important;
388 line-height: var(--bkbg-ib-tt-line-height-m, var(--bkbg-ib-tt-line-height-t, var(--bkbg-ib-tt-line-height-d, var(--bkbg-ib-title-lh, 1.3)))) !important;
389 letter-spacing: var(--bkbg-ib-tt-letter-spacing-m, var(--bkbg-ib-tt-letter-spacing-t, var(--bkbg-ib-tt-letter-spacing-d, normal)));
390 word-spacing: var(--bkbg-ib-tt-word-spacing-m, var(--bkbg-ib-tt-word-spacing-t, var(--bkbg-ib-tt-word-spacing-d, normal)));
391 }
392 .bkbg-ib-wrap .bkbg-ib-text {
393 font-size: var(--bkbg-ib-tx-font-size-m, var(--bkbg-ib-tx-font-size-t, var(--bkbg-ib-tx-font-size-d, var(--bkbg-ib-text-size, 15px)))) !important;
394 line-height: var(--bkbg-ib-tx-line-height-m, var(--bkbg-ib-tx-line-height-t, var(--bkbg-ib-tx-line-height-d, var(--bkbg-ib-text-lh, 1.7)))) !important;
395 letter-spacing: var(--bkbg-ib-tx-letter-spacing-m, var(--bkbg-ib-tx-letter-spacing-t, var(--bkbg-ib-tx-letter-spacing-d, normal)));
396 word-spacing: var(--bkbg-ib-tx-word-spacing-m, var(--bkbg-ib-tx-word-spacing-t, var(--bkbg-ib-tx-word-spacing-d, normal)));
397 }
398 }
399
400 /* ── Fallback for color-mix (older browsers) ───────────────────────────────── */
401 @supports not (color: color-mix(in srgb, red 10%, transparent)) {
402 .bkbg-ib-wrap[data-link-style="ghost"] .bkbg-ib-link {
403 background: rgba(59, 130, 246, 0.1);
404 }
405 }
406