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 / stats-section / style.css

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

259 lines 11.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ========================================
2 Stats Section Block Styles
3 Prefix: bkbg-sts-
4 ======================================== */
5
6 .bkbg-sts-wrap {
7 --bkbg-sts-num-color: #6c3fb5;
8 --bkbg-sts-label-color: #1e293b;
9 --bkbg-sts-desc-color: #64748b;
10 --bkbg-sts-icon-color: #6c3fb5;
11 --bkbg-sts-div-color: #e2e8f0;
12 --bkbg-sts-card-bg: #ffffff;
13 --bkbg-sts-card-border: #e2e8f0;
14 --bkbg-sts-num-size: 52px;
15 --bkbg-sts-label-size: 15px;
16 --bkbg-sts-desc-size: 13px;
17 --bkbg-sts-icon-size: 36px;
18 --bkbg-sts-weight: 800;
19 --bkbg-sts-radius: 16px;
20 --bkbg-sts-pad: 32px;
21 --bkbg-sts-cols: 4;
22 --bkbg-sts-gap: 40px;
23 --bkbg-sts-pt: 64px;
24 --bkbg-sts-pb: 64px;
25 --bkbg-sts-grad-from: #6c3fb5;
26 --bkbg-sts-grad-to: #2563eb;
27 --bkbg-sts-title-color: #0f172a;
28 --bkbg-sts-sub-color: #64748b;
29
30 padding-top: var(--bkbg-sts-pt);
31 padding-bottom: var(--bkbg-sts-pb);
32 box-sizing: border-box;
33 }
34
35 /* ── Section Header ── */
36 .bkbg-sts-header {
37 margin-bottom: 48px;
38 }
39
40 .bkbg-sts-header h2.bkbg-sts-title {
41 font-family: var(--bksts-tt-font-family, inherit);
42 font-size: var(--bksts-tt-font-size-d, clamp(24px, 3vw, 36px));
43 font-weight: var(--bksts-tt-font-weight, 700);
44 font-style: var(--bksts-tt-font-style, normal);
45 text-decoration: var(--bksts-tt-text-decoration, none);
46 text-transform: var(--bksts-tt-text-transform, none);
47 line-height: var(--bksts-tt-line-height-d, 1.2);
48 letter-spacing: var(--bksts-tt-letter-spacing-d, normal);
49 word-spacing: var(--bksts-tt-word-spacing-d, normal);
50 margin: 0 0 12px;
51 color: var(--bkbg-sts-title-color);
52 }
53
54 .bkbg-sts-subtitle {
55 font-family: var(--bksts-st-font-family, inherit);
56 font-size: var(--bksts-st-font-size-d, 16px);
57 font-weight: var(--bksts-st-font-weight, normal);
58 font-style: var(--bksts-st-font-style, normal);
59 text-decoration: var(--bksts-st-text-decoration, none);
60 text-transform: var(--bksts-st-text-transform, none);
61 line-height: var(--bksts-st-line-height-d, 1.6);
62 letter-spacing: var(--bksts-st-letter-spacing-d, normal);
63 word-spacing: var(--bksts-st-word-spacing-d, normal);
64 color: var(--bkbg-sts-sub-color);
65 margin: 0;
66 max-width: 600px;
67 }
68
69 .bkbg-sts-header[style*="center"] .bkbg-sts-subtitle {
70 margin-left: auto;
71 margin-right: auto;
72 }
73
74 /* ── Grid ── */
75 .bkbg-sts-grid {
76 display: grid;
77 grid-template-columns: repeat(var(--bkbg-sts-cols), 1fr);
78 gap: var(--bkbg-sts-gap);
79 position: relative;
80 }
81
82 /* ── Item (stat card) ── */
83 .bkbg-sts-item {
84 display: flex;
85 flex-direction: column;
86 align-items: center;
87 justify-content: center;
88 gap: 6px;
89 padding: var(--bkbg-sts-pad);
90 border-radius: var(--bkbg-sts-radius);
91 box-sizing: border-box;
92 position: relative;
93 }
94
95 .bkbg-sts-icon {
96 font-size: var(--bkbg-sts-icon-size);
97 line-height: 1;
98 margin-bottom: 4px;
99 }
100 .bkbg-sts-icon svg { width: 1em; height: 1em; fill: currentColor; }
101 .bkbg-sts-icon .dashicons { font-size: inherit; width: 1em; height: 1em; line-height: 1; }
102 .bkbg-sts-icon .bkbg-icon-img { width: 1em; height: 1em; object-fit: contain; }
103
104 .bkbg-sts-number {
105 font-family: var(--bksts-nm-font-family, inherit);
106 font-size: var(--bksts-nm-font-size-d, var(--bkbg-sts-num-size));
107 font-weight: var(--bksts-nm-font-weight, var(--bkbg-sts-weight));
108 font-style: var(--bksts-nm-font-style, normal);
109 text-decoration: var(--bksts-nm-text-decoration, none);
110 text-transform: var(--bksts-nm-text-transform, none);
111 line-height: var(--bksts-nm-line-height-d, 1);
112 letter-spacing: var(--bksts-nm-letter-spacing-d, normal);
113 word-spacing: var(--bksts-nm-word-spacing-d, normal);
114 color: var(--bkbg-sts-num-color);
115 display: flex;
116 align-items: baseline;
117 gap: 2px;
118 }
119
120 .bkbg-sts-prefix,
121 .bkbg-sts-suffix {
122 font-size: 0.55em;
123 font-weight: 700;
124 opacity: 0.85;
125 }
126
127 .bkbg-sts-label {
128 font-family: var(--bksts-lb-font-family, inherit);
129 font-size: var(--bksts-lb-font-size-d, var(--bkbg-sts-label-size));
130 font-weight: var(--bksts-lb-font-weight, 600);
131 font-style: var(--bksts-lb-font-style, normal);
132 text-decoration: var(--bksts-lb-text-decoration, none);
133 text-transform: var(--bksts-lb-text-transform, none);
134 line-height: var(--bksts-lb-line-height-d, 1.3);
135 letter-spacing: var(--bksts-lb-letter-spacing-d, normal);
136 word-spacing: var(--bksts-lb-word-spacing-d, normal);
137 color: var(--bkbg-sts-label-color);
138 }
139
140 .bkbg-sts-desc {
141 font-family: var(--bksts-ds-font-family, inherit);
142 font-size: var(--bksts-ds-font-size-d, var(--bkbg-sts-desc-size));
143 font-weight: var(--bksts-ds-font-weight, normal);
144 font-style: var(--bksts-ds-font-style, normal);
145 text-decoration: var(--bksts-ds-text-decoration, none);
146 text-transform: var(--bksts-ds-text-transform, none);
147 line-height: var(--bksts-ds-line-height-d, 1.5);
148 letter-spacing: var(--bksts-ds-letter-spacing-d, normal);
149 word-spacing: var(--bksts-ds-word-spacing-d, normal);
150 color: var(--bkbg-sts-desc-color);
151 }
152
153 /* ── Dividers (plain layout) ── */
154 .bkbg-sts-dividers.bkbg-sts-layout--row .bkbg-sts-item:not(:last-child)::after,
155 .bkbg-sts-dividers.bkbg-sts-layout--grid .bkbg-sts-item:not(:last-child)::after {
156 content: '';
157 position: absolute;
158 right: calc(var(--bkbg-sts-gap) / -2);
159 top: 20%;
160 height: 60%;
161 width: 1px;
162 background: var(--bkbg-sts-div-color);
163 }
164
165 /* ── Style: Card ── */
166 .bkbg-sts-style--card .bkbg-sts-item {
167 background: var(--bkbg-sts-card-bg);
168 box-shadow: 0 2px 16px rgba(0,0,0,0.08);
169 border-radius: var(--bkbg-sts-radius);
170 transition: transform 0.2s, box-shadow 0.2s;
171 }
172
173 .bkbg-sts-style--card .bkbg-sts-item:hover {
174 transform: translateY(-4px);
175 box-shadow: 0 8px 32px rgba(108,63,181,0.15);
176 }
177
178 /* ── Style: Bordered ── */
179 .bkbg-sts-style--bordered .bkbg-sts-item {
180 border: 1px solid var(--bkbg-sts-card-border);
181 border-radius: var(--bkbg-sts-radius);
182 background: var(--bkbg-sts-card-bg);
183 }
184
185 /* ── Style: Gradient number ── */
186 .bkbg-sts-style--gradient .bkbg-sts-number {
187 background: linear-gradient(135deg, var(--bkbg-sts-grad-from), var(--bkbg-sts-grad-to));
188 -webkit-background-clip: text;
189 background-clip: text;
190 -webkit-text-fill-color: transparent;
191 color: transparent;
192 }
193
194 /* ── Layout: Row ── */
195 .bkbg-sts-layout--row .bkbg-sts-grid {
196 grid-template-columns: repeat(var(--bkbg-sts-cols), 1fr);
197 }
198
199 /* ── Layout: Grid ── */
200 .bkbg-sts-layout--grid .bkbg-sts-grid {
201 grid-template-columns: repeat(var(--bkbg-sts-cols), 1fr);
202 }
203
204 /* ── Layout: Centered ── */
205 .bkbg-sts-layout--centered .bkbg-sts-grid {
206 justify-items: center;
207 max-width: 800px;
208 margin: 0 auto;
209 }
210
211 .bkbg-sts-layout--centered .bkbg-sts-item {
212 max-width: 200px;
213 width: 100%;
214 }
215
216 /* ── Typography responsive — tablet ── */
217 @media (max-width: 1024px) {
218 .bkbg-sts-header h2.bkbg-sts-title { font-size: var(--bksts-tt-font-size-t, var(--bksts-tt-font-size-d, clamp(24px, 3vw, 36px))); line-height: var(--bksts-tt-line-height-t, var(--bksts-tt-line-height-d, 1.2)); letter-spacing: var(--bksts-tt-letter-spacing-t, var(--bksts-tt-letter-spacing-d, normal)); word-spacing: var(--bksts-tt-word-spacing-t, var(--bksts-tt-word-spacing-d, normal)); }
219 .bkbg-sts-subtitle { font-size: var(--bksts-st-font-size-t, var(--bksts-st-font-size-d, 16px)); line-height: var(--bksts-st-line-height-t, var(--bksts-st-line-height-d, 1.6)); letter-spacing: var(--bksts-st-letter-spacing-t, var(--bksts-st-letter-spacing-d, normal)); word-spacing: var(--bksts-st-word-spacing-t, var(--bksts-st-word-spacing-d, normal)); }
220 .bkbg-sts-number { font-size: var(--bksts-nm-font-size-t, var(--bksts-nm-font-size-d, var(--bkbg-sts-num-size))); line-height: var(--bksts-nm-line-height-t, var(--bksts-nm-line-height-d, 1)); letter-spacing: var(--bksts-nm-letter-spacing-t, var(--bksts-nm-letter-spacing-d, normal)); word-spacing: var(--bksts-nm-word-spacing-t, var(--bksts-nm-word-spacing-d, normal)); }
221 .bkbg-sts-label { font-size: var(--bksts-lb-font-size-t, var(--bksts-lb-font-size-d, var(--bkbg-sts-label-size))); line-height: var(--bksts-lb-line-height-t, var(--bksts-lb-line-height-d, 1.3)); letter-spacing: var(--bksts-lb-letter-spacing-t, var(--bksts-lb-letter-spacing-d, normal)); word-spacing: var(--bksts-lb-word-spacing-t, var(--bksts-lb-word-spacing-d, normal)); }
222 .bkbg-sts-desc { font-size: var(--bksts-ds-font-size-t, var(--bksts-ds-font-size-d, var(--bkbg-sts-desc-size))); line-height: var(--bksts-ds-line-height-t, var(--bksts-ds-line-height-d, 1.5)); letter-spacing: var(--bksts-ds-letter-spacing-t, var(--bksts-ds-letter-spacing-d, normal)); word-spacing: var(--bksts-ds-word-spacing-t, var(--bksts-ds-word-spacing-d, normal)); }
223 }
224 /* ── Typography responsive — mobile ── */
225 @media (max-width: 767px) {
226 .bkbg-sts-header h2.bkbg-sts-title { font-size: var(--bksts-tt-font-size-m, var(--bksts-tt-font-size-t, var(--bksts-tt-font-size-d, clamp(24px, 3vw, 36px)))); line-height: var(--bksts-tt-line-height-m, var(--bksts-tt-line-height-t, var(--bksts-tt-line-height-d, 1.2))); letter-spacing: var(--bksts-tt-letter-spacing-m, var(--bksts-tt-letter-spacing-t, var(--bksts-tt-letter-spacing-d, normal))); word-spacing: var(--bksts-tt-word-spacing-m, var(--bksts-tt-word-spacing-t, var(--bksts-tt-word-spacing-d, normal))); }
227 .bkbg-sts-subtitle { font-size: var(--bksts-st-font-size-m, var(--bksts-st-font-size-t, var(--bksts-st-font-size-d, 16px))); line-height: var(--bksts-st-line-height-m, var(--bksts-st-line-height-t, var(--bksts-st-line-height-d, 1.6))); letter-spacing: var(--bksts-st-letter-spacing-m, var(--bksts-st-letter-spacing-t, var(--bksts-st-letter-spacing-d, normal))); word-spacing: var(--bksts-st-word-spacing-m, var(--bksts-st-word-spacing-t, var(--bksts-st-word-spacing-d, normal))); }
228 .bkbg-sts-number { font-size: var(--bksts-nm-font-size-m, var(--bksts-nm-font-size-t, var(--bksts-nm-font-size-d, var(--bkbg-sts-num-size)))); line-height: var(--bksts-nm-line-height-m, var(--bksts-nm-line-height-t, var(--bksts-nm-line-height-d, 1))); letter-spacing: var(--bksts-nm-letter-spacing-m, var(--bksts-nm-letter-spacing-t, var(--bksts-nm-letter-spacing-d, normal))); word-spacing: var(--bksts-nm-word-spacing-m, var(--bksts-nm-word-spacing-t, var(--bksts-nm-word-spacing-d, normal))); }
229 .bkbg-sts-label { font-size: var(--bksts-lb-font-size-m, var(--bksts-lb-font-size-t, var(--bksts-lb-font-size-d, var(--bkbg-sts-label-size)))); line-height: var(--bksts-lb-line-height-m, var(--bksts-lb-line-height-t, var(--bksts-lb-line-height-d, 1.3))); letter-spacing: var(--bksts-lb-letter-spacing-m, var(--bksts-lb-letter-spacing-t, var(--bksts-lb-letter-spacing-d, normal))); word-spacing: var(--bksts-lb-word-spacing-m, var(--bksts-lb-word-spacing-t, var(--bksts-lb-word-spacing-d, normal))); }
230 .bkbg-sts-desc { font-size: var(--bksts-ds-font-size-m, var(--bksts-ds-font-size-t, var(--bksts-ds-font-size-d, var(--bkbg-sts-desc-size)))); line-height: var(--bksts-ds-line-height-m, var(--bksts-ds-line-height-t, var(--bksts-ds-line-height-d, 1.5))); letter-spacing: var(--bksts-ds-letter-spacing-m, var(--bksts-ds-letter-spacing-t, var(--bksts-ds-letter-spacing-d, normal))); word-spacing: var(--bksts-ds-word-spacing-m, var(--bksts-ds-word-spacing-t, var(--bksts-ds-word-spacing-d, normal))); }
231 }
232
233 /* ── Responsive ── */
234 @media (max-width: 900px) {
235 .bkbg-sts-grid {
236 grid-template-columns: repeat(min(var(--bkbg-sts-cols), 2), 1fr);
237 }
238
239 .bkbg-sts-dividers .bkbg-sts-item::after {
240 display: none;
241 }
242 }
243
244 @media (max-width: 580px) {
245 .bkbg-sts-grid {
246 grid-template-columns: 1fr 1fr;
247 }
248
249 .bkbg-sts-wrap {
250 --bkbg-sts-num-size: 36px;
251 }
252 }
253
254 @media (max-width: 380px) {
255 .bkbg-sts-grid {
256 grid-template-columns: 1fr;
257 }
258 }
259