PluginProbe
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor / 2.0.7
Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor v2.0.7
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 / business-hours / style.css

style.css in Blockenberg — 600+ Advanced Gutenberg Blocks & AI Agent for WordPress Block Editor 2.0.7, at blocks/business-hours/style.css

417 lines 12.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* ========================================
2 Business Hours Block Styles
3 Prefix: bkbg-bh-
4 ======================================== */
5
6 .bkbg-bh-wrap {
7 --bkbg-bh-day-bg: #ffffff;
8 --bkbg-bh-day-color: #1e293b;
9 --bkbg-bh-time-color: #64748b;
10 --bkbg-bh-today-bg: #f0f9ff;
11 --bkbg-bh-today-color: #0369a1;
12 --bkbg-bh-open-color: #22c55e;
13 --bkbg-bh-closed-color: #ef4444;
14 --bkbg-bh-divider-color: #e2e8f0;
15 --bkbg-bh-radius: 8px;
16 --bkbg-bh-padding: 16px;
17 --bkbg-bh-gap: 12px;
18 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
19 background: var(--bkbg-bh-day-bg);
20 border-radius: var(--bkbg-bh-radius);
21 padding: var(--bkbg-bh-padding);
22 max-width: 420px;
23 }
24
25 /* Title */
26 .bkbg-bh-title {
27 color: var(--bkbg-bh-day-color);
28 margin-bottom: var(--bkbg-bh-gap);
29 font-family: var(--bkbg-bh-title-font-family, inherit);
30 font-weight: var(--bkbg-bh-title-font-weight, 600);
31 font-style: var(--bkbg-bh-title-font-style, normal);
32 text-transform: var(--bkbg-bh-title-text-transform, none);
33 text-decoration: var(--bkbg-bh-title-text-decoration, none);
34 font-size: var(--bkbg-bh-title-font-size-d, 20px);
35 line-height: var(--bkbg-bh-title-line-height-d, 1.3);
36 letter-spacing: var(--bkbg-bh-title-letter-spacing-d, normal);
37 word-spacing: var(--bkbg-bh-title-word-spacing-d, normal);
38 }
39
40 /* Status indicator */
41 .bkbg-bh-status {
42 display: inline-flex;
43 align-items: center;
44 gap: 8px;
45 padding: 8px 14px;
46 border-radius: 50px;
47 font-size: 14px;
48 font-weight: 500;
49 margin-bottom: var(--bkbg-bh-gap);
50 background: rgba(34, 197, 94, 0.1);
51 color: var(--bkbg-bh-open-color);
52 }
53
54 .bkbg-bh-status.is-closed {
55 background: rgba(239, 68, 68, 0.1);
56 color: var(--bkbg-bh-closed-color);
57 }
58
59 .bkbg-bh-status-dot {
60 width: 8px;
61 height: 8px;
62 border-radius: 50%;
63 background: currentColor;
64 animation: bkbg-bh-pulse 2s ease-in-out infinite;
65 }
66
67 @keyframes bkbg-bh-pulse {
68 0%, 100% { opacity: 1; transform: scale(1); }
69 50% { opacity: 0.6; transform: scale(1.1); }
70 }
71
72 .bkbg-bh-status.is-closed .bkbg-bh-status-dot {
73 animation: none;
74 }
75
76 /* List */
77 .bkbg-bh-list {
78 display: flex;
79 flex-direction: column;
80 gap: var(--bkbg-bh-gap);
81 }
82
83 /* Row */
84 .bkbg-bh-row {
85 display: flex;
86 justify-content: space-between;
87 align-items: center;
88 padding: calc(var(--bkbg-bh-gap) * 0.75) var(--bkbg-bh-padding);
89 margin: 0 calc(var(--bkbg-bh-padding) * -1);
90 border-radius: 6px;
91 transition: background 0.15s ease;
92 }
93
94 .bkbg-bh-row.is-today {
95 background: var(--bkbg-bh-today-bg);
96 }
97
98 /* Dividers */
99 [data-dividers="1"] .bkbg-bh-list {
100 gap: 0;
101 }
102
103 [data-dividers="1"] .bkbg-bh-row {
104 border-bottom: 1px solid var(--bkbg-bh-divider-color);
105 border-radius: 0;
106 padding-top: var(--bkbg-bh-gap);
107 padding-bottom: var(--bkbg-bh-gap);
108 }
109
110 [data-dividers="1"] .bkbg-bh-row:last-child {
111 border-bottom: none;
112 }
113
114 [data-dividers="1"] .bkbg-bh-row.is-today {
115 margin-left: calc(var(--bkbg-bh-padding) * -1);
116 margin-right: calc(var(--bkbg-bh-padding) * -1);
117 padding-left: var(--bkbg-bh-padding);
118 padding-right: var(--bkbg-bh-padding);
119 border-radius: 6px;
120 }
121
122 /* Day */
123 .bkbg-bh-day {
124 display: flex;
125 align-items: center;
126 gap: 8px;
127 }
128
129 .bkbg-bh-day-name {
130 color: var(--bkbg-bh-day-color);
131 font-family: var(--bkbg-bh-day-font-family, inherit);
132 font-weight: var(--bkbg-bh-day-font-weight, 500);
133 font-style: var(--bkbg-bh-day-font-style, normal);
134 text-transform: var(--bkbg-bh-day-text-transform, none);
135 text-decoration: var(--bkbg-bh-day-text-decoration, none);
136 font-size: var(--bkbg-bh-day-font-size-d, 15px);
137 line-height: var(--bkbg-bh-day-line-height-d, 1.4);
138 letter-spacing: var(--bkbg-bh-day-letter-spacing-d, normal);
139 word-spacing: var(--bkbg-bh-day-word-spacing-d, normal);
140 }
141
142 .bkbg-bh-row.is-today .bkbg-bh-day-name {
143 color: var(--bkbg-bh-today-color);
144 }
145
146 .bkbg-bh-today-badge {
147 font-size: 10px;
148 font-weight: 600;
149 text-transform: uppercase;
150 letter-spacing: 0.5px;
151 padding: 2px 6px;
152 border-radius: 4px;
153 background: var(--bkbg-bh-today-color);
154 color: white;
155 }
156
157 /* Time */
158 .bkbg-bh-time {
159 color: var(--bkbg-bh-time-color);
160 font-family: var(--bkbg-bh-time-font-family, inherit);
161 font-weight: var(--bkbg-bh-time-font-weight, 400);
162 font-style: var(--bkbg-bh-time-font-style, normal);
163 text-transform: var(--bkbg-bh-time-text-transform, none);
164 text-decoration: var(--bkbg-bh-time-text-decoration, none);
165 font-size: var(--bkbg-bh-time-font-size-d, 15px);
166 line-height: var(--bkbg-bh-time-line-height-d, 1.4);
167 letter-spacing: var(--bkbg-bh-time-letter-spacing-d, normal);
168 word-spacing: var(--bkbg-bh-time-word-spacing-d, normal);
169 }
170
171 .bkbg-bh-row.is-today .bkbg-bh-time {
172 color: var(--bkbg-bh-today-color);
173 font-weight: 500;
174 }
175
176 .bkbg-bh-closed-text {
177 color: var(--bkbg-bh-closed-color);
178 font-weight: 500;
179 }
180
181 /* Layout: Cards */
182 [data-layout="cards"] {
183 max-width: 600px;
184 }
185
186 [data-layout="cards"] .bkbg-bh-list {
187 display: grid;
188 grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
189 gap: var(--bkbg-bh-gap);
190 }
191
192 [data-layout="cards"] .bkbg-bh-row {
193 flex-direction: column;
194 align-items: center;
195 text-align: center;
196 padding: var(--bkbg-bh-padding);
197 margin: 0;
198 background: var(--bkbg-bh-day-bg);
199 border: 1px solid var(--bkbg-bh-divider-color);
200 border-radius: var(--bkbg-bh-radius);
201 gap: 8px;
202 }
203
204 [data-layout="cards"] .bkbg-bh-row.is-today {
205 border-color: var(--bkbg-bh-today-color);
206 background: var(--bkbg-bh-today-bg);
207 }
208
209 [data-layout="cards"] .bkbg-bh-day {
210 flex-direction: column;
211 }
212
213 [data-layout="cards"][data-dividers="1"] .bkbg-bh-row {
214 border-bottom: 1px solid var(--bkbg-bh-divider-color);
215 }
216
217 /* ========================================
218 Editor Styles - Click to Edit (WYSIWYG)
219 ======================================== */
220
221 /* Clickable elements - look like text but have hover hint */
222 .bkbg-bh-clickable {
223 cursor: pointer;
224 border-radius: 4px;
225 transition: background 0.15s, box-shadow 0.15s;
226 }
227
228 .bkbg-bh-clickable:hover {
229 background: rgba(0, 124, 186, 0.08);
230 box-shadow: 0 0 0 3px rgba(0, 124, 186, 0.08);
231 }
232
233 /* Active input when editing */
234 .bkbg-bh-input-active {
235 background: transparent;
236 border: 1px solid #007cba;
237 border-radius: 4px;
238 padding: 4px 8px;
239 margin: -5px -9px;
240 font: inherit;
241 color: inherit;
242 outline: none;
243 width: auto;
244 box-shadow: 0 0 0 2px rgba(0, 124, 186, 0.2);
245 }
246
247 /* Title input */
248 input.bkbg-bh-title.bkbg-bh-input-active {
249 display: block;
250 width: calc(100% + 18px);
251 font: inherit;
252 text-transform: inherit;
253 font-style: inherit;
254 text-decoration: inherit;
255 letter-spacing: inherit;
256 word-spacing: inherit;
257 color: var(--bkbg-bh-day-color);
258 margin-bottom: calc(var(--bkbg-bh-gap) - 5px);
259 }
260
261 /* Day name input */
262 input.bkbg-bh-day-name.bkbg-bh-input-active {
263 font: inherit;
264 text-transform: inherit;
265 font-style: inherit;
266 text-decoration: inherit;
267 letter-spacing: inherit;
268 word-spacing: inherit;
269 color: var(--bkbg-bh-day-color);
270 width: 100px;
271 }
272
273 /* Time editing popup */
274 .bkbg-bh-time-editing {
275 display: flex;
276 align-items: center;
277 gap: 12px;
278 background: #fff;
279 border: 1px solid #007cba;
280 border-radius: 6px;
281 padding: 8px 12px;
282 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
283 }
284
285 .bkbg-bh-closed-check {
286 display: flex;
287 align-items: center;
288 gap: 4px;
289 cursor: pointer;
290 font-size: 13px;
291 color: var(--bkbg-bh-time-color);
292 }
293
294 .bkbg-bh-closed-check input[type="checkbox"] {
295 width: 14px;
296 height: 14px;
297 cursor: pointer;
298 accent-color: var(--bkbg-bh-closed-color);
299 }
300
301 .bkbg-bh-time-inputs {
302 display: flex;
303 align-items: center;
304 gap: 6px;
305 }
306
307 .bkbg-bh-time-inputs input[type="time"] {
308 font-size: 14px;
309 padding: 4px 6px;
310 border: 1px solid #ddd;
311 border-radius: 4px;
312 }
313
314 .bkbg-bh-time-inputs span {
315 color: var(--bkbg-bh-time-color);
316 }
317
318 .bkbg-bh-done-btn {
319 background: #007cba;
320 color: white;
321 border: none;
322 border-radius: 4px;
323 width: 28px;
324 height: 28px;
325 cursor: pointer;
326 font-size: 14px;
327 display: flex;
328 align-items: center;
329 justify-content: center;
330 }
331
332 .bkbg-bh-done-btn:hover {
333 background: #005a87;
334 }
335
336 /* Time text with closed state */
337 .bkbg-bh-time.is-closed {
338 color: var(--bkbg-bh-closed-color);
339 font-weight: 500;
340 }
341
342 /* Cards layout adjustments for editing */
343 [data-layout="cards"] .bkbg-bh-time-editing {
344 flex-direction: column;
345 gap: 8px;
346 position: absolute;
347 z-index: 10;
348 left: 50%;
349 transform: translateX(-50%);
350 top: calc(100% + 4px);
351 white-space: nowrap;
352 }
353
354 [data-layout="cards"] .bkbg-bh-row {
355 position: relative;
356 }
357
358 /* Responsive */
359 @media (max-width: 480px) {
360 .bkbg-bh-wrap {
361 padding: 12px;
362 }
363
364 .bkbg-bh-row {
365 flex-direction: column;
366 align-items: flex-start;
367 gap: 4px;
368 }
369
370 [data-layout="cards"] .bkbg-bh-list {
371 grid-template-columns: repeat(2, 1fr);
372 }
373 }
374
375 /* === Typography responsive === */
376 @media (max-width: 1024px) {
377 .bkbg-bh-title {
378 font-size: var(--bkbg-bh-title-font-size-t, var(--bkbg-bh-title-font-size-d, 20px));
379 line-height: var(--bkbg-bh-title-line-height-t, var(--bkbg-bh-title-line-height-d, 1.3));
380 letter-spacing: var(--bkbg-bh-title-letter-spacing-t, var(--bkbg-bh-title-letter-spacing-d, normal));
381 word-spacing: var(--bkbg-bh-title-word-spacing-t, var(--bkbg-bh-title-word-spacing-d, normal));
382 }
383 .bkbg-bh-day-name {
384 font-size: var(--bkbg-bh-day-font-size-t, var(--bkbg-bh-day-font-size-d, 15px));
385 line-height: var(--bkbg-bh-day-line-height-t, var(--bkbg-bh-day-line-height-d, 1.4));
386 letter-spacing: var(--bkbg-bh-day-letter-spacing-t, var(--bkbg-bh-day-letter-spacing-d, normal));
387 word-spacing: var(--bkbg-bh-day-word-spacing-t, var(--bkbg-bh-day-word-spacing-d, normal));
388 }
389 .bkbg-bh-time {
390 font-size: var(--bkbg-bh-time-font-size-t, var(--bkbg-bh-time-font-size-d, 15px));
391 line-height: var(--bkbg-bh-time-line-height-t, var(--bkbg-bh-time-line-height-d, 1.4));
392 letter-spacing: var(--bkbg-bh-time-letter-spacing-t, var(--bkbg-bh-time-letter-spacing-d, normal));
393 word-spacing: var(--bkbg-bh-time-word-spacing-t, var(--bkbg-bh-time-word-spacing-d, normal));
394 }
395 }
396
397 @media (max-width: 767px) {
398 .bkbg-bh-title {
399 font-size: var(--bkbg-bh-title-font-size-m, var(--bkbg-bh-title-font-size-t, var(--bkbg-bh-title-font-size-d, 20px)));
400 line-height: var(--bkbg-bh-title-line-height-m, var(--bkbg-bh-title-line-height-t, var(--bkbg-bh-title-line-height-d, 1.3)));
401 letter-spacing: var(--bkbg-bh-title-letter-spacing-m, var(--bkbg-bh-title-letter-spacing-t, var(--bkbg-bh-title-letter-spacing-d, normal)));
402 word-spacing: var(--bkbg-bh-title-word-spacing-m, var(--bkbg-bh-title-word-spacing-t, var(--bkbg-bh-title-word-spacing-d, normal)));
403 }
404 .bkbg-bh-day-name {
405 font-size: var(--bkbg-bh-day-font-size-m, var(--bkbg-bh-day-font-size-t, var(--bkbg-bh-day-font-size-d, 15px)));
406 line-height: var(--bkbg-bh-day-line-height-m, var(--bkbg-bh-day-line-height-t, var(--bkbg-bh-day-line-height-d, 1.4)));
407 letter-spacing: var(--bkbg-bh-day-letter-spacing-m, var(--bkbg-bh-day-letter-spacing-t, var(--bkbg-bh-day-letter-spacing-d, normal)));
408 word-spacing: var(--bkbg-bh-day-word-spacing-m, var(--bkbg-bh-day-word-spacing-t, var(--bkbg-bh-day-word-spacing-d, normal)));
409 }
410 .bkbg-bh-time {
411 font-size: var(--bkbg-bh-time-font-size-m, var(--bkbg-bh-time-font-size-t, var(--bkbg-bh-time-font-size-d, 15px)));
412 line-height: var(--bkbg-bh-time-line-height-m, var(--bkbg-bh-time-line-height-t, var(--bkbg-bh-time-line-height-d, 1.4)));
413 letter-spacing: var(--bkbg-bh-time-letter-spacing-m, var(--bkbg-bh-time-letter-spacing-t, var(--bkbg-bh-time-letter-spacing-d, normal)));
414 word-spacing: var(--bkbg-bh-time-word-spacing-m, var(--bkbg-bh-time-word-spacing-t, var(--bkbg-bh-time-word-spacing-d, normal)));
415 }
416 }
417