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 / business-hours / style.css

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

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