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 / booking-form / style.css

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

368 lines 11.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* === Booking Form === */
2 .bkbg-bf-app {
3 --bf-accent: #6366f1;
4 --bf-btn-bg: #6366f1;
5 --bf-btn-clr: #ffffff;
6 --bf-form-bg: #ffffff;
7 --bf-form-border: #e2e8f0;
8 --bf-cal-bg: #f8fafc;
9 --bf-cal-header: #6366f1;
10 --bf-cal-header-clr: #ffffff;
11 --bf-sel-day: #6366f1;
12 --bf-sel-day-clr: #ffffff;
13 --bf-slot-bg: #f1f5f9;
14 --bf-slot-sel: #6366f1;
15 --bf-slot-sel-clr: #ffffff;
16 --bf-input-bg: #f8fafc;
17 --bf-input-border: #e2e8f0;
18 --bf-text: #0f172a;
19 --bf-muted: #64748b;
20 display: block;
21 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
22 }
23
24 .bkbg-bf-wrap {
25 max-width: var(--bf-width, 600px);
26 margin: 0 auto;
27 padding: 20px;
28 }
29
30 /* Form card */
31 .bkbg-bf-card {
32 background: var(--bf-form-bg);
33 border: 1px solid var(--bf-form-border);
34 box-shadow: 0 4px 24px rgba(0,0,0,0.06);
35 overflow: hidden;
36 }
37
38 /* Header */
39 .bkbg-bf-header {
40 padding: 28px 28px 0;
41 }
42 .bkbg-bf-title,
43 .bkbg-bfm-title {
44 color: var(--bf-text);
45 margin: 0 0 6px;
46 font-family: var(--bkbg-bfm-title-font-family, inherit);
47 font-weight: var(--bkbg-bfm-title-font-weight, 700);
48 font-style: var(--bkbg-bfm-title-font-style, normal);
49 text-transform: var(--bkbg-bfm-title-text-transform, none);
50 text-decoration: var(--bkbg-bfm-title-text-decoration, none);
51 font-size: var(--bkbg-bfm-title-font-size-d, 22px);
52 line-height: var(--bkbg-bfm-title-line-height-d, 1.3);
53 letter-spacing: var(--bkbg-bfm-title-letter-spacing-d, normal);
54 word-spacing: var(--bkbg-bfm-title-word-spacing-d, normal);
55 }
56 .bkbg-bf-subtitle,
57 .bkbg-bfm-subtitle {
58 color: var(--bf-muted);
59 margin: 0 0 20px;
60 font-family: var(--bkbg-bfm-sub-font-family, inherit);
61 font-weight: var(--bkbg-bfm-sub-font-weight, 400);
62 font-style: var(--bkbg-bfm-sub-font-style, normal);
63 text-transform: var(--bkbg-bfm-sub-text-transform, none);
64 text-decoration: var(--bkbg-bfm-sub-text-decoration, none);
65 font-size: var(--bkbg-bfm-sub-font-size-d, 14px);
66 line-height: var(--bkbg-bfm-sub-line-height-d, 1.5);
67 letter-spacing: var(--bkbg-bfm-sub-letter-spacing-d, normal);
68 word-spacing: var(--bkbg-bfm-sub-word-spacing-d, normal);
69 }
70
71 /* Steps indicator */
72 .bkbg-bf-steps {
73 display: flex;
74 align-items: center;
75 gap: 0;
76 margin-bottom: 24px;
77 padding: 0 28px;
78 }
79 .bkbg-bf-step {
80 display: flex;
81 align-items: center;
82 gap: 8px;
83 font-size: 13px;
84 font-weight: 600;
85 color: var(--bf-muted);
86 flex: 1;
87 position: relative;
88 }
89 .bkbg-bf-step::after {
90 content: '';
91 flex: 1;
92 height: 2px;
93 background: var(--bf-form-border);
94 margin-left: 8px;
95 }
96 .bkbg-bf-step:last-child::after { display: none; }
97 .bkbg-bf-step-num {
98 width: 26px;
99 height: 26px;
100 border-radius: 50%;
101 background: var(--bf-form-border);
102 color: var(--bf-muted);
103 display: flex;
104 align-items: center;
105 justify-content: center;
106 font-size: 12px;
107 font-weight: 700;
108 flex-shrink: 0;
109 transition: background 0.2s, color 0.2s;
110 }
111 .bkbg-bf-step.bkbg-bf-step-active .bkbg-bf-step-num {
112 background: var(--bf-accent);
113 color: #fff;
114 }
115 .bkbg-bf-step.bkbg-bf-step-active {
116 color: var(--bf-text);
117 }
118 .bkbg-bf-step.bkbg-bf-step-done .bkbg-bf-step-num {
119 background: #10b981;
120 color: #fff;
121 }
122 .bkbg-bf-step.bkbg-bf-step-done::after { background: #10b981; }
123
124 /* Content area */
125 .bkbg-bf-content { padding: 0 28px 28px; }
126
127 /* Sections */
128 .bkbg-bf-section { display: none; }
129 .bkbg-bf-section.bkbg-bf-section-active { display: block; }
130
131 /* Service selector */
132 .bkbg-bf-service-grid {
133 display: flex;
134 flex-direction: column;
135 gap: 10px;
136 margin-bottom: 20px;
137 }
138 .bkbg-bf-service-option {
139 border: 2px solid var(--bf-input-border);
140 border-radius: var(--bf-input-radius, 10px);
141 padding: 14px 16px;
142 cursor: pointer;
143 display: flex;
144 align-items: center;
145 justify-content: space-between;
146 transition: border-color 0.2s, background 0.2s;
147 }
148 .bkbg-bf-service-option:hover { border-color: var(--bf-accent); }
149 .bkbg-bf-service-option.bkbg-bf-selected {
150 border-color: var(--bf-accent);
151 background: color-mix(in srgb, var(--bf-accent) 6%, transparent);
152 }
153 .bkbg-bf-svc-name { font-weight: 600; font-size: 15px; color: var(--bf-text); }
154 .bkbg-bf-svc-meta { font-size: 13px; color: var(--bf-muted); margin-top: 2px; }
155 .bkbg-bf-svc-price { font-weight: 700; font-size: 15px; color: var(--bf-accent); }
156
157 /* Calendar */
158 .bkbg-bf-calendar {
159 background: var(--bf-cal-bg);
160 border-radius: var(--bf-cal-radius, 12px);
161 overflow: hidden;
162 margin-bottom: 20px;
163 }
164 .bkbg-bf-cal-header {
165 background: var(--bf-cal-header);
166 color: var(--bf-cal-header-clr);
167 display: flex;
168 align-items: center;
169 justify-content: space-between;
170 padding: 14px 20px;
171 }
172 .bkbg-bf-cal-nav {
173 background: rgba(255,255,255,0.2);
174 border: none;
175 color: inherit;
176 font-size: 18px;
177 cursor: pointer;
178 padding: 4px 10px;
179 border-radius: 6px;
180 line-height: 1;
181 transition: background 0.15s;
182 }
183 .bkbg-bf-cal-nav:hover { background: rgba(255,255,255,0.35); }
184 .bkbg-bf-cal-month { font-weight: 700; font-size: 15px; }
185 .bkbg-bf-cal-days-header, .bkbg-bf-cal-grid {
186 display: grid;
187 grid-template-columns: repeat(7, 1fr);
188 gap: 2px;
189 padding: 8px 12px;
190 }
191 .bkbg-bf-cal-day-name {
192 text-align: center;
193 font-size: 11px;
194 font-weight: 700;
195 color: var(--bf-muted);
196 padding: 4px 0;
197 }
198 .bkbg-bf-cal-day {
199 text-align: center;
200 padding: 9px 4px;
201 border-radius: 8px;
202 font-size: 13px;
203 font-weight: 500;
204 cursor: pointer;
205 color: var(--bf-text);
206 transition: background 0.15s, color 0.15s;
207 user-select: none;
208 }
209 .bkbg-bf-cal-day:hover:not(.bkbg-bf-blocked):not(.bkbg-bf-past) { background: rgba(99,102,241,0.1); }
210 .bkbg-bf-cal-day.bkbg-bf-selected { background: var(--bf-sel-day); color: var(--bf-sel-day-clr); }
211 .bkbg-bf-cal-day.bkbg-bf-today { font-weight: 800; }
212 .bkbg-bf-cal-day.bkbg-bf-blocked,
213 .bkbg-bf-cal-day.bkbg-bf-past { color: #cbd5e1; cursor: default; pointer-events: none; }
214 .bkbg-bf-cal-day.bkbg-bf-empty { pointer-events: none; }
215
216 /* Time slots */
217 .bkbg-bf-slots-label { font-size: 14px; font-weight: 700; color: var(--bf-text); margin: 0 0 12px; }
218 .bkbg-bf-slots-grid {
219 display: flex;
220 flex-wrap: wrap;
221 gap: 8px;
222 margin-bottom: 20px;
223 }
224 .bkbg-bf-slot {
225 padding: 8px 16px;
226 border-radius: var(--bf-input-radius, 10px);
227 background: var(--bf-slot-bg);
228 color: var(--bf-text);
229 font-size: 13px;
230 font-weight: 600;
231 cursor: pointer;
232 border: 2px solid transparent;
233 transition: border-color 0.15s, background 0.15s, color 0.15s;
234 user-select: none;
235 }
236 .bkbg-bf-slot:hover { border-color: var(--bf-accent); }
237 .bkbg-bf-slot.bkbg-bf-slot-selected { background: var(--bf-slot-sel); color: var(--bf-slot-sel-clr); border-color: var(--bf-slot-sel); }
238
239 /* No slots */
240 .bkbg-bf-no-slots { font-size: 13px; color: var(--bf-muted); padding: 12px 0; }
241
242 /* Form inputs */
243 .bkbg-bf-group { margin-bottom: 14px; }
244 .bkbg-bf-label { display: block; font-size: 13px; font-weight: 600; color: var(--bf-text); margin-bottom: 6px; }
245 .bkbg-bf-input, .bkbg-bf-textarea, .bkbg-bf-select {
246 width: 100%;
247 padding: 11px 13px;
248 border: 1px solid var(--bf-input-border);
249 background: var(--bf-input-bg);
250 color: var(--bf-text);
251 font-size: 14px;
252 font-family: inherit;
253 box-sizing: border-box;
254 outline: none;
255 transition: border-color 0.2s, box-shadow 0.2s;
256 }
257 .bkbg-bf-input::placeholder, .bkbg-bf-textarea::placeholder { color: var(--bf-muted); }
258 .bkbg-bf-input:focus, .bkbg-bf-textarea:focus, .bkbg-bf-select:focus {
259 border-color: var(--bf-accent);
260 box-shadow: 0 0 0 3px color-mix(in srgb, var(--bf-accent) 15%, transparent);
261 }
262 .bkbg-bf-textarea { resize: vertical; min-height: 80px; }
263
264 /* Summary box */
265 .bkbg-bf-summary {
266 background: var(--bf-cal-bg);
267 border-radius: 10px;
268 padding: 16px;
269 margin-bottom: 20px;
270 font-size: 14px;
271 color: var(--bf-text);
272 }
273 .bkbg-bf-summary-row { display: flex; justify-content: space-between; padding: 5px 0; border-bottom: 1px solid var(--bf-form-border); }
274 .bkbg-bf-summary-row:last-child { border-bottom: none; font-weight: 700; }
275 .bkbg-bf-summary-label { color: var(--bf-muted); }
276
277 /* Navigation buttons */
278 .bkbg-bf-nav-btns {
279 display: flex;
280 gap: 12px;
281 margin-top: 8px;
282 }
283 .bkbg-bf-btn-primary {
284 flex: 1;
285 padding: 13px;
286 background: var(--bf-btn-bg);
287 color: var(--bf-btn-clr);
288 border: none;
289 font-family: inherit;
290 font-size: 15px;
291 font-weight: 700;
292 cursor: pointer;
293 transition: opacity 0.2s;
294 }
295 .bkbg-bf-btn-primary:hover { opacity: 0.88; }
296 .bkbg-bf-btn-primary:disabled { opacity: 0.45; cursor: not-allowed; }
297 .bkbg-bf-btn-secondary {
298 padding: 13px 20px;
299 background: var(--bf-cal-bg);
300 color: var(--bf-text);
301 border: 1px solid var(--bf-input-border);
302 font-family: inherit;
303 font-size: 14px;
304 font-weight: 600;
305 cursor: pointer;
306 transition: background 0.2s;
307 }
308 .bkbg-bf-btn-secondary:hover { background: var(--bf-form-border); }
309
310 /* ── Confirmation ── */
311 .bkbg-bf-success {
312 text-align: center;
313 padding: 40px 28px;
314 }
315 .bkbg-bf-success-icon { font-size: 56px; margin-bottom: 16px; }
316 .bkbg-bf-success-title { font-size: 22px; font-weight: 700; color: var(--bf-text); margin: 0 0 8px; }
317 .bkbg-bf-success-msg { font-size: 15px; color: var(--bf-muted); margin: 0 0 24px; line-height: 1.6; }
318 .bkbg-bf-success-detail {
319 background: var(--bf-cal-bg);
320 border-radius: 10px;
321 padding: 16px;
322 font-size: 14px;
323 color: var(--bf-text);
324 margin-bottom: 20px;
325 text-align: left;
326 }
327 .bkbg-bf-success-detail strong { color: var(--bf-accent); }
328
329 /* === Typography responsive === */
330 @media (max-width: 1024px) {
331 .bkbg-bf-title,
332 .bkbg-bfm-title {
333 font-size: var(--bkbg-bfm-title-font-size-t, var(--bkbg-bfm-title-font-size-d, 22px));
334 line-height: var(--bkbg-bfm-title-line-height-t, var(--bkbg-bfm-title-line-height-d, 1.3));
335 letter-spacing: var(--bkbg-bfm-title-letter-spacing-t, var(--bkbg-bfm-title-letter-spacing-d, normal));
336 word-spacing: var(--bkbg-bfm-title-word-spacing-t, var(--bkbg-bfm-title-word-spacing-d, normal));
337 }
338 .bkbg-bf-subtitle,
339 .bkbg-bfm-subtitle {
340 font-size: var(--bkbg-bfm-sub-font-size-t, var(--bkbg-bfm-sub-font-size-d, 14px));
341 line-height: var(--bkbg-bfm-sub-line-height-t, var(--bkbg-bfm-sub-line-height-d, 1.5));
342 letter-spacing: var(--bkbg-bfm-sub-letter-spacing-t, var(--bkbg-bfm-sub-letter-spacing-d, normal));
343 word-spacing: var(--bkbg-bfm-sub-word-spacing-t, var(--bkbg-bfm-sub-word-spacing-d, normal));
344 }
345 }
346
347 @media (max-width: 767px) {
348 .bkbg-bf-title,
349 .bkbg-bfm-title {
350 font-size: var(--bkbg-bfm-title-font-size-m, var(--bkbg-bfm-title-font-size-t, var(--bkbg-bfm-title-font-size-d, 22px)));
351 line-height: var(--bkbg-bfm-title-line-height-m, var(--bkbg-bfm-title-line-height-t, var(--bkbg-bfm-title-line-height-d, 1.3)));
352 letter-spacing: var(--bkbg-bfm-title-letter-spacing-m, var(--bkbg-bfm-title-letter-spacing-t, var(--bkbg-bfm-title-letter-spacing-d, normal)));
353 word-spacing: var(--bkbg-bfm-title-word-spacing-m, var(--bkbg-bfm-title-word-spacing-t, var(--bkbg-bfm-title-word-spacing-d, normal)));
354 }
355 .bkbg-bf-subtitle,
356 .bkbg-bfm-subtitle {
357 font-size: var(--bkbg-bfm-sub-font-size-m, var(--bkbg-bfm-sub-font-size-t, var(--bkbg-bfm-sub-font-size-d, 14px)));
358 line-height: var(--bkbg-bfm-sub-line-height-m, var(--bkbg-bfm-sub-line-height-t, var(--bkbg-bfm-sub-line-height-d, 1.5)));
359 letter-spacing: var(--bkbg-bfm-sub-letter-spacing-m, var(--bkbg-bfm-sub-letter-spacing-t, var(--bkbg-bfm-sub-letter-spacing-d, normal)));
360 word-spacing: var(--bkbg-bfm-sub-word-spacing-m, var(--bkbg-bfm-sub-word-spacing-t, var(--bkbg-bfm-sub-word-spacing-d, normal)));
361 }
362 }
363
364 @media (max-width: 480px) {
365 .bkbg-bf-card { border-left: none; border-right: none; border-radius: 0 !important; }
366 .bkbg-bf-wrap { padding: 0; }
367 }
368