@idkwebsites/components 0.1.17 → 0.1.19

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.
package/dist/styles.css CHANGED
@@ -633,4 +633,1414 @@
633
633
  font-weight: 600;
634
634
  color: var(--idk-primary);
635
635
  }
636
+ .bw {
637
+ --bw-font: "Inter", sans-serif;
638
+ --bw-bg: #FFFFFF;
639
+ --bw-text: #1A1A1A;
640
+ --bw-text-secondary: #6B6B6B;
641
+ --bw-text-muted: #999999;
642
+ --bw-border: #E8E8E8;
643
+ --bw-border-light: #F0F0F0;
644
+ --bw-radius: 8px;
645
+ --bw-radius-lg: 12px;
646
+ --bw-primary: #1A1A1A;
647
+ --bw-primary-text: #FFFFFF;
648
+ --bw-hover: #F8F8F8;
649
+ --bw-error-bg: #fef2f2;
650
+ --bw-error-text: #b91c1c;
651
+ --bw-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
652
+ --bw-shadow-badge: 0 1px 4px rgba(0, 0, 0, 0.12);
653
+ --bw-offset-top: 0px;
654
+ position: relative;
655
+ font-family: var(--bw-font);
656
+ color: var(--bw-text);
657
+ background: var(--bw-bg);
658
+ overflow: hidden;
659
+ height: calc(100vh - var(--bw-offset-top));
660
+ height: calc(100dvh - var(--bw-offset-top));
661
+ display: flex;
662
+ flex-direction: column;
663
+ }
664
+ .bw *:focus,
665
+ .bw *:focus-visible {
666
+ outline: none;
667
+ }
668
+ @keyframes bw-shimmer {
669
+ 0% {
670
+ background-position: -200% 0;
671
+ }
672
+ 100% {
673
+ background-position: 200% 0;
674
+ }
675
+ }
676
+ .bw-skel {
677
+ background:
678
+ linear-gradient(
679
+ 90deg,
680
+ var(--bw-border-light) 25%,
681
+ var(--bw-border) 50%,
682
+ var(--bw-border-light) 75%);
683
+ background-size: 200% 100%;
684
+ animation: bw-shimmer 1.5s ease infinite;
685
+ border-radius: var(--bw-radius);
686
+ }
687
+ .bw-skel--text {
688
+ height: 14px;
689
+ border-radius: 6px;
690
+ }
691
+ .bw-skel--card {
692
+ height: 56px;
693
+ width: 100%;
694
+ margin-bottom: 10px;
695
+ border-radius: var(--bw-radius);
696
+ }
697
+ .bw-skel--calendar {
698
+ height: 300px;
699
+ width: 100%;
700
+ border-radius: var(--bw-radius);
701
+ }
702
+ .bw-skel--input {
703
+ height: 40px;
704
+ width: 100%;
705
+ border-radius: var(--bw-radius);
706
+ margin-bottom: 12px;
707
+ }
708
+ .bw-skel--slot {
709
+ height: 40px;
710
+ border-radius: var(--bw-radius);
711
+ }
712
+ .bw-skel-list {
713
+ display: flex;
714
+ flex-direction: column;
715
+ gap: 0;
716
+ margin-top: 16px;
717
+ }
718
+ .bw-skel-slots {
719
+ margin-top: 8px;
720
+ }
721
+ .bw-skel-slots-grid {
722
+ display: grid;
723
+ grid-template-columns: repeat(4, 1fr);
724
+ gap: 10px;
725
+ }
726
+ .bw-skel-mobile {
727
+ display: none;
728
+ }
729
+ @media (max-width: 1024px) {
730
+ .bw-skel-desktop {
731
+ display: none !important;
732
+ }
733
+ .bw-skel-mobile {
734
+ display: flex;
735
+ flex-direction: column;
736
+ flex: 1;
737
+ min-height: 0;
738
+ padding: 0 24px;
739
+ gap: 10px;
740
+ }
741
+ }
742
+ .bw-empty {
743
+ text-align: center;
744
+ padding: 60px 20px;
745
+ font-size: 15px;
746
+ color: var(--bw-text-secondary);
747
+ }
748
+ .bw-loading {
749
+ display: flex;
750
+ flex-direction: column;
751
+ align-items: center;
752
+ justify-content: center;
753
+ gap: 16px;
754
+ padding: 80px 20px;
755
+ color: var(--bw-text-muted);
756
+ font-size: 14px;
757
+ }
758
+ .bw-topbar {
759
+ display: none;
760
+ max-width: 1440px;
761
+ margin: 0 auto;
762
+ width: 100%;
763
+ box-sizing: border-box;
764
+ }
765
+ .bw-topbar-menu {
766
+ display: none;
767
+ }
768
+ .bw-nav-overlay {
769
+ display: none;
770
+ }
771
+ .bw-header {
772
+ padding: 48px 48px 0;
773
+ max-width: 1440px;
774
+ margin: 0 auto;
775
+ width: 100%;
776
+ box-sizing: border-box;
777
+ }
778
+ .bw-title {
779
+ font-family: var(--bw-font);
780
+ font-size: 28px;
781
+ font-weight: 300;
782
+ letter-spacing: -1px;
783
+ color: var(--bw-text);
784
+ margin: 0;
785
+ }
786
+ .bw-title--mobile {
787
+ display: none;
788
+ }
789
+ .bw-header-divider {
790
+ display: none;
791
+ }
792
+ .bw-body {
793
+ display: grid;
794
+ grid-template-columns: 22% 1fr 22%;
795
+ grid-template-rows: minmax(0, 1fr);
796
+ gap: 32px;
797
+ padding: 32px 48px 48px;
798
+ flex: 1;
799
+ min-height: 0;
800
+ overflow: hidden;
801
+ max-width: 1440px;
802
+ margin: 0 auto;
803
+ width: 100%;
804
+ box-sizing: border-box;
805
+ }
806
+ .bw-body-inner {
807
+ display: contents;
808
+ }
809
+ .bw-col {
810
+ display: flex;
811
+ flex-direction: column;
812
+ min-height: 0;
813
+ }
814
+ .bw-col--left {
815
+ overflow: visible;
816
+ }
817
+ .bw-step-1 {
818
+ display: flex;
819
+ flex-direction: column;
820
+ flex: 1;
821
+ min-height: 0;
822
+ }
823
+ .bw-cat-scroll {
824
+ flex: 1;
825
+ min-height: 0;
826
+ overflow: hidden;
827
+ padding: 2px;
828
+ margin: -2px;
829
+ }
830
+ .bw-cat-scroll > .scrollbar-track {
831
+ display: none !important;
832
+ }
833
+ .bw-step-2 {
834
+ display: none;
835
+ }
836
+ .bw-svc-scroll {
837
+ --bw-svc-row-h: 42px;
838
+ --bw-svc-visible: 3.5;
839
+ display: grid;
840
+ grid-template-rows: 0fr;
841
+ transition: grid-template-rows 0.25s cubic-bezier(0.4, 0, 0.2, 1);
842
+ padding-left: 12px;
843
+ }
844
+ .bw-svc-scroll.is-open {
845
+ grid-template-rows: 1fr;
846
+ }
847
+ .bw-svc-scroll-wrap {
848
+ min-height: 0;
849
+ max-height: calc(var(--bw-svc-visible) * var(--bw-svc-row-h));
850
+ overflow: hidden;
851
+ padding: 2px;
852
+ margin: -2px;
853
+ }
854
+ .bw-svc-scroll-wrap .scrollbar-track {
855
+ display: none !important;
856
+ }
857
+ .bw-svc-scroll-inner {
858
+ display: flex;
859
+ flex-direction: column;
860
+ padding-bottom: 10px;
861
+ }
862
+ .bw-label {
863
+ display: block;
864
+ font-size: 12px;
865
+ font-weight: 500;
866
+ color: var(--bw-text);
867
+ margin-bottom: 10px;
868
+ }
869
+ .bw-dropdown {
870
+ position: relative;
871
+ margin-bottom: 10px;
872
+ }
873
+ .bw-dropdown-select {
874
+ width: 100%;
875
+ padding: 12px 14px;
876
+ padding-right: 36px;
877
+ border-radius: var(--bw-radius);
878
+ border: 1px solid var(--bw-border);
879
+ font-family: var(--bw-font);
880
+ font-size: 13px;
881
+ color: var(--bw-text);
882
+ background: transparent;
883
+ cursor: pointer;
884
+ outline: none;
885
+ -webkit-appearance: none;
886
+ -moz-appearance: none;
887
+ appearance: none;
888
+ transition: border-color 150ms ease;
889
+ }
890
+ .bw-dropdown-select:focus {
891
+ border-color: var(--bw-primary);
892
+ }
893
+ .bw-dropdown-select.has-value {
894
+ border-color: var(--bw-primary);
895
+ }
896
+ .bw-dropdown-chevron {
897
+ position: absolute;
898
+ right: 14px;
899
+ top: 50%;
900
+ transform: translateY(-50%);
901
+ color: var(--bw-text-secondary);
902
+ pointer-events: none;
903
+ }
904
+ .bw-section-divider {
905
+ height: 1px;
906
+ background: var(--bw-border);
907
+ margin: 10px 0;
908
+ }
909
+ .bw-staff-dropdown {
910
+ position: relative;
911
+ margin-bottom: 10px;
912
+ }
913
+ .bw-staff-trigger {
914
+ display: flex;
915
+ align-items: center;
916
+ gap: 10px;
917
+ width: 100%;
918
+ padding: 9px 13px;
919
+ border-radius: var(--bw-radius);
920
+ border: 2px solid var(--bw-border);
921
+ background: transparent;
922
+ cursor: pointer;
923
+ font-family: var(--bw-font);
924
+ text-align: left;
925
+ transition: border-color 250ms ease;
926
+ }
927
+ .bw-staff-trigger-content {
928
+ display: flex;
929
+ align-items: center;
930
+ gap: 10px;
931
+ flex: 1;
932
+ min-width: 0;
933
+ }
934
+ .bw-staff-trigger:hover {
935
+ border-color: var(--bw-text-muted);
936
+ }
937
+ .bw-staff-trigger.has-value {
938
+ border-color: var(--bw-primary);
939
+ }
940
+ .bw-staff-avatar {
941
+ flex-shrink: 0;
942
+ width: 32px;
943
+ height: 32px;
944
+ border-radius: 50%;
945
+ background: var(--bw-border-light);
946
+ display: flex;
947
+ align-items: center;
948
+ justify-content: center;
949
+ overflow: hidden;
950
+ color: var(--bw-text-muted);
951
+ }
952
+ .bw-staff-avatar img {
953
+ width: 100%;
954
+ height: 100%;
955
+ -o-object-fit: cover;
956
+ object-fit: cover;
957
+ }
958
+ .bw-staff-initials {
959
+ font-size: 12px;
960
+ font-weight: 600;
961
+ color: var(--bw-text-secondary);
962
+ letter-spacing: 0.5px;
963
+ }
964
+ .bw-staff-trigger-info {
965
+ flex: 1;
966
+ display: flex;
967
+ flex-direction: column;
968
+ gap: 1px;
969
+ min-width: 0;
970
+ }
971
+ .bw-staff-trigger-name {
972
+ font-size: 13px;
973
+ font-weight: 500;
974
+ color: var(--bw-text);
975
+ line-height: 1.3;
976
+ overflow: hidden;
977
+ text-overflow: ellipsis;
978
+ white-space: nowrap;
979
+ }
980
+ .bw-staff-trigger-desc {
981
+ font-size: 11px;
982
+ color: var(--bw-text-muted);
983
+ line-height: 1.3;
984
+ white-space: nowrap;
985
+ overflow: hidden;
986
+ text-overflow: ellipsis;
987
+ }
988
+ .bw-staff-trigger-chevron {
989
+ flex-shrink: 0;
990
+ color: var(--bw-text-secondary);
991
+ }
992
+ .bw-portal {
993
+ position: relative;
994
+ z-index: 9998;
995
+ }
996
+ .bw-staff-overlay {
997
+ position: fixed;
998
+ inset: 0;
999
+ z-index: 9999;
1000
+ }
1001
+ .bw-staff-list {
1002
+ position: fixed;
1003
+ z-index: 10000;
1004
+ background: var(--bw-bg);
1005
+ border: 1px solid var(--bw-border);
1006
+ border-radius: var(--bw-radius);
1007
+ box-shadow: var(--bw-shadow);
1008
+ padding: 4px;
1009
+ display: flex;
1010
+ flex-direction: column;
1011
+ max-height: 240px;
1012
+ overflow-y: auto;
1013
+ }
1014
+ .bw-staff-option {
1015
+ display: flex;
1016
+ align-items: center;
1017
+ gap: 10px;
1018
+ padding: 10px 12px;
1019
+ border: none;
1020
+ background: none;
1021
+ font-family: var(--bw-font);
1022
+ cursor: pointer;
1023
+ text-align: left;
1024
+ border-radius: 6px;
1025
+ transition: background 120ms ease;
1026
+ }
1027
+ .bw-staff-option:hover {
1028
+ background: var(--bw-hover);
1029
+ }
1030
+ .bw-staff-option.is-active {
1031
+ background: var(--bw-hover);
1032
+ }
1033
+ .bw-staff-option-info {
1034
+ flex: 1;
1035
+ display: flex;
1036
+ flex-direction: column;
1037
+ gap: 1px;
1038
+ min-width: 0;
1039
+ }
1040
+ .bw-staff-option-name {
1041
+ font-size: 13px;
1042
+ font-weight: 500;
1043
+ color: var(--bw-text);
1044
+ line-height: 1.3;
1045
+ }
1046
+ .bw-staff-option-desc {
1047
+ font-size: 11px;
1048
+ color: var(--bw-text-muted);
1049
+ line-height: 1.3;
1050
+ white-space: nowrap;
1051
+ overflow: hidden;
1052
+ text-overflow: ellipsis;
1053
+ }
1054
+ .bw-cat-card {
1055
+ display: flex;
1056
+ align-items: center;
1057
+ gap: 14px;
1058
+ width: 100%;
1059
+ padding: 15px;
1060
+ border-radius: var(--bw-radius);
1061
+ border: 2px solid var(--bw-border);
1062
+ background: transparent;
1063
+ cursor: pointer;
1064
+ text-align: left;
1065
+ font-family: var(--bw-font);
1066
+ transition: border-color 250ms ease;
1067
+ margin-bottom: 10px;
1068
+ }
1069
+ .bw-cat-card:hover {
1070
+ border-color: var(--bw-text-muted);
1071
+ }
1072
+ .bw-cat-card.is-active {
1073
+ border-color: var(--bw-primary);
1074
+ }
1075
+ .bw-cat-icon {
1076
+ flex-shrink: 0;
1077
+ color: var(--bw-text-secondary);
1078
+ }
1079
+ .bw-cat-card.is-active .bw-cat-icon {
1080
+ color: var(--bw-text);
1081
+ }
1082
+ .bw-cat-name {
1083
+ flex: 1;
1084
+ font-size: 13px;
1085
+ font-weight: 600;
1086
+ color: var(--bw-text);
1087
+ }
1088
+ .bw-cat-chevron {
1089
+ flex-shrink: 0;
1090
+ color: var(--bw-text-muted);
1091
+ display: flex;
1092
+ align-items: center;
1093
+ justify-content: center;
1094
+ }
1095
+ .bw-cat-card.is-active .bw-cat-chevron {
1096
+ color: var(--bw-text);
1097
+ }
1098
+ .bw-cat-check {
1099
+ display: none;
1100
+ align-items: center;
1101
+ justify-content: center;
1102
+ width: 20px;
1103
+ height: 20px;
1104
+ border-radius: 50%;
1105
+ background: var(--bw-primary);
1106
+ color: var(--bw-primary-text);
1107
+ flex-shrink: 0;
1108
+ }
1109
+ .bw-svc-row {
1110
+ display: flex;
1111
+ align-items: center;
1112
+ gap: 10px;
1113
+ width: 100%;
1114
+ padding: 10px 12px;
1115
+ border: none;
1116
+ background: transparent;
1117
+ cursor: pointer;
1118
+ text-align: left;
1119
+ font-family: var(--bw-font);
1120
+ border-radius: 6px;
1121
+ transition: background 150ms ease;
1122
+ }
1123
+ .bw-svc-row:hover {
1124
+ background: var(--bw-hover);
1125
+ }
1126
+ .bw-check {
1127
+ flex-shrink: 0;
1128
+ width: 18px;
1129
+ height: 18px;
1130
+ border-radius: 4px;
1131
+ border: 1.5px solid #D0D0D0;
1132
+ display: flex;
1133
+ align-items: center;
1134
+ justify-content: center;
1135
+ transition: all 150ms ease;
1136
+ }
1137
+ .bw-check.is-checked {
1138
+ background: var(--bw-primary);
1139
+ border-color: var(--bw-primary);
1140
+ color: var(--bw-primary-text);
1141
+ }
1142
+ .bw-svc-info {
1143
+ display: flex;
1144
+ flex-direction: column;
1145
+ gap: 1px;
1146
+ flex: 1;
1147
+ min-width: 0;
1148
+ }
1149
+ .bw-svc-name {
1150
+ font-size: 12px;
1151
+ font-weight: 500;
1152
+ color: var(--bw-text);
1153
+ line-height: 1.3;
1154
+ }
1155
+ .bw-svc-meta {
1156
+ font-size: 11px;
1157
+ color: var(--bw-text-muted);
1158
+ line-height: 1.3;
1159
+ }
1160
+ .bw-svc-desc {
1161
+ font-size: 11px;
1162
+ color: var(--bw-text-muted);
1163
+ line-height: 1.4;
1164
+ overflow: hidden;
1165
+ text-overflow: ellipsis;
1166
+ white-space: nowrap;
1167
+ }
1168
+ .bw-svc-price {
1169
+ flex-shrink: 0;
1170
+ font-size: 14px;
1171
+ font-weight: 600;
1172
+ color: var(--bw-text);
1173
+ }
1174
+ .bw-svc-thumb {
1175
+ flex-shrink: 0;
1176
+ width: 36px;
1177
+ height: 36px;
1178
+ border-radius: 6px;
1179
+ overflow: hidden;
1180
+ }
1181
+ .bw-svc-thumb img {
1182
+ width: 100%;
1183
+ height: 100%;
1184
+ -o-object-fit: cover;
1185
+ object-fit: cover;
1186
+ display: block;
1187
+ }
1188
+ .bw-svc-img {
1189
+ display: none;
1190
+ }
1191
+ .bw-svc-badge {
1192
+ display: none;
1193
+ }
1194
+ .bw-load-more {
1195
+ display: block;
1196
+ width: 100%;
1197
+ margin-top: 4px;
1198
+ padding: 8px;
1199
+ border: none;
1200
+ background: none;
1201
+ font-family: var(--bw-font);
1202
+ font-size: 12px;
1203
+ font-weight: 500;
1204
+ color: var(--bw-text-secondary);
1205
+ cursor: pointer;
1206
+ text-decoration: underline;
1207
+ text-underline-offset: 2px;
1208
+ }
1209
+ .bw-load-more:hover {
1210
+ color: var(--bw-text);
1211
+ }
1212
+ .bw-step-2-heading {
1213
+ font-size: 14px;
1214
+ font-weight: 600;
1215
+ color: var(--bw-text);
1216
+ margin: 0;
1217
+ }
1218
+ .bw-step-2-divider,
1219
+ .bw-row-divider {
1220
+ height: 1px;
1221
+ background: var(--bw-border-light);
1222
+ }
1223
+ .bw-step-2-divider {
1224
+ margin: 10px 0 4px;
1225
+ }
1226
+ .bw-svc-row--full {
1227
+ gap: 12px;
1228
+ padding: 14px 0;
1229
+ border-radius: 0;
1230
+ align-items: center;
1231
+ }
1232
+ .bw-svc-row--full:hover {
1233
+ background: transparent;
1234
+ }
1235
+ .bw-svc-row--full .bw-svc-name {
1236
+ font-size: 14px;
1237
+ font-weight: 500;
1238
+ }
1239
+ .bw-svc-row--full .bw-svc-meta {
1240
+ font-size: 12px;
1241
+ }
1242
+ .bw-svc-row--full .bw-svc-desc {
1243
+ font-size: 11px;
1244
+ margin-top: 2px;
1245
+ }
1246
+ .bw-svc-row--has-img {
1247
+ padding: 10px 0;
1248
+ align-items: center;
1249
+ }
1250
+ .bw-svc-row--has-img .bw-svc-img {
1251
+ display: block;
1252
+ flex-shrink: 0;
1253
+ width: 120px;
1254
+ height: 120px;
1255
+ border-radius: 14px;
1256
+ overflow: hidden;
1257
+ position: relative;
1258
+ }
1259
+ .bw-svc-row--has-img .bw-svc-img img {
1260
+ width: 100%;
1261
+ height: 100%;
1262
+ -o-object-fit: cover;
1263
+ object-fit: cover;
1264
+ display: block;
1265
+ }
1266
+ .bw-svc-row--has-img .bw-svc-badge {
1267
+ display: block;
1268
+ position: absolute;
1269
+ bottom: 6px;
1270
+ right: 6px;
1271
+ background: #FFFFFF;
1272
+ border-radius: 8px;
1273
+ padding: 4px 8px;
1274
+ font-size: 13px;
1275
+ font-weight: 700;
1276
+ color: var(--bw-text);
1277
+ box-shadow: var(--bw-shadow-badge);
1278
+ line-height: 1;
1279
+ }
1280
+ .bw-svc-row--has-img .bw-svc-price {
1281
+ display: none;
1282
+ }
1283
+ .bw-check--lg {
1284
+ width: 20px;
1285
+ height: 20px;
1286
+ border-radius: 5px;
1287
+ }
1288
+ .bw-col--center {
1289
+ overflow-y: auto;
1290
+ scrollbar-width: none;
1291
+ -ms-overflow-style: none;
1292
+ }
1293
+ .bw-col--center::-webkit-scrollbar {
1294
+ display: none;
1295
+ }
1296
+ .bw-cal-card {
1297
+ border: 1px solid var(--bw-border);
1298
+ border-radius: var(--bw-radius);
1299
+ padding: 32px;
1300
+ display: flex;
1301
+ flex-direction: column;
1302
+ gap: 24px;
1303
+ flex: 1;
1304
+ }
1305
+ .bw-cal-prompt {
1306
+ font-size: 13px;
1307
+ color: var(--bw-text-muted);
1308
+ text-align: center;
1309
+ margin: 0;
1310
+ padding: 8px 0 0;
1311
+ }
1312
+ .bw-cal-header {
1313
+ display: flex;
1314
+ align-items: center;
1315
+ justify-content: space-between;
1316
+ }
1317
+ .bw-month-dropdown {
1318
+ position: relative;
1319
+ }
1320
+ .bw-month-btn {
1321
+ display: flex;
1322
+ align-items: center;
1323
+ gap: 6px;
1324
+ font-family: var(--bw-font);
1325
+ font-size: 15px;
1326
+ font-weight: 500;
1327
+ color: var(--bw-text);
1328
+ border: none;
1329
+ background: none;
1330
+ cursor: pointer;
1331
+ padding: 4px 8px;
1332
+ border-radius: 6px;
1333
+ }
1334
+ .bw-month-btn:hover {
1335
+ background: var(--bw-hover);
1336
+ }
1337
+ .bw-month-overlay {
1338
+ position: fixed;
1339
+ inset: 0;
1340
+ z-index: 9;
1341
+ }
1342
+ .bw-month-list {
1343
+ position: absolute;
1344
+ top: calc(100% + 4px);
1345
+ left: 0;
1346
+ z-index: 10;
1347
+ background: var(--bw-bg);
1348
+ border: 1px solid var(--bw-border);
1349
+ border-radius: var(--bw-radius);
1350
+ box-shadow: var(--bw-shadow);
1351
+ padding: 4px;
1352
+ display: flex;
1353
+ flex-direction: column;
1354
+ max-height: 200px;
1355
+ overflow-y: auto;
1356
+ min-width: 160px;
1357
+ }
1358
+ .bw-month-option {
1359
+ padding: 8px 12px;
1360
+ border: none;
1361
+ background: none;
1362
+ font-family: var(--bw-font);
1363
+ font-size: 13px;
1364
+ color: var(--bw-text);
1365
+ cursor: pointer;
1366
+ text-align: left;
1367
+ border-radius: 4px;
1368
+ white-space: nowrap;
1369
+ }
1370
+ .bw-month-option:hover {
1371
+ background: var(--bw-hover);
1372
+ }
1373
+ .bw-month-option.is-active {
1374
+ background: var(--bw-hover);
1375
+ color: var(--bw-text);
1376
+ }
1377
+ .bw-cal-navs {
1378
+ display: flex;
1379
+ align-items: center;
1380
+ gap: 4px;
1381
+ }
1382
+ .bw-cal-nav {
1383
+ width: 28px;
1384
+ height: 28px;
1385
+ display: flex;
1386
+ align-items: center;
1387
+ justify-content: center;
1388
+ border: none;
1389
+ background: none;
1390
+ color: var(--bw-text-muted);
1391
+ cursor: pointer;
1392
+ border-radius: 6px;
1393
+ transition: all 150ms ease;
1394
+ }
1395
+ .bw-cal-nav:hover:not(:disabled) {
1396
+ background: var(--bw-hover);
1397
+ color: var(--bw-text);
1398
+ }
1399
+ .bw-cal-nav:disabled {
1400
+ opacity: 0.3;
1401
+ cursor: default;
1402
+ }
1403
+ .bw-cal-weekdays {
1404
+ display: grid;
1405
+ grid-template-columns: repeat(7, 1fr);
1406
+ text-align: center;
1407
+ }
1408
+ .bw-cal-weekdays span {
1409
+ font-size: 12px;
1410
+ font-weight: 500;
1411
+ color: var(--bw-text-muted);
1412
+ padding: 6px 0;
1413
+ }
1414
+ .bw-cal-grid {
1415
+ display: grid;
1416
+ grid-template-columns: repeat(7, 1fr);
1417
+ gap: 6px 0;
1418
+ }
1419
+ .bw-cal-day {
1420
+ height: 48px;
1421
+ display: flex;
1422
+ align-items: center;
1423
+ justify-content: center;
1424
+ border-radius: 6px;
1425
+ border: none;
1426
+ background: none;
1427
+ font-family: var(--bw-font);
1428
+ font-size: 13px;
1429
+ color: var(--bw-text);
1430
+ cursor: default;
1431
+ transition: background 300ms ease, color 300ms ease;
1432
+ }
1433
+ .bw-cal-day.is-outside {
1434
+ visibility: hidden;
1435
+ }
1436
+ .bw-cal-day.is-available {
1437
+ cursor: pointer;
1438
+ }
1439
+ .bw-cal-day.is-available:hover:not(.is-selected) {
1440
+ background: var(--bw-hover);
1441
+ }
1442
+ .bw-cal-day.is-selected {
1443
+ background: var(--bw-primary);
1444
+ color: var(--bw-primary-text);
1445
+ font-weight: 600;
1446
+ cursor: default;
1447
+ transition: background 250ms ease, color 200ms ease;
1448
+ }
1449
+ .bw-cal-day.is-today:not(.is-selected) {
1450
+ font-weight: 600;
1451
+ }
1452
+ .bw-cal-day.is-blocked {
1453
+ color: var(--bw-border);
1454
+ }
1455
+ .bw-cal-day.is-disabled {
1456
+ color: var(--bw-border);
1457
+ cursor: default;
1458
+ }
1459
+ .bw-time-divider {
1460
+ display: none;
1461
+ height: 1px;
1462
+ background: var(--bw-border);
1463
+ }
1464
+ .bw-time-slots {
1465
+ display: grid;
1466
+ grid-template-columns: repeat(4, 1fr);
1467
+ gap: 10px;
1468
+ margin-top: 8px;
1469
+ }
1470
+ .bw-no-slots {
1471
+ font-size: 13px;
1472
+ color: var(--bw-text-muted);
1473
+ margin: 0;
1474
+ }
1475
+ .bw-no-services {
1476
+ font-size: 12px;
1477
+ color: var(--bw-text-muted);
1478
+ margin: 0;
1479
+ padding: 12px 0;
1480
+ text-align: center;
1481
+ }
1482
+ .bw-slot {
1483
+ padding: 12px 0;
1484
+ border-radius: var(--bw-radius);
1485
+ border: 1px solid var(--bw-border);
1486
+ background: transparent;
1487
+ font-family: var(--bw-font);
1488
+ font-size: 13px;
1489
+ color: var(--bw-text);
1490
+ cursor: pointer;
1491
+ transition: all 150ms ease;
1492
+ white-space: nowrap;
1493
+ text-align: center;
1494
+ }
1495
+ .bw-slot:hover {
1496
+ border-color: var(--bw-text);
1497
+ }
1498
+ .bw-slot.is-active {
1499
+ background: var(--bw-primary);
1500
+ color: var(--bw-primary-text);
1501
+ border-color: var(--bw-primary);
1502
+ }
1503
+ .bw-timezone {
1504
+ display: flex;
1505
+ align-items: center;
1506
+ justify-content: center;
1507
+ gap: 6px;
1508
+ font-size: 12px;
1509
+ color: var(--bw-text-muted);
1510
+ margin-top: auto;
1511
+ }
1512
+ .bw-col--right {
1513
+ overflow: visible;
1514
+ }
1515
+ .bw-right-scroll {
1516
+ flex: 1;
1517
+ min-height: 0;
1518
+ overflow: hidden;
1519
+ padding: 2px;
1520
+ margin: -2px;
1521
+ }
1522
+ .bw-right-scroll .scrollbar-track {
1523
+ display: none !important;
1524
+ }
1525
+ .bw-right-inner {
1526
+ display: flex;
1527
+ flex-direction: column;
1528
+ }
1529
+ .bw-form {
1530
+ display: flex;
1531
+ flex-direction: column;
1532
+ gap: 20px;
1533
+ }
1534
+ .bw-form-fields {
1535
+ display: flex;
1536
+ flex-direction: column;
1537
+ gap: 12px;
1538
+ }
1539
+ .bw-field {
1540
+ display: flex;
1541
+ flex-direction: column;
1542
+ gap: 4px;
1543
+ }
1544
+ .bw-field label {
1545
+ font-size: 12px;
1546
+ font-weight: 500;
1547
+ color: var(--bw-text);
1548
+ }
1549
+ .bw-field input,
1550
+ .bw-field select,
1551
+ .bw-field textarea {
1552
+ width: 100%;
1553
+ padding: 10px 14px;
1554
+ border-radius: 6px;
1555
+ border: 1px solid var(--bw-border);
1556
+ font-family: var(--bw-font);
1557
+ font-size: 13px;
1558
+ color: var(--bw-text);
1559
+ background: transparent;
1560
+ outline: none;
1561
+ transition: border-color 150ms ease;
1562
+ -webkit-appearance: none;
1563
+ -moz-appearance: none;
1564
+ appearance: none;
1565
+ }
1566
+ .bw-field textarea {
1567
+ min-height: 80px;
1568
+ resize: none;
1569
+ }
1570
+ .bw-field input:focus,
1571
+ .bw-field select:focus,
1572
+ .bw-field textarea:focus {
1573
+ border-color: var(--bw-primary);
1574
+ }
1575
+ .bw-field input::-moz-placeholder,
1576
+ .bw-field textarea::-moz-placeholder {
1577
+ color: var(--bw-text-muted);
1578
+ }
1579
+ .bw-field input::placeholder,
1580
+ .bw-field textarea::placeholder {
1581
+ color: var(--bw-text-muted);
1582
+ }
1583
+ .bw-required {
1584
+ color: var(--bw-error-text);
1585
+ font-weight: 400;
1586
+ }
1587
+ .bw-field--notes {
1588
+ position: relative;
1589
+ }
1590
+ .bw-char-count {
1591
+ position: absolute;
1592
+ bottom: 10px;
1593
+ right: 12px;
1594
+ font-size: 10px;
1595
+ color: var(--bw-text-muted);
1596
+ pointer-events: none;
1597
+ }
1598
+ .bw-summary {
1599
+ padding: 16px 0 0;
1600
+ }
1601
+ .bw-summary-title {
1602
+ display: block;
1603
+ font-size: 14px;
1604
+ font-weight: 600;
1605
+ color: var(--bw-text);
1606
+ margin-bottom: 12px;
1607
+ }
1608
+ .bw-summary-rows {
1609
+ display: flex;
1610
+ flex-direction: column;
1611
+ gap: 8px;
1612
+ }
1613
+ .bw-summary-row {
1614
+ display: flex;
1615
+ justify-content: space-between;
1616
+ align-items: baseline;
1617
+ font-size: 13px;
1618
+ gap: 16px;
1619
+ }
1620
+ .bw-summary-row span:first-child {
1621
+ color: var(--bw-text-muted);
1622
+ flex-shrink: 0;
1623
+ }
1624
+ .bw-summary-val {
1625
+ color: var(--bw-text);
1626
+ text-align: right;
1627
+ overflow: hidden;
1628
+ text-overflow: ellipsis;
1629
+ white-space: nowrap;
1630
+ min-width: 0;
1631
+ }
1632
+ .bw-summary-total {
1633
+ margin-top: 4px;
1634
+ }
1635
+ .bw-summary-total span:first-child {
1636
+ color: var(--bw-text);
1637
+ font-weight: 600;
1638
+ }
1639
+ .bw-summary-total .bw-summary-val {
1640
+ font-weight: 600;
1641
+ }
1642
+ .bw-error {
1643
+ padding: 10px 12px;
1644
+ border-radius: var(--bw-radius);
1645
+ background: var(--bw-error-bg);
1646
+ color: var(--bw-error-text);
1647
+ font-size: 12px;
1648
+ line-height: 1.4;
1649
+ }
1650
+ .bw-confirm-btn {
1651
+ width: 100%;
1652
+ height: 48px;
1653
+ border-radius: var(--bw-radius);
1654
+ background: var(--bw-primary);
1655
+ color: var(--bw-primary-text);
1656
+ font-family: var(--bw-font);
1657
+ font-size: 15px;
1658
+ font-weight: 500;
1659
+ border: none;
1660
+ cursor: pointer;
1661
+ display: flex;
1662
+ align-items: center;
1663
+ justify-content: center;
1664
+ gap: 10px;
1665
+ transition: opacity 150ms ease;
1666
+ }
1667
+ .bw-confirm-btn:hover:not(:disabled) {
1668
+ opacity: 0.9;
1669
+ }
1670
+ .bw-confirm-btn:disabled {
1671
+ opacity: 0.35;
1672
+ cursor: default;
1673
+ }
1674
+ .bw-confirm-hint {
1675
+ font-size: 12px;
1676
+ color: var(--bw-text-muted);
1677
+ text-align: center;
1678
+ margin: 0;
1679
+ }
1680
+ .bw-done {
1681
+ text-align: center;
1682
+ padding: 80px 20px;
1683
+ display: flex;
1684
+ flex-direction: column;
1685
+ align-items: center;
1686
+ gap: 16px;
1687
+ }
1688
+ .bw-done-icon {
1689
+ width: 56px;
1690
+ height: 56px;
1691
+ border-radius: 50%;
1692
+ background: var(--bw-primary);
1693
+ color: var(--bw-primary-text);
1694
+ display: flex;
1695
+ align-items: center;
1696
+ justify-content: center;
1697
+ margin-bottom: 8px;
1698
+ }
1699
+ .bw-done-title {
1700
+ font-family: var(--bw-font);
1701
+ font-size: 28px;
1702
+ font-weight: 300;
1703
+ letter-spacing: -0.5px;
1704
+ color: var(--bw-text);
1705
+ }
1706
+ .bw-done-text {
1707
+ font-size: 15px;
1708
+ color: var(--bw-text-secondary);
1709
+ line-height: 1.6;
1710
+ max-width: 400px;
1711
+ }
1712
+ .bw-btn-primary {
1713
+ padding: 14px 32px;
1714
+ border-radius: var(--bw-radius);
1715
+ background: var(--bw-primary);
1716
+ color: var(--bw-primary-text);
1717
+ font-family: var(--bw-font);
1718
+ font-size: 15px;
1719
+ font-weight: 500;
1720
+ border: none;
1721
+ cursor: pointer;
1722
+ transition: opacity 150ms ease;
1723
+ }
1724
+ .bw-btn-primary:hover {
1725
+ opacity: 0.9;
1726
+ }
1727
+ .bw-footer {
1728
+ display: none;
1729
+ max-width: 1440px;
1730
+ margin: 0 auto;
1731
+ width: 100%;
1732
+ box-sizing: border-box;
1733
+ }
1734
+ @media (max-width: 1024px) {
1735
+ .bw-svc-scroll-wrap {
1736
+ overflow-y: auto;
1737
+ -webkit-overflow-scrolling: touch;
1738
+ scrollbar-width: none;
1739
+ }
1740
+ .bw-svc-scroll-wrap::-webkit-scrollbar {
1741
+ display: none;
1742
+ }
1743
+ .booking-page > .site-header {
1744
+ display: none;
1745
+ }
1746
+ .bw-topbar {
1747
+ display: flex;
1748
+ align-items: center;
1749
+ justify-content: space-between;
1750
+ padding: 16px 24px;
1751
+ position: relative;
1752
+ z-index: 101;
1753
+ }
1754
+ .bw-dots {
1755
+ display: flex;
1756
+ gap: 8px;
1757
+ }
1758
+ .bw-dot {
1759
+ width: 28px;
1760
+ height: 3px;
1761
+ border-radius: 1.5px;
1762
+ background: var(--bw-border);
1763
+ transition: background 200ms ease;
1764
+ }
1765
+ .bw-dot.is-filled {
1766
+ background: var(--bw-primary);
1767
+ }
1768
+ .bw-topbar-menu {
1769
+ display: flex;
1770
+ align-items: center;
1771
+ justify-content: center;
1772
+ background: none;
1773
+ border: none;
1774
+ padding: 0;
1775
+ color: var(--bw-text);
1776
+ cursor: pointer;
1777
+ }
1778
+ .bw-nav-overlay {
1779
+ display: flex;
1780
+ flex-direction: column;
1781
+ position: absolute;
1782
+ top: 0;
1783
+ left: 0;
1784
+ right: 0;
1785
+ bottom: 0;
1786
+ z-index: 100;
1787
+ background: #FFFFFF;
1788
+ padding: 72px 24px 24px;
1789
+ }
1790
+ .bw-nav {
1791
+ display: flex;
1792
+ flex-direction: column;
1793
+ gap: 4px;
1794
+ flex: 1;
1795
+ justify-content: center;
1796
+ padding: 16px 0;
1797
+ }
1798
+ .bw-nav-link {
1799
+ display: flex;
1800
+ align-items: center;
1801
+ justify-content: center;
1802
+ text-align: center;
1803
+ padding: 16px 8px;
1804
+ font-family: var(--bw-font);
1805
+ font-size: 22px;
1806
+ font-weight: 600;
1807
+ color: var(--bw-text);
1808
+ text-decoration: none;
1809
+ min-height: 44px;
1810
+ transition: color 150ms ease, opacity 150ms ease;
1811
+ }
1812
+ .bw-nav-link:hover {
1813
+ opacity: 0.7;
1814
+ }
1815
+ .bw-nav-link:first-child {
1816
+ border-top: none;
1817
+ }
1818
+ .bw-header {
1819
+ padding: 24px 24px 20px;
1820
+ }
1821
+ .bw-title {
1822
+ font-size: 24px;
1823
+ letter-spacing: -0.5px;
1824
+ }
1825
+ .bw-title--desktop {
1826
+ display: none;
1827
+ }
1828
+ .bw-title--mobile {
1829
+ display: block;
1830
+ }
1831
+ .bw-header-divider {
1832
+ display: none;
1833
+ }
1834
+ .bw-body {
1835
+ display: flex;
1836
+ flex-direction: column;
1837
+ padding: 0 24px;
1838
+ flex: 1;
1839
+ min-height: 0;
1840
+ overflow-y: auto;
1841
+ -webkit-overflow-scrolling: touch;
1842
+ scrollbar-width: none;
1843
+ }
1844
+ .bw-body::-webkit-scrollbar {
1845
+ display: none;
1846
+ }
1847
+ .bw-body > .scrollbar-track {
1848
+ display: none !important;
1849
+ }
1850
+ .bw-body-inner {
1851
+ display: flex;
1852
+ flex-direction: column;
1853
+ padding-bottom: 16px;
1854
+ }
1855
+ .bw-col {
1856
+ display: none;
1857
+ }
1858
+ .bw-body[data-mobile-step="1"] .bw-col--left,
1859
+ .bw-body[data-mobile-step="2"] .bw-col--left {
1860
+ display: flex;
1861
+ }
1862
+ .bw-body[data-mobile-step="3"] .bw-col--center {
1863
+ display: flex;
1864
+ }
1865
+ .bw-body[data-mobile-step="4"] .bw-col--right {
1866
+ display: flex;
1867
+ }
1868
+ .bw-body[data-mobile-step="1"] .bw-step-1 {
1869
+ display: flex;
1870
+ }
1871
+ .bw-body[data-mobile-step="1"] .bw-step-2 {
1872
+ display: none;
1873
+ }
1874
+ .bw-body[data-mobile-step="2"] .bw-step-1 {
1875
+ display: none;
1876
+ }
1877
+ .bw-body[data-mobile-step="2"] .bw-step-2 {
1878
+ display: flex;
1879
+ flex-direction: column;
1880
+ }
1881
+ .bw-svc-scroll {
1882
+ display: none;
1883
+ }
1884
+ .bw-cat-chevron {
1885
+ display: none;
1886
+ }
1887
+ .bw-cat-check {
1888
+ display: flex;
1889
+ }
1890
+ .bw-cat-card {
1891
+ padding: 14px;
1892
+ }
1893
+ .bw-cat-card .bw-cat-name {
1894
+ font-weight: 500;
1895
+ }
1896
+ .bw-cat-card.is-active .bw-cat-name {
1897
+ font-weight: 600;
1898
+ }
1899
+ .bw-col--left {
1900
+ border-right: none;
1901
+ padding-right: 0;
1902
+ overflow: visible;
1903
+ }
1904
+ .bw-step-1 {
1905
+ flex: 0 0 auto;
1906
+ }
1907
+ .bw-cat-scroll {
1908
+ flex: 0 0 auto;
1909
+ overflow: visible;
1910
+ }
1911
+ .bw-col--center {
1912
+ overflow: visible;
1913
+ }
1914
+ .bw-cal-card {
1915
+ padding: 20px;
1916
+ }
1917
+ .bw-cal-day {
1918
+ height: 44px;
1919
+ }
1920
+ .bw-slot {
1921
+ min-height: 44px;
1922
+ }
1923
+ .bw-time-divider {
1924
+ display: block;
1925
+ margin: 4px 0;
1926
+ }
1927
+ .bw-col--right {
1928
+ border-top: none;
1929
+ padding-top: 0;
1930
+ overflow: visible;
1931
+ }
1932
+ .bw-right-scroll {
1933
+ overflow: visible;
1934
+ }
1935
+ .bw-form-fields {
1936
+ gap: 16px;
1937
+ }
1938
+ .bw-form .bw-summary {
1939
+ display: none;
1940
+ }
1941
+ .bw-confirm-hint {
1942
+ display: none;
1943
+ }
1944
+ .bw-confirm-btn {
1945
+ display: none;
1946
+ }
1947
+ .bw-footer {
1948
+ display: flex;
1949
+ flex-direction: column;
1950
+ gap: 20px;
1951
+ padding: 16px 24px 34px;
1952
+ border-top: 1px solid var(--bw-border-light);
1953
+ }
1954
+ .bw-footer-summary {
1955
+ padding: 16px;
1956
+ border: 1px solid var(--bw-border);
1957
+ border-radius: var(--bw-radius);
1958
+ display: flex;
1959
+ flex-direction: column;
1960
+ gap: 12px;
1961
+ }
1962
+ .bw-footer-summary .bw-summary-title {
1963
+ margin-bottom: 0;
1964
+ }
1965
+ .bw-footer-btns {
1966
+ display: flex;
1967
+ align-items: center;
1968
+ gap: 10px;
1969
+ }
1970
+ .bw-footer-back {
1971
+ width: 48px;
1972
+ height: 48px;
1973
+ flex-shrink: 0;
1974
+ display: flex;
1975
+ align-items: center;
1976
+ justify-content: center;
1977
+ border: 1px solid var(--bw-border);
1978
+ border-radius: var(--bw-radius-lg);
1979
+ background: transparent;
1980
+ color: var(--bw-text);
1981
+ cursor: pointer;
1982
+ transition: border-color 150ms ease;
1983
+ }
1984
+ .bw-footer-back:hover {
1985
+ border-color: var(--bw-text);
1986
+ }
1987
+ .bw-footer-next {
1988
+ flex: 1;
1989
+ height: 48px;
1990
+ display: flex;
1991
+ align-items: center;
1992
+ justify-content: center;
1993
+ gap: 10px;
1994
+ border-radius: var(--bw-radius-lg);
1995
+ background: var(--bw-primary);
1996
+ color: var(--bw-primary-text);
1997
+ font-family: var(--bw-font);
1998
+ font-size: 15px;
1999
+ font-weight: 500;
2000
+ border: none;
2001
+ cursor: pointer;
2002
+ transition: opacity 150ms ease;
2003
+ }
2004
+ .bw-footer-next:disabled {
2005
+ opacity: 0.35;
2006
+ cursor: default;
2007
+ }
2008
+ }
2009
+ @media (max-width: 480px) {
2010
+ .bw-header {
2011
+ padding: 20px 20px 16px;
2012
+ }
2013
+ .bw-body {
2014
+ padding: 0 20px;
2015
+ }
2016
+ .bw-footer {
2017
+ padding: 12px 20px 28px;
2018
+ }
2019
+ .bw-title {
2020
+ font-size: 22px;
2021
+ }
2022
+ .bw-cal-card {
2023
+ padding: 16px;
2024
+ gap: 16px;
2025
+ }
2026
+ .bw-cal-day {
2027
+ height: 40px;
2028
+ font-size: 12px;
2029
+ }
2030
+ .bw-cal-weekdays span {
2031
+ font-size: 11px;
2032
+ }
2033
+ .bw-slot {
2034
+ min-height: 40px;
2035
+ padding: 12px 0;
2036
+ font-size: 12px;
2037
+ }
2038
+ .bw-field input,
2039
+ .bw-field textarea {
2040
+ font-size: 14px;
2041
+ }
2042
+ .bw-summary-row {
2043
+ font-size: 12px;
2044
+ }
2045
+ }
636
2046
  /*# sourceMappingURL=styles.css.map */