medos-sdk 1.1.12 → 1.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1291 @@
1
+ /* Medos Appointment Calendar Widget Styles - Theme-enabled */
2
+
3
+ /* Default Theme Variables */
4
+ :root {
5
+ /* Colors */
6
+ --medos-color-primary: #27903f;
7
+ --medos-color-primary-dark: #1e7032;
8
+ --medos-color-primary-hover: #1e7032;
9
+ --medos-color-background: #ffffff;
10
+ --medos-color-background-secondary: #f9fafb;
11
+ --medos-color-surface: #ffffff;
12
+ --medos-color-surface-hover: #f9fafb;
13
+ --medos-color-text: #111827;
14
+ --medos-color-text-secondary: #374151;
15
+ --medos-color-text-muted: #9ca3af;
16
+ --medos-color-text-on-primary: #ffffff;
17
+ --medos-color-border: #e5e7eb;
18
+ --medos-color-border-hover: #d1d5db;
19
+ --medos-color-border-focus: #27903f;
20
+ --medos-color-error: #ef4444;
21
+ --medos-color-error-background: #fee2e2;
22
+ --medos-color-error-border: #fca5a5;
23
+ --medos-color-success: #10b981;
24
+ --medos-color-success-background: #ecfdf5;
25
+
26
+ /* Typography */
27
+ --medos-typography-font-family: "Inter", system-ui, -apple-system, "Segoe UI",
28
+ Roboto, "Helvetica Neue", Arial, sans-serif;
29
+ --medos-typography-font-size-xs: 12px;
30
+ --medos-typography-font-size-sm: 14px;
31
+ --medos-typography-font-size-md: 16px;
32
+ --medos-typography-font-size-lg: 18px;
33
+ --medos-typography-font-size-xl: 20px;
34
+ --medos-typography-font-weight-normal: 400;
35
+ --medos-typography-font-weight-medium: 500;
36
+ --medos-typography-font-weight-semibold: 600;
37
+
38
+ /* Spacing */
39
+ --medos-spacing-xs: 4px;
40
+ --medos-spacing-sm: 8px;
41
+ --medos-spacing-md: 12px;
42
+ --medos-spacing-lg: 16px;
43
+ --medos-spacing-xl: 20px;
44
+ --medos-spacing-2xl: 24px;
45
+
46
+ /* Radius */
47
+ --medos-radius-sm: 4px;
48
+ --medos-radius-md: 8px;
49
+ --medos-radius-lg: 12px;
50
+ --medos-radius-full: 999px;
51
+
52
+ /* Shadows */
53
+ --medos-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
54
+ --medos-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
55
+ --medos-shadow-lg: 0 8px 24px rgba(16, 24, 40, 0.08);
56
+
57
+ /* Transitions */
58
+ --medos-transition-normal: 200ms ease-in-out;
59
+ }
60
+
61
+ /* Container & Card */
62
+ .medos-appointment-container {
63
+ display: flex;
64
+ justify-content: center;
65
+ padding: var(--medos-spacing-xl, 20px);
66
+ font-family: var(
67
+ --medos-typography-font-family,
68
+ "Inter",
69
+ system-ui,
70
+ -apple-system,
71
+ "Segoe UI",
72
+ Roboto,
73
+ "Helvetica Neue",
74
+ Arial
75
+ );
76
+ background: var(--medos-color-background, #f6f8fa);
77
+ }
78
+
79
+ .medos-appointment-card {
80
+ width: 100%;
81
+ max-width: 720px;
82
+ background: var(--medos-color-surface, #fff);
83
+ border-radius: var(--medos-radius-lg, 12px);
84
+ box-shadow: var(--medos-shadow-lg, 0 8px 24px rgba(16, 24, 40, 0.08));
85
+ padding: var(--medos-spacing-2xl, 24px);
86
+ box-sizing: border-box;
87
+ }
88
+
89
+ .medos-appointment-header {
90
+ display: flex;
91
+ align-items: center;
92
+ justify-content: space-between;
93
+ margin-bottom: var(--medos-spacing-lg, 16px);
94
+ }
95
+
96
+ .medos-appointment-title {
97
+ margin: 0;
98
+ font-size: var(--medos-typography-font-size-xl, 20px);
99
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
100
+ color: var(--medos-color-text, #111827);
101
+ }
102
+
103
+ .medos-appointment-stepper {
104
+ display: flex;
105
+ gap: var(--medos-spacing-sm, 8px);
106
+ align-items: center;
107
+ }
108
+
109
+ .medos-appointment-step-pill {
110
+ padding: 6px 10px;
111
+ border-radius: var(--medos-radius-full, 999px);
112
+ font-size: var(--medos-typography-font-size-xs, 12px);
113
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
114
+ background: var(--medos-color-background-secondary, #f9fafb);
115
+ color: var(--medos-color-text-secondary, #374151);
116
+ transition: var(--medos-transition-normal, 200ms);
117
+ }
118
+
119
+ .medos-appointment-step-pill.active {
120
+ background: var(--medos-color-primary, #27903f);
121
+ color: var(--medos-color-text-on-primary, #fff);
122
+ }
123
+
124
+ /* Sections & Labels */
125
+ .medos-appointment-section {
126
+ margin-top: var(--medos-spacing-md, 12px);
127
+ }
128
+
129
+ .medos-appointment-label {
130
+ display: block;
131
+ font-size: var(--medos-typography-font-size-xs, 13px);
132
+ margin-bottom: var(--medos-spacing-xs, 6px);
133
+ color: var(--medos-color-text-secondary, #374151);
134
+ font-weight: var(--medos-typography-font-weight-medium, 500);
135
+ }
136
+
137
+ /* Form Inputs */
138
+ .medos-appointment-input,
139
+ .medos-appointment-select,
140
+ .medos-appointment-textarea {
141
+ width: 100%;
142
+ padding: var(--medos-spacing-sm, 10px) var(--medos-spacing-md, 12px);
143
+ border-radius: var(--medos-radius-md, 8px);
144
+ border: 1px solid var(--medos-color-border, #e5e7eb);
145
+ outline: none;
146
+ font-size: var(--medos-typography-font-size-sm, 14px);
147
+ box-sizing: border-box;
148
+ font-family: inherit;
149
+ color: var(--medos-color-text, #111827);
150
+ background: var(--medos-color-surface, #fff);
151
+ transition: var(--medos-transition-normal, 200ms);
152
+ }
153
+
154
+ .medos-appointment-input:focus,
155
+ .medos-appointment-select:focus,
156
+ .medos-appointment-textarea:focus {
157
+ border-color: var(--medos-color-border-focus, #27903f);
158
+ box-shadow: 0 0 0 2px var(--medos-color-border-focus, #27903f) 20;
159
+ }
160
+
161
+ .medos-appointment-select {
162
+ background: var(--medos-color-surface, #fff);
163
+ cursor: pointer;
164
+ }
165
+
166
+ .medos-appointment-textarea {
167
+ min-height: 80px;
168
+ resize: vertical;
169
+ }
170
+
171
+ /* Actions & Buttons */
172
+ .medos-appointment-actions {
173
+ display: flex;
174
+ gap: var(--medos-spacing-sm, 8px);
175
+ margin-top: var(--medos-spacing-lg, 16px);
176
+ justify-content: flex-end;
177
+ }
178
+
179
+ .medos-appointment-btn {
180
+ padding: var(--medos-spacing-sm, 10px) var(--medos-spacing-md, 14px);
181
+ border-radius: var(--medos-radius-md, 8px);
182
+ cursor: pointer;
183
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
184
+ font-size: var(--medos-typography-font-size-sm, 14px);
185
+ border: none;
186
+ font-family: inherit;
187
+ transition: var(--medos-transition-normal, 200ms);
188
+ }
189
+
190
+ .medos-appointment-btn-primary {
191
+ background: var(--medos-color-primary, #27903f);
192
+ color: var(--medos-color-text-on-primary, #fff);
193
+ }
194
+
195
+ .medos-appointment-btn-primary:hover {
196
+ background: var(--medos-color-primary-hover, #218838);
197
+ }
198
+
199
+ .medos-appointment-btn-secondary {
200
+ background: var(--medos-color-surface, #fff);
201
+ color: var(--medos-color-primary, #27903f);
202
+ border: 1px solid var(--medos-color-primary, #27903f);
203
+ }
204
+
205
+ .medos-appointment-btn-secondary:hover {
206
+ background: var(--medos-color-surface-hover, #f9fafb);
207
+ }
208
+
209
+ .medos-appointment-btn:disabled {
210
+ opacity: 0.5;
211
+ cursor: not-allowed;
212
+ }
213
+
214
+ /* Error & Loading States */
215
+ .medos-appointment-error {
216
+ margin-bottom: var(--medos-spacing-md, 12px);
217
+ color: var(--medos-color-error, #ef4444);
218
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
219
+ font-size: var(--medos-typography-font-size-sm, 14px);
220
+ padding: var(--medos-spacing-md, 12px);
221
+ background: var(--medos-color-error-background, #fee2e2);
222
+ border: 1px solid var(--medos-color-error-border, #fca5a5);
223
+ border-radius: var(--medos-radius-md, 8px);
224
+ }
225
+
226
+ .medos-appointment-loading {
227
+ margin-bottom: var(--medos-spacing-md, 12px);
228
+ font-size: var(--medos-typography-font-size-sm, 14px);
229
+ color: var(--medos-color-text-secondary, #6b7280);
230
+ }
231
+
232
+ /* Success Message */
233
+ .medos-appointment-success {
234
+ padding: var(--medos-spacing-lg, 16px);
235
+ background: var(--medos-color-success-background, #ecfdf5);
236
+ border: 1px solid var(--medos-color-success, #10b981);
237
+ border-radius: var(--medos-radius-md, 8px);
238
+ color: var(--medos-color-success, #10b981);
239
+ margin-top: var(--medos-spacing-xl, 20px);
240
+ }
241
+
242
+ .medos-appointment-success h3 {
243
+ margin: 0 0 var(--medos-spacing-sm, 8px) 0;
244
+ font-size: var(--medos-typography-font-size-lg, 18px);
245
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
246
+ }
247
+
248
+ .medos-appointment-success p {
249
+ margin: 0;
250
+ font-size: var(--medos-typography-font-size-sm, 14px);
251
+ color: var(--medos-color-text-tertiary, #6b7280);
252
+ }
253
+
254
+ /* Calendar Styles */
255
+ .medos-appointment-calendar {
256
+ border: 1px solid var(--medos-color-border, #e5e7eb);
257
+ border-radius: var(--medos-radius-lg, 12px);
258
+ padding: var(--medos-spacing-lg, 16px);
259
+ background: var(--medos-color-surface, #fff);
260
+ }
261
+
262
+ .medos-appointment-calendar-header {
263
+ display: flex;
264
+ justify-content: space-between;
265
+ align-items: center;
266
+ margin-bottom: var(--medos-spacing-lg, 16px);
267
+ }
268
+
269
+ .medos-appointment-calendar-month {
270
+ font-size: var(--medos-typography-font-size-lg, 18px);
271
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
272
+ color: var(--medos-color-text, #111827);
273
+ }
274
+
275
+ .medos-appointment-calendar-nav {
276
+ padding: var(--medos-spacing-xs, 4px) var(--medos-spacing-sm, 8px);
277
+ border: 1px solid var(--medos-color-border, #e5e7eb);
278
+ border-radius: var(--medos-radius-sm, 4px);
279
+ background: var(--medos-color-surface, #fff);
280
+ cursor: pointer;
281
+ transition: var(--medos-transition-normal, 200ms);
282
+ }
283
+
284
+ .medos-appointment-calendar-nav:hover {
285
+ background: var(--medos-color-surface-hover, #f9fafb);
286
+ border-color: var(--medos-color-border-hover, #d1d5db);
287
+ }
288
+
289
+ /* Slot Selection */
290
+ .medos-appointment-slots {
291
+ display: grid;
292
+ grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
293
+ gap: var(--medos-spacing-sm, 8px);
294
+ margin-top: var(--medos-spacing-lg, 16px);
295
+ }
296
+
297
+ .medos-appointment-slot {
298
+ padding: var(--medos-spacing-sm, 10px);
299
+ border: 1px solid var(--medos-color-border, #e5e7eb);
300
+ border-radius: var(--medos-radius-md, 8px);
301
+ text-align: center;
302
+ cursor: pointer;
303
+ font-size: var(--medos-typography-font-size-sm, 14px);
304
+ background: var(--medos-color-surface, #fff);
305
+ transition: var(--medos-transition-normal, 200ms);
306
+ }
307
+
308
+ .medos-appointment-slot:hover {
309
+ border-color: var(--medos-color-primary, #27903f);
310
+ background: var(--medos-color-surface-hover, #f9fafb);
311
+ }
312
+
313
+ .medos-appointment-slot.selected {
314
+ background: var(--medos-color-primary, #27903f);
315
+ color: var(--medos-color-text-on-primary, #fff);
316
+ border-color: var(--medos-color-primary, #27903f);
317
+ }
318
+
319
+ .medos-appointment-slot.disabled {
320
+ opacity: 0.4;
321
+ cursor: not-allowed;
322
+ }
323
+
324
+ /* ================== Enquiry Form Widget Styles ================== */
325
+
326
+ .medos-enquiry-container {
327
+ display: flex;
328
+ justify-content: center;
329
+ padding: var(--medos-spacing-xl, 20px);
330
+ font-family: var(
331
+ --medos-typography-font-family,
332
+ "Inter",
333
+ system-ui,
334
+ -apple-system,
335
+ "Segoe UI",
336
+ Roboto,
337
+ "Helvetica Neue",
338
+ Arial
339
+ );
340
+ background: var(--medos-color-background, #f6f8fa);
341
+ }
342
+
343
+ .medos-enquiry-card {
344
+ width: 100%;
345
+ max-width: 600px;
346
+ background: var(--medos-color-surface, #fff);
347
+ border-radius: var(--medos-radius-lg, 12px);
348
+ box-shadow: var(--medos-shadow-lg, 0 8px 24px rgba(16, 24, 40, 0.08));
349
+ padding: var(--medos-spacing-2xl, 24px);
350
+ box-sizing: border-box;
351
+ }
352
+
353
+ .medos-enquiry-header {
354
+ margin-bottom: var(--medos-spacing-xl, 20px);
355
+ }
356
+
357
+ .medos-enquiry-title {
358
+ margin: 0;
359
+ font-size: var(--medos-typography-font-size-xl, 20px);
360
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
361
+ color: var(--medos-color-text, #111827);
362
+ }
363
+
364
+ .medos-enquiry-subtitle {
365
+ margin: var(--medos-spacing-xs, 4px) 0 0 0;
366
+ font-size: var(--medos-typography-font-size-sm, 14px);
367
+ color: var(--medos-color-text-secondary, #6b7280);
368
+ }
369
+
370
+ /* Form Elements */
371
+ .medos-enquiry-section {
372
+ margin-top: var(--medos-spacing-lg, 16px);
373
+ }
374
+
375
+ .medos-enquiry-label {
376
+ display: block;
377
+ font-size: var(--medos-typography-font-size-xs, 13px);
378
+ margin-bottom: var(--medos-spacing-xs, 6px);
379
+ color: var(--medos-color-text-secondary, #374151);
380
+ font-weight: var(--medos-typography-font-weight-medium, 500);
381
+ }
382
+
383
+ .medos-enquiry-input,
384
+ .medos-enquiry-textarea {
385
+ width: 100%;
386
+ padding: var(--medos-spacing-sm, 10px) var(--medos-spacing-md, 12px);
387
+ border-radius: var(--medos-radius-md, 8px);
388
+ border: 1px solid var(--medos-color-border, #e5e7eb);
389
+ outline: none;
390
+ font-size: var(--medos-typography-font-size-sm, 14px);
391
+ box-sizing: border-box;
392
+ font-family: inherit;
393
+ color: var(--medos-color-text, #111827);
394
+ background: var(--medos-color-surface, #fff);
395
+ transition: var(--medos-transition-normal, 200ms);
396
+ }
397
+
398
+ .medos-enquiry-input:focus,
399
+ .medos-enquiry-textarea:focus {
400
+ border-color: var(--medos-color-border-focus, #27903f);
401
+ box-shadow: 0 0 0 2px var(--medos-color-border-focus, #27903f) 20;
402
+ }
403
+
404
+ .medos-enquiry-textarea {
405
+ min-height: 120px;
406
+ resize: vertical;
407
+ }
408
+
409
+ .medos-enquiry-actions {
410
+ display: flex;
411
+ gap: var(--medos-spacing-sm, 8px);
412
+ margin-top: var(--medos-spacing-xl, 20px);
413
+ justify-content: flex-end;
414
+ }
415
+
416
+ .medos-enquiry-btn {
417
+ padding: var(--medos-spacing-sm, 10px) var(--medos-spacing-md, 14px);
418
+ border-radius: var(--medos-radius-md, 8px);
419
+ cursor: pointer;
420
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
421
+ font-size: var(--medos-typography-font-size-sm, 14px);
422
+ border: none;
423
+ font-family: inherit;
424
+ transition: var(--medos-transition-normal, 200ms);
425
+ }
426
+
427
+ .medos-enquiry-btn-primary {
428
+ background: var(--medos-color-primary, #27903f);
429
+ color: var(--medos-color-text-on-primary, #fff);
430
+ }
431
+
432
+ .medos-enquiry-btn-primary:hover {
433
+ background: var(--medos-color-primary-hover, #218838);
434
+ }
435
+
436
+ .medos-enquiry-btn-secondary {
437
+ background: var(--medos-color-surface, #fff);
438
+ color: var(--medos-color-primary, #27903f);
439
+ border: 1px solid var(--medos-color-primary, #27903f);
440
+ }
441
+
442
+ .medos-enquiry-btn-secondary:hover {
443
+ background: var(--medos-color-surface-hover, #f9fafb);
444
+ }
445
+
446
+ .medos-enquiry-btn:disabled {
447
+ opacity: 0.5;
448
+ cursor: not-allowed;
449
+ }
450
+
451
+ /* Error & Success Messages */
452
+ .medos-enquiry-error {
453
+ margin-bottom: var(--medos-spacing-md, 12px);
454
+ color: var(--medos-color-error, #ef4444);
455
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
456
+ font-size: var(--medos-typography-font-size-sm, 14px);
457
+ padding: var(--medos-spacing-md, 12px);
458
+ background: var(--medos-color-error-background, #fee2e2);
459
+ border: 1px solid var(--medos-color-error-border, #fca5a5);
460
+ border-radius: var(--medos-radius-md, 8px);
461
+ }
462
+
463
+ .medos-enquiry-success {
464
+ padding: var(--medos-spacing-2xl, 24px);
465
+ background: var(--medos-color-success-background, #ecfdf5);
466
+ border: 1px solid var(--medos-color-success, #10b981);
467
+ border-radius: var(--medos-radius-md, 8px);
468
+ text-align: center;
469
+ }
470
+
471
+ .medos-enquiry-success h3 {
472
+ margin: 0 0 var(--medos-spacing-md, 12px) 0;
473
+ font-size: var(--medos-typography-font-size-xl, 20px);
474
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
475
+ color: var(--medos-color-success, #10b981);
476
+ }
477
+
478
+ .medos-enquiry-success p {
479
+ margin: 0;
480
+ font-size: var(--medos-typography-font-size-sm, 14px);
481
+ color: var(--medos-color-text-secondary, #6b7280);
482
+ }
483
+
484
+ /* Radio Group for Contact Preference */
485
+ .medos-enquiry-radio-group {
486
+ display: flex;
487
+ flex-direction: column;
488
+ gap: var(--medos-spacing-md, 12px);
489
+ }
490
+
491
+ .medos-enquiry-radio-option {
492
+ display: flex;
493
+ align-items: center;
494
+ padding: var(--medos-spacing-md, 12px);
495
+ border: 1px solid var(--medos-color-border, #e5e7eb);
496
+ border-radius: var(--medos-radius-md, 8px);
497
+ cursor: pointer;
498
+ transition: var(--medos-transition-normal, 200ms);
499
+ }
500
+
501
+ .medos-enquiry-radio-option:hover {
502
+ border-color: var(--medos-color-primary, #27903f);
503
+ background: var(--medos-color-surface-hover, #f9fafb);
504
+ }
505
+
506
+ .medos-enquiry-radio-option.selected {
507
+ border-color: var(--medos-color-primary, #27903f);
508
+ background: var(--medos-color-surface-hover, #f9fafb);
509
+ }
510
+
511
+ .medos-enquiry-radio-input {
512
+ margin-right: var(--medos-spacing-md, 12px);
513
+ accent-color: var(--medos-color-primary, #27903f);
514
+ }
515
+
516
+ .medos-enquiry-radio-label {
517
+ font-size: var(--medos-typography-font-size-sm, 14px);
518
+ color: var(--medos-color-text, #111827);
519
+ font-weight: var(--medos-typography-font-weight-medium, 500);
520
+ }
521
+
522
+ /* ===== NEW REACT-LIKE UI STYLES ===== */
523
+
524
+ /* Section Cards */
525
+ .medos-section-card {
526
+ background: var(--medos-color-surface, #fff);
527
+ border: 1px solid var(--medos-color-border, #e5e7eb);
528
+ border-radius: var(--medos-radius-lg, 12px);
529
+ margin-bottom: var(--medos-spacing-lg, 16px);
530
+ overflow: hidden;
531
+ }
532
+
533
+ .medos-section-header {
534
+ display: flex;
535
+ align-items: center;
536
+ gap: var(--medos-spacing-sm, 8px);
537
+ padding: var(--medos-spacing-md, 12px) var(--medos-spacing-lg, 16px);
538
+ background: var(--medos-color-background-secondary, #f9fafb);
539
+ border-bottom: 1px solid var(--medos-color-border, #e5e7eb);
540
+ }
541
+
542
+ .medos-section-header svg {
543
+ color: var(--medos-color-primary, #27903f);
544
+ flex-shrink: 0;
545
+ }
546
+
547
+ .medos-section-title {
548
+ font-size: var(--medos-typography-font-size-sm, 14px);
549
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
550
+ color: var(--medos-color-text, #111827);
551
+ margin: 0;
552
+ }
553
+
554
+ .medos-section-body {
555
+ padding: var(--medos-spacing-lg, 16px);
556
+ }
557
+
558
+ .medos-section-description {
559
+ margin: 0 0 var(--medos-spacing-md, 12px) 0;
560
+ font-size: var(--medos-typography-font-size-sm, 14px);
561
+ color: var(--medos-color-text-secondary, #6b7280);
562
+ }
563
+
564
+ /* Form Groups */
565
+ .medos-form-group {
566
+ margin-bottom: var(--medos-spacing-md, 12px);
567
+ }
568
+
569
+ .medos-form-group:last-child {
570
+ margin-bottom: 0;
571
+ }
572
+
573
+ .medos-form-row {
574
+ display: flex;
575
+ gap: var(--medos-spacing-md, 12px);
576
+ }
577
+
578
+ .medos-form-row .medos-form-group {
579
+ flex: 1;
580
+ }
581
+
582
+ .medos-form-group-flex {
583
+ flex: 2 !important;
584
+ }
585
+
586
+ .medos-form-group-small {
587
+ flex: 1 !important;
588
+ max-width: 120px;
589
+ }
590
+
591
+ .medos-label {
592
+ display: block;
593
+ font-size: var(--medos-typography-font-size-xs, 13px);
594
+ font-weight: var(--medos-typography-font-weight-medium, 500);
595
+ color: var(--medos-color-text-secondary, #374151);
596
+ margin-bottom: var(--medos-spacing-xs, 6px);
597
+ }
598
+
599
+ .medos-required {
600
+ color: var(--medos-color-error, #ef4444);
601
+ }
602
+
603
+ .medos-optional {
604
+ color: var(--medos-color-text-muted, #9ca3af);
605
+ font-weight: var(--medos-typography-font-weight-normal, 400);
606
+ }
607
+
608
+ /* Inputs */
609
+ .medos-input,
610
+ .medos-textarea {
611
+ width: 100%;
612
+ padding: var(--medos-spacing-sm, 10px) var(--medos-spacing-md, 12px);
613
+ border-radius: var(--medos-radius-md, 8px);
614
+ border: 1px solid var(--medos-color-border, #e5e7eb);
615
+ outline: none;
616
+ font-size: var(--medos-typography-font-size-sm, 14px);
617
+ box-sizing: border-box;
618
+ font-family: inherit;
619
+ color: var(--medos-color-text, #111827);
620
+ background: var(--medos-color-surface, #fff);
621
+ transition: var(--medos-transition-normal, 200ms);
622
+ }
623
+
624
+ .medos-input:focus,
625
+ .medos-textarea:focus {
626
+ border-color: var(--medos-color-primary, #27903f);
627
+ box-shadow: 0 0 0 2px rgba(39, 144, 63, 0.15);
628
+ }
629
+
630
+ .medos-input::placeholder,
631
+ .medos-textarea::placeholder {
632
+ color: var(--medos-color-text-muted, #9ca3af);
633
+ }
634
+
635
+ .medos-textarea {
636
+ min-height: 80px;
637
+ resize: vertical;
638
+ }
639
+
640
+ /* Buttons */
641
+ .medos-btn {
642
+ display: inline-flex;
643
+ align-items: center;
644
+ justify-content: center;
645
+ gap: var(--medos-spacing-xs, 6px);
646
+ padding: var(--medos-spacing-sm, 10px) var(--medos-spacing-lg, 16px);
647
+ border-radius: var(--medos-radius-md, 8px);
648
+ font-size: var(--medos-typography-font-size-sm, 14px);
649
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
650
+ cursor: pointer;
651
+ border: none;
652
+ transition: var(--medos-transition-normal, 200ms);
653
+ font-family: inherit;
654
+ }
655
+
656
+ .medos-btn:disabled {
657
+ cursor: not-allowed;
658
+ opacity: 0.6;
659
+ }
660
+
661
+ .medos-btn-primary {
662
+ background: var(--medos-color-primary, #27903f);
663
+ color: var(--medos-color-text-on-primary, #fff);
664
+ }
665
+
666
+ .medos-btn-primary:hover:not(:disabled) {
667
+ background: var(--medos-color-primary-dark, #1e7032);
668
+ }
669
+
670
+ .medos-btn-secondary {
671
+ background: var(--medos-color-surface, #fff);
672
+ color: var(--medos-color-text, #111827);
673
+ border: 1px solid var(--medos-color-border, #e5e7eb);
674
+ }
675
+
676
+ .medos-btn-secondary:hover:not(:disabled) {
677
+ background: var(--medos-color-background-secondary, #f9fafb);
678
+ border-color: var(--medos-color-border-hover, #d1d5db);
679
+ }
680
+
681
+ .medos-link-btn {
682
+ background: none;
683
+ border: none;
684
+ color: var(--medos-color-primary, #27903f);
685
+ font-size: var(--medos-typography-font-size-sm, 14px);
686
+ cursor: pointer;
687
+ padding: var(--medos-spacing-xs, 6px) 0;
688
+ text-decoration: underline;
689
+ font-family: inherit;
690
+ }
691
+
692
+ .medos-link-btn:hover {
693
+ color: var(--medos-color-primary-dark, #1e7032);
694
+ }
695
+
696
+ /* Actions Row */
697
+ .medos-actions {
698
+ display: flex;
699
+ justify-content: flex-end;
700
+ gap: var(--medos-spacing-md, 12px);
701
+ margin-top: var(--medos-spacing-lg, 16px);
702
+ }
703
+
704
+ /* Consultation Type Options */
705
+ .medos-consultation-options {
706
+ display: flex;
707
+ gap: var(--medos-spacing-md, 12px);
708
+ margin-bottom: var(--medos-spacing-md, 12px);
709
+ }
710
+
711
+ .medos-radio-option {
712
+ display: flex;
713
+ align-items: center;
714
+ gap: var(--medos-spacing-sm, 8px);
715
+ padding: var(--medos-spacing-sm, 10px) var(--medos-spacing-md, 12px);
716
+ border: 1px solid var(--medos-color-border, #e5e7eb);
717
+ border-radius: var(--medos-radius-md, 8px);
718
+ cursor: pointer;
719
+ transition: var(--medos-transition-normal, 200ms);
720
+ flex: 1;
721
+ }
722
+
723
+ .medos-radio-option:hover {
724
+ border-color: var(--medos-color-primary, #27903f);
725
+ background: var(--medos-color-surface-hover, #f9fafb);
726
+ }
727
+
728
+ .medos-radio-option.selected {
729
+ border-color: var(--medos-color-primary, #27903f);
730
+ background: rgba(39, 144, 63, 0.05);
731
+ }
732
+
733
+ .medos-radio-input {
734
+ accent-color: var(--medos-color-primary, #27903f);
735
+ }
736
+
737
+ .medos-radio-label {
738
+ font-size: var(--medos-typography-font-size-sm, 14px);
739
+ color: var(--medos-color-text, #111827);
740
+ font-weight: var(--medos-typography-font-weight-medium, 500);
741
+ }
742
+
743
+ .medos-consultation-charge {
744
+ display: flex;
745
+ align-items: center;
746
+ gap: var(--medos-spacing-sm, 8px);
747
+ padding: var(--medos-spacing-sm, 10px);
748
+ background: var(--medos-color-background-secondary, #f9fafb);
749
+ border-radius: var(--medos-radius-md, 8px);
750
+ }
751
+
752
+ .medos-charge-label {
753
+ font-size: var(--medos-typography-font-size-sm, 14px);
754
+ color: var(--medos-color-text-secondary, #6b7280);
755
+ }
756
+
757
+ .medos-charge-value {
758
+ font-size: var(--medos-typography-font-size-sm, 14px);
759
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
760
+ color: var(--medos-color-primary, #27903f);
761
+ }
762
+
763
+ /* Time Slots */
764
+ .medos-selected-date-display {
765
+ display: flex;
766
+ align-items: center;
767
+ gap: var(--medos-spacing-sm, 8px);
768
+ padding: var(--medos-spacing-sm, 10px) var(--medos-spacing-md, 12px);
769
+ background: var(--medos-color-background-secondary, #f9fafb);
770
+ border-radius: var(--medos-radius-md, 8px);
771
+ margin-bottom: var(--medos-spacing-lg, 16px);
772
+ font-size: var(--medos-typography-font-size-sm, 14px);
773
+ color: var(--medos-color-text, #111827);
774
+ }
775
+
776
+ .medos-selected-date-display svg {
777
+ color: var(--medos-color-primary, #27903f);
778
+ }
779
+
780
+ .medos-slots-grid {
781
+ display: grid;
782
+ grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
783
+ gap: var(--medos-spacing-sm, 8px);
784
+ }
785
+
786
+ .medos-slot-card {
787
+ display: flex;
788
+ align-items: center;
789
+ justify-content: center;
790
+ gap: var(--medos-spacing-xs, 4px);
791
+ padding: var(--medos-spacing-sm, 10px) var(--medos-spacing-md, 12px);
792
+ border: 1px solid var(--medos-color-border, #e5e7eb);
793
+ border-radius: var(--medos-radius-md, 8px);
794
+ cursor: pointer;
795
+ transition: var(--medos-transition-normal, 200ms);
796
+ position: relative;
797
+ }
798
+
799
+ .medos-slot-card:hover {
800
+ border-color: var(--medos-color-primary, #27903f);
801
+ background: var(--medos-color-surface-hover, #f9fafb);
802
+ }
803
+
804
+ .medos-slot-card.selected {
805
+ border-color: var(--medos-color-primary, #27903f);
806
+ background: rgba(39, 144, 63, 0.1);
807
+ }
808
+
809
+ .medos-slot-time {
810
+ font-size: var(--medos-typography-font-size-sm, 14px);
811
+ font-weight: var(--medos-typography-font-weight-medium, 500);
812
+ color: var(--medos-color-text, #111827);
813
+ }
814
+
815
+ .medos-slot-separator {
816
+ color: var(--medos-color-text-muted, #9ca3af);
817
+ }
818
+
819
+ .medos-slot-check {
820
+ position: absolute;
821
+ top: 4px;
822
+ right: 4px;
823
+ color: var(--medos-color-primary, #27903f);
824
+ }
825
+
826
+ .medos-empty-slots {
827
+ text-align: center;
828
+ padding: var(--medos-spacing-2xl, 24px);
829
+ color: var(--medos-color-text-secondary, #6b7280);
830
+ font-size: var(--medos-typography-font-size-sm, 14px);
831
+ }
832
+
833
+ /* Grouped Slots Layout (like React component) */
834
+ .medos-slots-container-grouped {
835
+ display: flex;
836
+ flex-direction: column;
837
+ gap: var(--medos-spacing-lg, 16px);
838
+ max-height: 350px;
839
+ overflow-y: auto;
840
+ padding-right: var(--medos-spacing-sm, 8px);
841
+ }
842
+
843
+ .medos-slot-period {
844
+ display: flex;
845
+ flex-direction: column;
846
+ gap: var(--medos-spacing-sm, 8px);
847
+ }
848
+
849
+ .medos-slot-period-header {
850
+ display: flex;
851
+ align-items: center;
852
+ gap: var(--medos-spacing-sm, 8px);
853
+ padding-bottom: var(--medos-spacing-xs, 4px);
854
+ border-bottom: 1px dashed var(--medos-color-border, #e5e7eb);
855
+ }
856
+
857
+ .medos-slot-period-title {
858
+ font-size: var(--medos-typography-font-size-xs, 12px);
859
+ font-weight: var(--medos-typography-font-weight-bold, 700);
860
+ color: var(--medos-color-primary, #27903f);
861
+ text-transform: uppercase;
862
+ letter-spacing: 0.5px;
863
+ }
864
+
865
+ .medos-slot-period-count {
866
+ font-size: var(--medos-typography-font-size-xs, 12px);
867
+ color: var(--medos-color-text-secondary, #6b7280);
868
+ }
869
+
870
+ .medos-slot-period-grid {
871
+ display: grid;
872
+ grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
873
+ gap: var(--medos-spacing-sm, 8px);
874
+ }
875
+
876
+ /* Enhanced Slot Button Styling (matching React component exactly) */
877
+ .medos-slot-btn {
878
+ display: flex;
879
+ align-items: center;
880
+ justify-content: center;
881
+ padding: 12px 8px;
882
+ min-height: 48px;
883
+ font-size: 12px;
884
+ font-weight: 600;
885
+ letter-spacing: 0.3px;
886
+ border: 2px solid var(--medos-color-border, #e5e7eb);
887
+ border-radius: var(--medos-radius-md, 8px);
888
+ background-color: var(--medos-color-surface, #ffffff);
889
+ color: var(--medos-color-text, #111827);
890
+ cursor: pointer;
891
+ transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
892
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
893
+ position: relative;
894
+ text-align: center;
895
+ white-space: nowrap;
896
+ overflow: hidden;
897
+ text-overflow: ellipsis;
898
+ width: 100%;
899
+ box-sizing: border-box;
900
+ outline: none;
901
+ user-select: none;
902
+ font-family: var(--medos-typography-font-family, inherit);
903
+ }
904
+
905
+ .medos-slot-btn:hover:not(:disabled):not(.selected) {
906
+ border-color: var(--medos-color-primary, #27903f);
907
+ background-color: var(--medos-color-surface-hover, #f9fafb);
908
+ transform: translateY(-1px);
909
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
910
+ }
911
+
912
+ .medos-slot-btn:active:not(:disabled) {
913
+ transform: translateY(0);
914
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
915
+ }
916
+
917
+ .medos-slot-btn.selected {
918
+ background-color: var(--medos-color-primary, #27903f);
919
+ color: var(--medos-color-text-on-primary, #ffffff);
920
+ border-color: var(--medos-color-primary, #27903f);
921
+ box-shadow: 0 4px 12px rgba(39, 144, 63, 0.3), 0 2px 4px rgba(39, 144, 63, 0.2);
922
+ transform: translateY(-1px);
923
+ }
924
+
925
+ .medos-slot-btn.selected:hover:not(:disabled) {
926
+ background-color: var(--medos-color-primary-dark, #1e7032);
927
+ border-color: var(--medos-color-primary-dark, #1e7032);
928
+ box-shadow: 0 6px 16px rgba(39, 144, 63, 0.4), 0 3px 6px rgba(39, 144, 63, 0.3);
929
+ }
930
+
931
+ .medos-slot-btn:focus-visible {
932
+ outline: 2px solid var(--medos-color-primary, #27903f);
933
+ outline-offset: 2px;
934
+ }
935
+
936
+ .medos-slot-btn:disabled {
937
+ opacity: 0.5;
938
+ cursor: not-allowed;
939
+ transform: none !important;
940
+ box-shadow: none !important;
941
+ }
942
+
943
+ /* Mobile-specific slot grid (2 columns like React) */
944
+ @media (max-width: 768px) {
945
+ .medos-slot-period-grid {
946
+ grid-template-columns: 1fr 1fr;
947
+ gap: 12px;
948
+ }
949
+
950
+ .medos-slot-btn {
951
+ font-size: 12px;
952
+ padding: 12px 8px;
953
+ min-height: 48px;
954
+ }
955
+ }
956
+
957
+ /* Desktop-specific slot grid */
958
+ @media (min-width: 769px) {
959
+ .medos-slot-period-grid {
960
+ grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
961
+ gap: 12px;
962
+ }
963
+
964
+ .medos-slot-btn {
965
+ font-size: 13px;
966
+ padding: 12px 8px;
967
+ min-height: 48px;
968
+ }
969
+ }
970
+
971
+ /* Compact slots grid (fallback for non-grouped layout) */
972
+ .medos-slots-grid-compact {
973
+ display: grid;
974
+ grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
975
+ gap: var(--medos-spacing-sm, 8px);
976
+ }
977
+
978
+ .medos-slots-grid-compact .medos-slot-btn {
979
+ min-height: 44px;
980
+ padding: var(--medos-spacing-sm, 10px) var(--medos-spacing-xs, 6px);
981
+ font-size: var(--medos-typography-font-size-xs, 12px);
982
+ }
983
+
984
+ /* Package Explorer Styles */
985
+ .medos-package-doctors {
986
+ display: flex;
987
+ flex-wrap: wrap;
988
+ gap: var(--medos-spacing-xs, 4px);
989
+ margin-bottom: var(--medos-spacing-sm, 8px);
990
+ }
991
+
992
+ .medos-doctor-badge {
993
+ font-size: var(--medos-typography-font-size-xs, 12px);
994
+ color: var(--medos-color-text, #111827);
995
+ background-color: var(--medos-color-surface-secondary, #f1f5f9);
996
+ padding: var(--medos-spacing-xs, 4px) var(--medos-spacing-sm, 8px);
997
+ border-radius: 999px;
998
+ }
999
+
1000
+ .medos-consultation-modes {
1001
+ display: flex;
1002
+ gap: var(--medos-spacing-sm, 8px);
1003
+ margin-bottom: var(--medos-spacing-sm, 8px);
1004
+ }
1005
+
1006
+ .medos-mode-badge {
1007
+ font-size: var(--medos-typography-font-size-xs, 11px);
1008
+ color: var(--medos-color-text-secondary, #6b7280);
1009
+ background-color: var(--medos-color-surface-secondary, #f1f5f9);
1010
+ padding: var(--medos-spacing-xs, 4px) var(--medos-spacing-sm, 6px);
1011
+ border-radius: var(--medos-radius-sm, 6px);
1012
+ }
1013
+
1014
+ .medos-package-details {
1015
+ display: flex;
1016
+ justify-content: space-between;
1017
+ align-items: center;
1018
+ padding-top: var(--medos-spacing-md, 12px);
1019
+ border-top: 1px solid var(--medos-color-border, #e5e7eb);
1020
+ }
1021
+
1022
+ .medos-package-sessions {
1023
+ font-size: var(--medos-typography-font-size-sm, 13px);
1024
+ color: var(--medos-color-text-secondary, #6b7280);
1025
+ }
1026
+
1027
+ .medos-price-container {
1028
+ display: flex;
1029
+ flex-direction: column;
1030
+ align-items: flex-end;
1031
+ gap: var(--medos-spacing-xs, 4px);
1032
+ }
1033
+
1034
+ .medos-original-price {
1035
+ font-size: var(--medos-typography-font-size-sm, 14px);
1036
+ color: var(--medos-color-text-secondary, #6b7280);
1037
+ text-decoration: line-through;
1038
+ }
1039
+
1040
+ .medos-package-price {
1041
+ font-size: var(--medos-typography-font-size-lg, 18px);
1042
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
1043
+ color: var(--medos-color-primary, #27903f);
1044
+ }
1045
+
1046
+ .medos-per-session-price {
1047
+ font-size: var(--medos-typography-font-size-xs, 12px);
1048
+ color: var(--medos-color-text-secondary, #6b7280);
1049
+ font-weight: var(--medos-typography-font-weight-medium, 500);
1050
+ }
1051
+
1052
+ .medos-discount-badge {
1053
+ font-size: var(--medos-typography-font-size-xs, 11px);
1054
+ font-weight: var(--medos-typography-font-weight-semibold, 600);
1055
+ color: #ffffff;
1056
+ background-color: var(--medos-color-success, #16a34a);
1057
+ padding: 2px var(--medos-spacing-sm, 8px);
1058
+ border-radius: 999px;
1059
+ }
1060
+
1061
+ .medos-package-validity {
1062
+ margin-top: var(--medos-spacing-sm, 8px);
1063
+ font-size: var(--medos-typography-font-size-xs, 12px);
1064
+ color: var(--medos-color-text-secondary, #6b7280);
1065
+ }
1066
+
1067
+ .medos-no-patients {
1068
+ text-align: center;
1069
+ padding: var(--medos-spacing-xl, 20px);
1070
+ color: var(--medos-color-text-secondary, #6b7280);
1071
+ font-size: var(--medos-typography-font-size-sm, 14px);
1072
+ }
1073
+
1074
+ .medos-patient-age {
1075
+ font-size: var(--medos-typography-font-size-xs, 12px);
1076
+ color: var(--medos-color-text-secondary, #6b7280);
1077
+ }
1078
+
1079
+ /* Phone Verification */
1080
+ .medos-phone-input-row {
1081
+ display: flex;
1082
+ gap: var(--medos-spacing-sm, 8px);
1083
+ }
1084
+
1085
+ .medos-country-code-wrapper {
1086
+ width: 140px;
1087
+ flex-shrink: 0;
1088
+ }
1089
+
1090
+ .medos-phone-wrapper {
1091
+ flex: 1;
1092
+ }
1093
+
1094
+ .medos-otp-input-wrapper {
1095
+ max-width: 200px;
1096
+ margin-bottom: var(--medos-spacing-md, 12px);
1097
+ }
1098
+
1099
+ .medos-otp-input {
1100
+ text-align: center;
1101
+ letter-spacing: 4px;
1102
+ font-size: var(--medos-typography-font-size-lg, 18px);
1103
+ }
1104
+
1105
+ .medos-verified-badge {
1106
+ display: flex;
1107
+ align-items: center;
1108
+ gap: var(--medos-spacing-sm, 8px);
1109
+ padding: var(--medos-spacing-md, 12px);
1110
+ background: var(--medos-color-success-background, #ecfdf5);
1111
+ border-radius: var(--medos-radius-md, 8px);
1112
+ color: var(--medos-color-success, #10b981);
1113
+ font-weight: var(--medos-typography-font-weight-medium, 500);
1114
+ margin-bottom: var(--medos-spacing-sm, 8px);
1115
+ }
1116
+
1117
+ .medos-verified-number {
1118
+ font-size: var(--medos-typography-font-size-sm, 14px);
1119
+ color: var(--medos-color-text-secondary, #6b7280);
1120
+ }
1121
+
1122
+ .medos-validation-error {
1123
+ font-size: var(--medos-typography-font-size-xs, 12px);
1124
+ color: var(--medos-color-error, #ef4444);
1125
+ margin-top: var(--medos-spacing-xs, 6px);
1126
+ }
1127
+
1128
+ .medos-input-error {
1129
+ border-color: var(--medos-color-error, #ef4444) !important;
1130
+ box-shadow: 0 0 0 1px var(--medos-color-error, #ef4444) !important;
1131
+ }
1132
+
1133
+ /* Character Count */
1134
+ .medos-char-count {
1135
+ font-size: var(--medos-typography-font-size-xs, 12px);
1136
+ color: var(--medos-color-text-muted, #9ca3af);
1137
+ text-align: right;
1138
+ margin-top: var(--medos-spacing-xs, 4px);
1139
+ }
1140
+
1141
+ /* Contact Options (for enquiry form) */
1142
+ .medos-contact-options {
1143
+ display: flex;
1144
+ flex-direction: column;
1145
+ gap: var(--medos-spacing-sm, 8px);
1146
+ }
1147
+
1148
+ /* ============================================
1149
+ RESPONSIVE STYLES - Mobile First
1150
+ ============================================ */
1151
+
1152
+ /* Mobile devices (up to 767px) */
1153
+ @media (max-width: 767px) {
1154
+ /* Appointment Widget Mobile Styles */
1155
+ .medos-appointment-container {
1156
+ padding: var(--medos-spacing-md, 12px);
1157
+ }
1158
+
1159
+ .medos-appointment-card {
1160
+ max-width: 100%;
1161
+ padding: var(--medos-spacing-lg, 16px);
1162
+ border-radius: var(--medos-radius-md, 8px);
1163
+ }
1164
+
1165
+ .medos-appointment-header {
1166
+ flex-direction: column;
1167
+ align-items: flex-start;
1168
+ gap: var(--medos-spacing-sm, 8px);
1169
+ }
1170
+
1171
+ .medos-appointment-title {
1172
+ font-size: var(--medos-typography-font-size-lg, 18px);
1173
+ }
1174
+
1175
+ .medos-appointment-stepper {
1176
+ width: 100%;
1177
+ justify-content: flex-start;
1178
+ }
1179
+
1180
+ .medos-step-pill {
1181
+ padding: 4px 8px;
1182
+ font-size: 11px;
1183
+ }
1184
+
1185
+ .medos-actions {
1186
+ flex-direction: column;
1187
+ width: 100%;
1188
+ }
1189
+
1190
+ .medos-btn {
1191
+ width: 100%;
1192
+ min-height: 44px;
1193
+ padding: 12px 16px;
1194
+ }
1195
+
1196
+ .medos-form-grid {
1197
+ grid-template-columns: 1fr;
1198
+ gap: var(--medos-spacing-md, 12px);
1199
+ }
1200
+
1201
+ .medos-slot-grid {
1202
+ grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
1203
+ gap: var(--medos-spacing-sm, 8px);
1204
+ }
1205
+
1206
+ .medos-slot-card {
1207
+ padding: 10px 8px;
1208
+ }
1209
+
1210
+ .medos-slot-time {
1211
+ font-size: var(--medos-typography-font-size-xs, 12px);
1212
+ }
1213
+
1214
+ .medos-slot-duration {
1215
+ font-size: 11px;
1216
+ }
1217
+
1218
+ /* Calendar specific - enable horizontal scroll */
1219
+ .medos-calendar-wrapper {
1220
+ overflow-x: auto;
1221
+ overflow-y: visible;
1222
+ -webkit-overflow-scrolling: touch;
1223
+ }
1224
+
1225
+ .medos-calendar {
1226
+ min-width: 320px;
1227
+ width: 320px;
1228
+ }
1229
+
1230
+ /* Enquiry Form Mobile Styles */
1231
+ .medos-enquiry-container {
1232
+ padding: var(--medos-spacing-md, 12px);
1233
+ }
1234
+
1235
+ .medos-enquiry-card {
1236
+ max-width: 100%;
1237
+ padding: var(--medos-spacing-lg, 16px);
1238
+ border-radius: var(--medos-radius-md, 8px);
1239
+ }
1240
+
1241
+ .medos-enquiry-header {
1242
+ flex-direction: column;
1243
+ align-items: flex-start;
1244
+ gap: var(--medos-spacing-sm, 8px);
1245
+ }
1246
+
1247
+ .medos-enquiry-title {
1248
+ font-size: var(--medos-typography-font-size-lg, 18px);
1249
+ }
1250
+
1251
+ .medos-radio-group {
1252
+ gap: 10px;
1253
+ }
1254
+
1255
+ /* Phone input wrapper - stack on mobile */
1256
+ .medos-phone-wrapper {
1257
+ flex-direction: column;
1258
+ gap: var(--medos-spacing-sm, 8px);
1259
+ }
1260
+
1261
+ .medos-phone-wrapper .medos-select-wrapper {
1262
+ width: 100%;
1263
+ }
1264
+
1265
+ .medos-phone-wrapper input {
1266
+ width: 100%;
1267
+ }
1268
+ }
1269
+
1270
+ /* Tablet devices (768px to 1023px) */
1271
+ @media (min-width: 768px) and (max-width: 1023px) {
1272
+ .medos-appointment-card,
1273
+ .medos-enquiry-card {
1274
+ max-width: 100%;
1275
+ }
1276
+
1277
+ .medos-slot-grid {
1278
+ grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
1279
+ }
1280
+
1281
+ .medos-calendar {
1282
+ width: 340px;
1283
+ }
1284
+ }
1285
+
1286
+ /* Desktop and larger (1024px+) - default styles apply */
1287
+ @media (min-width: 1024px) {
1288
+ .medos-calendar {
1289
+ width: 340px;
1290
+ }
1291
+ }