PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.6
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.6
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.6, at blocks/icon-box/style.css

355 lines 11.7 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-title {
210 margin: 0 0 var(--bkbg-ib-title-spacing) !important;
211 padding: 0;
212 font-size: var(--bkbg-ib-title-size) !important;
213 font-weight: var(--bkbg-ib-title-weight) !important;
214 color: var(--bkbg-ib-title-color) !important;
215 line-height: var(--bkbg-ib-title-lh) !important;
216 }
217
218 /* ── Text ─────────────────────────────────────────────────────────────────── */
219 .bkbg-ib-text {
220 margin: 0 !important;
221 padding: 0;
222 font-size: var(--bkbg-ib-text-size) !important;
223 font-weight: var(--bkbg-ib-text-weight) !important;
224 color: var(--bkbg-ib-text-color) !important;
225 line-height: var(--bkbg-ib-text-lh) !important;
226 }
227
228 /* ── Link Button ──────────────────────────────────────────────────────────── */
229 .bkbg-ib-link-wrap {
230 margin-top: var(--bkbg-ib-link-spacing);
231 display: flex;
232 justify-content: inherit;
233 }
234
235 .bkbg-ib-wrap[data-text-align="left"] .bkbg-ib-link-wrap {
236 justify-content: flex-start;
237 }
238 .bkbg-ib-wrap[data-text-align="center"] .bkbg-ib-link-wrap {
239 justify-content: center;
240 }
241 .bkbg-ib-wrap[data-text-align="right"] .bkbg-ib-link-wrap {
242 justify-content: flex-end;
243 }
244
245 .bkbg-ib-link {
246 display: inline-flex;
247 align-items: center;
248 justify-content: center;
249 padding: var(--bkbg-ib-link-padding);
250 font-size: var(--bkbg-ib-link-size);
251 font-weight: var(--bkbg-ib-link-weight);
252 border-radius: var(--bkbg-ib-link-radius);
253 text-decoration: none;
254 transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
255 cursor: pointer;
256 line-height: 1.2;
257 }
258
259 /* Solid (default) */
260 .bkbg-ib-wrap[data-link-style="solid"] .bkbg-ib-link {
261 background: var(--bkbg-ib-link-bg);
262 color: var(--bkbg-ib-link-color);
263 border: var(--bkbg-ib-link-brd-w) solid var(--bkbg-ib-link-bg);
264 }
265 .bkbg-ib-wrap[data-link-style="solid"] .bkbg-ib-link:hover {
266 background: var(--bkbg-ib-link-bg-hover);
267 color: var(--bkbg-ib-link-color-hover);
268 border-color: var(--bkbg-ib-link-bg-hover);
269 }
270
271 /* Outline */
272 .bkbg-ib-wrap[data-link-style="outline"] .bkbg-ib-link {
273 background: transparent;
274 color: var(--bkbg-ib-link-bg);
275 border: var(--bkbg-ib-link-brd-w) solid var(--bkbg-ib-link-brd-color);
276 }
277 .bkbg-ib-wrap[data-link-style="outline"] .bkbg-ib-link:hover {
278 background: var(--bkbg-ib-link-bg);
279 color: var(--bkbg-ib-link-color);
280 }
281
282 /* Ghost */
283 .bkbg-ib-wrap[data-link-style="ghost"] .bkbg-ib-link {
284 background: color-mix(in srgb, var(--bkbg-ib-link-bg) 10%, transparent);
285 color: var(--bkbg-ib-link-bg);
286 border: var(--bkbg-ib-link-brd-w) solid transparent;
287 }
288 .bkbg-ib-wrap[data-link-style="ghost"] .bkbg-ib-link:hover {
289 background: var(--bkbg-ib-link-bg);
290 color: var(--bkbg-ib-link-color);
291 }
292
293 /* Plain text link */
294 .bkbg-ib-wrap[data-link-style="text"] .bkbg-ib-link {
295 background: transparent;
296 color: var(--bkbg-ib-link-bg);
297 border: none;
298 padding-left: 0;
299 padding-right: 0;
300 text-decoration: underline;
301 text-underline-offset: 3px;
302 }
303 .bkbg-ib-wrap[data-link-style="text"] .bkbg-ib-link:hover {
304 color: var(--bkbg-ib-link-bg-hover);
305 }
306
307 /* ── Hover Effects ────────────────────────────────────────────────────────── */
308 .bkbg-ib-wrap[data-hover="lift"]:hover {
309 transform: translateY(-4px);
310 box-shadow: var(--bkbg-ib-card-shadow-hover);
311 }
312
313 .bkbg-ib-wrap[data-hover="glow"]:hover {
314 box-shadow: var(--bkbg-ib-card-shadow-hover);
315 }
316
317 .bkbg-ib-wrap[data-hover="scale"]:hover {
318 transform: scale(1.02);
319 box-shadow: var(--bkbg-ib-card-shadow-hover);
320 }
321
322 .bkbg-ib-wrap[data-hover="border"]:hover {
323 border-color: var(--bkbg-ib-icon-color);
324 }
325
326 .bkbg-ib-wrap[data-hover]:hover {
327 background: var(--bkbg-ib-card-bg-hover);
328 }
329
330 /* ── Editor-only styles ───────────────────────────────────────────────────── */
331 .bkbg-ib-link-url-hint {
332 display: none;
333 font-size: 11px;
334 color: #94a3b8;
335 margin-left: 6px;
336 font-style: italic;
337 align-self: center;
338 }
339
340 .editor-styles-wrapper .bkbg-ib-link-url-hint {
341 display: inline;
342 }
343
344 .editor-styles-wrapper .bkbg-ib-link-wrap {
345 display: flex;
346 align-items: center;
347 }
348
349 /* ── Fallback for color-mix (older browsers) ───────────────────────────────── */
350 @supports not (color: color-mix(in srgb, red 10%, transparent)) {
351 .bkbg-ib-wrap[data-link-style="ghost"] .bkbg-ib-link {
352 background: rgba(59, 130, 246, 0.1);
353 }
354 }
355