@hachther/akilio-widget 0.7.0 → 1.1.0

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.
Files changed (45) hide show
  1. package/README.md +331 -26
  2. package/dist/_headers +16 -0
  3. package/dist/akilio-widget.min.js +45 -44
  4. package/dist/assets/EmailIcon.d.ts +2 -0
  5. package/dist/assets/FormIcon.d.ts +2 -0
  6. package/dist/assets/PhoneIcon.d.ts +2 -0
  7. package/dist/components/BrandLogo.d.ts +7 -1
  8. package/dist/components/CartPanel.d.ts +13 -0
  9. package/dist/components/CommerceActions.d.ts +11 -0
  10. package/dist/components/Composer.d.ts +7 -1
  11. package/dist/components/ContactActions.d.ts +2 -2
  12. package/dist/components/EmptyState.d.ts +3 -7
  13. package/dist/components/Icons.d.ts +3 -0
  14. package/dist/components/IdentityVerification.d.ts +14 -0
  15. package/dist/components/InlineDecisionCard.d.ts +2 -0
  16. package/dist/components/Launcher.d.ts +6 -1
  17. package/dist/components/MessageBubble.d.ts +9 -2
  18. package/dist/components/MessageList.d.ts +1 -1
  19. package/dist/components/ProductCard.d.ts +4 -2
  20. package/dist/components/ProductCards.d.ts +6 -1
  21. package/dist/components/ProductDetail.d.ts +12 -0
  22. package/dist/components/ProductVariantSelector.d.ts +9 -0
  23. package/dist/components/SectionPrompt.d.ts +2 -0
  24. package/dist/components/TextSelectionPrompt.d.ts +2 -0
  25. package/dist/components/VoiceRecorder.d.ts +11 -0
  26. package/dist/hooks/current-cart.d.ts +14 -0
  27. package/dist/hooks/proactive-summary.d.ts +1 -0
  28. package/dist/hooks/storage.d.ts +2 -0
  29. package/dist/index.d.ts +5 -1
  30. package/dist/index.min.js +10412 -7169
  31. package/dist/index.umd.min.cjs +37 -36
  32. package/dist/lib/cart-capabilities.d.ts +4 -0
  33. package/dist/lib/client.d.ts +35 -2
  34. package/dist/lib/copy.d.ts +8 -2
  35. package/dist/lib/storefront-cart.d.ts +5 -0
  36. package/dist/loader.js +46 -0
  37. package/dist/locales/en.d.ts +161 -0
  38. package/dist/locales/fr.d.ts +161 -0
  39. package/dist/locales/index.d.ts +3 -0
  40. package/dist/releases/1.1.0/akilio-widget.min.js +46 -0
  41. package/dist/style.css +1842 -81
  42. package/dist/types.d.ts +569 -31
  43. package/dist/vanilla.d.ts +1 -0
  44. package/dist/widget-manifest.json +8 -0
  45. package/package.json +5 -3
package/dist/style.css CHANGED
@@ -125,6 +125,75 @@
125
125
  letter-spacing: -0.01em;
126
126
  }
127
127
 
128
+ .akilio-launcher[data-experience='adaptive'] {
129
+ gap: 0;
130
+ min-width: 54px;
131
+ padding: 11px 12px;
132
+ }
133
+
134
+ .akilio-launcher[data-experience='adaptive'] .akilio-launcher-label {
135
+ display: inline-block;
136
+ max-width: 0;
137
+ margin-left: 0;
138
+ overflow: hidden;
139
+ opacity: 0;
140
+ white-space: nowrap;
141
+ transition:
142
+ max-width 300ms cubic-bezier(0.2, 0.8, 0.2, 1),
143
+ margin 300ms ease,
144
+ opacity 180ms ease;
145
+ }
146
+
147
+ .akilio-launcher[data-experience='adaptive'][data-expanded='true'],
148
+ .akilio-launcher[data-experience='adaptive'][data-answer-ready='true'] {
149
+ gap: 10px;
150
+ padding-right: 14px;
151
+ }
152
+
153
+ .akilio-launcher[data-experience='adaptive'][data-expanded='true']
154
+ .akilio-launcher-label,
155
+ .akilio-launcher[data-experience='adaptive'][data-answer-ready='true']
156
+ .akilio-launcher-label {
157
+ max-width: 255px;
158
+ opacity: 1;
159
+ }
160
+
161
+ .akilio-launcher[data-typing='true'] .akilio-launcher-label::after {
162
+ display: inline-block;
163
+ width: 1px;
164
+ height: 1em;
165
+ margin-left: 3px;
166
+ background: currentColor;
167
+ content: '';
168
+ vertical-align: -0.12em;
169
+ animation: akilio-launcher-caret 700ms steps(1, end) infinite;
170
+ }
171
+
172
+ .akilio-launcher[data-answer-ready='true'] {
173
+ animation: akilio-launcher-answer-ready 700ms cubic-bezier(0.2, 0.8, 0.2, 1)
174
+ both;
175
+ }
176
+
177
+ @keyframes akilio-launcher-answer-ready {
178
+ 0%,
179
+ 100% {
180
+ box-shadow:
181
+ 0 24px 60px rgba(24, 24, 27, 0.25),
182
+ 0 0 0 1px rgba(9, 9, 11, 0.08);
183
+ }
184
+ 45% {
185
+ box-shadow:
186
+ 0 24px 60px rgba(24, 24, 27, 0.25),
187
+ 0 0 0 7px color-mix(in srgb, var(--akilio-primary) 28%, transparent);
188
+ }
189
+ }
190
+
191
+ @keyframes akilio-launcher-caret {
192
+ 50% {
193
+ opacity: 0;
194
+ }
195
+ }
196
+
128
197
  .akilio-contextual-prompt {
129
198
  position: fixed;
130
199
  left: 50%;
@@ -498,6 +567,7 @@
498
567
  transition:
499
568
  background 160ms ease,
500
569
  color 160ms ease;
570
+ padding-inline-start: 4px;
501
571
  }
502
572
 
503
573
  .akilio-header-actions button:hover {
@@ -680,6 +750,303 @@
680
750
  margin-bottom: 0;
681
751
  }
682
752
 
753
+ .akilio-clarification-badge {
754
+ display: inline-flex;
755
+ margin-top: 10px;
756
+ border-radius: 999px;
757
+ background: color-mix(in srgb, var(--akilio-primary) 11%, transparent);
758
+ color: var(--akilio-primary);
759
+ padding: 4px 8px;
760
+ font-size: 11px;
761
+ font-weight: 700;
762
+ }
763
+
764
+ .akilio-clarification-card {
765
+ display: grid;
766
+ gap: 10px;
767
+ margin-top: 12px;
768
+ padding: 13px;
769
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 22%, #d4d4d8);
770
+ border-radius: 14px;
771
+ background: color-mix(in srgb, var(--akilio-primary) 6%, #fff);
772
+ }
773
+
774
+ .akilio-clarification-card strong {
775
+ color: #17211f;
776
+ font-size: 13px;
777
+ line-height: 1.4;
778
+ }
779
+
780
+ .akilio-clarification-card label {
781
+ display: grid;
782
+ gap: 5px;
783
+ color: #3f5f5a;
784
+ font-size: 12px;
785
+ font-weight: 700;
786
+ }
787
+
788
+ .akilio-clarification-card input,
789
+ .akilio-clarification-card select {
790
+ width: 100%;
791
+ box-sizing: border-box;
792
+ border: 1px solid #d4d4d8;
793
+ border-radius: 9px;
794
+ background: #fff;
795
+ color: #18181b;
796
+ padding: 8px 9px;
797
+ font: inherit;
798
+ }
799
+
800
+ .akilio-clarification-card > button,
801
+ .akilio-clarification-options button {
802
+ border: 0;
803
+ border-radius: 999px;
804
+ background: var(--akilio-primary);
805
+ color: var(--akilio-primary-foreground, #fff);
806
+ padding: 8px 12px;
807
+ cursor: pointer;
808
+ font: inherit;
809
+ font-size: 12px;
810
+ font-weight: 700;
811
+ }
812
+
813
+ .akilio-clarification-card > button:disabled {
814
+ cursor: not-allowed;
815
+ opacity: 0.55;
816
+ }
817
+
818
+ .akilio-clarification-options {
819
+ display: flex;
820
+ flex-wrap: wrap;
821
+ gap: 7px;
822
+ }
823
+
824
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-clarification-card {
825
+ border-color: color-mix(in srgb, var(--akilio-primary) 35%, #3f3f46);
826
+ background: color-mix(in srgb, var(--akilio-primary) 14%, #18181b);
827
+ }
828
+
829
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-clarification-card strong {
830
+ color: #fafafa;
831
+ }
832
+
833
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-clarification-card label {
834
+ color: #99f6e4;
835
+ }
836
+
837
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-clarification-card input,
838
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-clarification-card select {
839
+ border-color: #52525b;
840
+ background: #27272a;
841
+ color: #fafafa;
842
+ }
843
+
844
+ @media (prefers-color-scheme: dark) {
845
+ .akilio-root[data-akilio-color-mode='system'] .akilio-clarification-card {
846
+ border-color: color-mix(in srgb, var(--akilio-primary) 35%, #3f3f46);
847
+ background: color-mix(in srgb, var(--akilio-primary) 14%, #18181b);
848
+ }
849
+
850
+ .akilio-root[data-akilio-color-mode='system']
851
+ .akilio-clarification-card
852
+ strong {
853
+ color: #fafafa;
854
+ }
855
+
856
+ .akilio-root[data-akilio-color-mode='system']
857
+ .akilio-clarification-card
858
+ label {
859
+ color: #99f6e4;
860
+ }
861
+
862
+ .akilio-root[data-akilio-color-mode='system']
863
+ .akilio-clarification-card
864
+ input,
865
+ .akilio-root[data-akilio-color-mode='system']
866
+ .akilio-clarification-card
867
+ select {
868
+ border-color: #52525b;
869
+ background: #27272a;
870
+ color: #fafafa;
871
+ }
872
+ }
873
+
874
+ .akilio-human-confirmation {
875
+ display: flex;
876
+ gap: 10px;
877
+ margin-top: 12px;
878
+ padding: 14px;
879
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 24%, #d4d4d8);
880
+ border-radius: 16px;
881
+ background: linear-gradient(
882
+ 135deg,
883
+ color-mix(in srgb, var(--akilio-primary) 10%, #fff),
884
+ #fff 70%
885
+ );
886
+ }
887
+
888
+ .akilio-human-confirmation-icon {
889
+ display: grid;
890
+ width: 32px;
891
+ height: 32px;
892
+ flex: 0 0 32px;
893
+ place-items: center;
894
+ border-radius: 10px;
895
+ background: #fff;
896
+ box-shadow: 0 2px 8px rgba(15, 23, 42, 0.1);
897
+ }
898
+
899
+ .akilio-human-confirmation-icon svg {
900
+ width: 18px;
901
+ height: 18px;
902
+ }
903
+
904
+ .akilio-human-confirmation-content {
905
+ min-width: 0;
906
+ }
907
+
908
+ .akilio-human-confirmation strong {
909
+ display: block;
910
+ margin: 0;
911
+ color: #17211f;
912
+ font-size: 13px;
913
+ line-height: 1.35;
914
+ }
915
+
916
+ .akilio-human-confirmation p {
917
+ margin-top: 4px;
918
+ color: #52525b;
919
+ font-size: 12px;
920
+ line-height: 1.45;
921
+ }
922
+
923
+ .akilio-human-confirmation-consequences {
924
+ color: #3f5f5a !important;
925
+ }
926
+
927
+ .akilio-human-confirmation-error {
928
+ color: #b91c1c !important;
929
+ }
930
+
931
+ .akilio-human-confirmation-actions {
932
+ display: flex;
933
+ flex-wrap: wrap;
934
+ gap: 8px;
935
+ margin-top: 11px;
936
+ }
937
+
938
+ .akilio-human-confirmation button {
939
+ border-radius: 999px;
940
+ padding: 8px 12px;
941
+ cursor: pointer;
942
+ font: inherit;
943
+ font-size: 12px;
944
+ font-weight: 700;
945
+ }
946
+
947
+ .akilio-human-confirmation-confirm {
948
+ margin-top: 10px;
949
+ border: 0;
950
+ background: var(--akilio-primary);
951
+ color: var(--akilio-primary-foreground, #fff);
952
+ }
953
+
954
+ .akilio-human-confirmation-actions .akilio-human-confirmation-confirm {
955
+ margin-top: 0;
956
+ }
957
+
958
+ .akilio-human-confirmation-cancel {
959
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 20%, #d4d4d8);
960
+ background: rgba(255, 255, 255, 0.72);
961
+ color: #3f5f5a;
962
+ }
963
+
964
+ .akilio-human-confirmation button:disabled {
965
+ cursor: wait;
966
+ opacity: 0.65;
967
+ }
968
+
969
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-human-confirmation {
970
+ border-color: color-mix(in srgb, var(--akilio-primary) 35%, #3f3f46);
971
+ background: linear-gradient(
972
+ 135deg,
973
+ color-mix(in srgb, var(--akilio-primary) 18%, #18181b),
974
+ #18181b 70%
975
+ );
976
+ }
977
+
978
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-human-confirmation-icon {
979
+ background: #27272a;
980
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.24);
981
+ }
982
+
983
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-human-confirmation strong {
984
+ color: #fafafa;
985
+ }
986
+
987
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-human-confirmation p {
988
+ color: #d4d4d8;
989
+ }
990
+
991
+ .akilio-root[data-akilio-color-mode='dark']
992
+ .akilio-human-confirmation-consequences {
993
+ color: #99f6e4 !important;
994
+ }
995
+
996
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-human-confirmation-error {
997
+ color: #fca5a5 !important;
998
+ }
999
+
1000
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-human-confirmation-cancel {
1001
+ border-color: #52525b;
1002
+ background: #27272a;
1003
+ color: #e4e4e7;
1004
+ }
1005
+
1006
+ @media (prefers-color-scheme: dark) {
1007
+ .akilio-root[data-akilio-color-mode='system'] .akilio-human-confirmation {
1008
+ border-color: color-mix(in srgb, var(--akilio-primary) 35%, #3f3f46);
1009
+ background: linear-gradient(
1010
+ 135deg,
1011
+ color-mix(in srgb, var(--akilio-primary) 18%, #18181b),
1012
+ #18181b 70%
1013
+ );
1014
+ }
1015
+
1016
+ .akilio-root[data-akilio-color-mode='system']
1017
+ .akilio-human-confirmation-icon {
1018
+ background: #27272a;
1019
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.24);
1020
+ }
1021
+
1022
+ .akilio-root[data-akilio-color-mode='system']
1023
+ .akilio-human-confirmation
1024
+ strong {
1025
+ color: #fafafa;
1026
+ }
1027
+
1028
+ .akilio-root[data-akilio-color-mode='system'] .akilio-human-confirmation p {
1029
+ color: #d4d4d8;
1030
+ }
1031
+
1032
+ .akilio-root[data-akilio-color-mode='system']
1033
+ .akilio-human-confirmation-consequences {
1034
+ color: #99f6e4 !important;
1035
+ }
1036
+
1037
+ .akilio-root[data-akilio-color-mode='system']
1038
+ .akilio-human-confirmation-error {
1039
+ color: #fca5a5 !important;
1040
+ }
1041
+
1042
+ .akilio-root[data-akilio-color-mode='system']
1043
+ .akilio-human-confirmation-cancel {
1044
+ border-color: #52525b;
1045
+ background: #27272a;
1046
+ color: #e4e4e7;
1047
+ }
1048
+ }
1049
+
683
1050
  .akilio-answer ul,
684
1051
  .akilio-answer ol {
685
1052
  margin: 0.625rem 0 0.625rem 1.25rem;
@@ -973,30 +1340,111 @@
973
1340
  backdrop-filter: blur(16px);
974
1341
  }
975
1342
 
976
- .akilio-composer-box {
1343
+ .akilio-intent-actions {
977
1344
  display: flex;
978
- align-items: flex-end;
979
1345
  gap: 8px;
980
- border: 1px solid rgba(212, 212, 216, 0.95);
981
- border-radius: 24px;
982
- background: #f8fafc;
983
- padding: 6px 12px;
984
- box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
985
- transition:
986
- border-color 150ms ease,
987
- background 150ms ease,
988
- box-shadow 150ms ease;
1346
+ overflow-x: auto;
1347
+ padding: 0 0 8px;
1348
+ scrollbar-width: none;
989
1349
  }
990
1350
 
991
- .akilio-composer-box:focus-within {
992
- border-color: color-mix(in srgb, var(--akilio-primary) 55%, #d4d4d8);
993
- background: #fff;
994
- box-shadow:
995
- 0 0 0 4px color-mix(in srgb, var(--akilio-primary) 13%, transparent),
996
- inset 0 1px 2px rgba(15, 23, 42, 0.03);
1351
+ .akilio-intent-actions::-webkit-scrollbar {
1352
+ display: none;
997
1353
  }
998
1354
 
999
- .akilio-composer textarea {
1355
+ .akilio-intent-action {
1356
+ display: inline-flex;
1357
+ flex: 0 0 auto;
1358
+ align-items: center;
1359
+ gap: 6px;
1360
+ min-height: 34px;
1361
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 28%, #d4d4d8);
1362
+ border-radius: 999px;
1363
+ background: color-mix(in srgb, var(--akilio-primary) 7%, #fff);
1364
+ color: color-mix(in srgb, var(--akilio-primary) 82%, #18181b);
1365
+ cursor: pointer;
1366
+ padding: 7px 11px;
1367
+ font: inherit;
1368
+ font-size: 12px;
1369
+ font-weight: 700;
1370
+ line-height: 1.2;
1371
+ transition:
1372
+ background 150ms ease,
1373
+ border-color 150ms ease,
1374
+ transform 150ms ease;
1375
+ }
1376
+
1377
+ .akilio-intent-action svg {
1378
+ width: 15px;
1379
+ height: 15px;
1380
+ }
1381
+
1382
+ .akilio-intent-action:hover:not(:disabled) {
1383
+ border-color: var(--akilio-primary);
1384
+ background: color-mix(in srgb, var(--akilio-primary) 14%, #fff);
1385
+ transform: translateY(-1px);
1386
+ }
1387
+
1388
+ .akilio-intent-action:focus-visible {
1389
+ outline: 3px solid color-mix(in srgb, var(--akilio-primary) 25%, transparent);
1390
+ outline-offset: 2px;
1391
+ }
1392
+
1393
+ .akilio-intent-action:disabled {
1394
+ cursor: not-allowed;
1395
+ opacity: 0.5;
1396
+ }
1397
+
1398
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-intent-action {
1399
+ border-color: color-mix(in srgb, var(--akilio-primary) 42%, #3f3f46);
1400
+ background: color-mix(in srgb, var(--akilio-primary) 18%, #18181b);
1401
+ color: color-mix(in srgb, var(--akilio-primary) 48%, #fafafa);
1402
+ }
1403
+
1404
+ .akilio-root[data-akilio-color-mode='dark']
1405
+ .akilio-intent-action:hover:not(:disabled) {
1406
+ border-color: color-mix(in srgb, var(--akilio-primary) 72%, #a1a1aa);
1407
+ background: color-mix(in srgb, var(--akilio-primary) 28%, #18181b);
1408
+ }
1409
+
1410
+ @media (prefers-color-scheme: dark) {
1411
+ .akilio-root[data-akilio-color-mode='system'] .akilio-intent-action {
1412
+ border-color: color-mix(in srgb, var(--akilio-primary) 42%, #3f3f46);
1413
+ background: color-mix(in srgb, var(--akilio-primary) 18%, #18181b);
1414
+ color: color-mix(in srgb, var(--akilio-primary) 48%, #fafafa);
1415
+ }
1416
+
1417
+ .akilio-root[data-akilio-color-mode='system']
1418
+ .akilio-intent-action:hover:not(:disabled) {
1419
+ border-color: color-mix(in srgb, var(--akilio-primary) 72%, #a1a1aa);
1420
+ background: color-mix(in srgb, var(--akilio-primary) 28%, #18181b);
1421
+ }
1422
+ }
1423
+
1424
+ .akilio-composer-box {
1425
+ display: flex;
1426
+ align-items: flex-end;
1427
+ gap: 8px;
1428
+ border: 1px solid rgba(212, 212, 216, 0.95);
1429
+ border-radius: 24px;
1430
+ background: #f8fafc;
1431
+ padding: 6px 12px;
1432
+ box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
1433
+ transition:
1434
+ border-color 150ms ease,
1435
+ background 150ms ease,
1436
+ box-shadow 150ms ease;
1437
+ }
1438
+
1439
+ .akilio-composer-box:focus-within {
1440
+ border-color: color-mix(in srgb, var(--akilio-primary) 55%, #d4d4d8);
1441
+ background: #fff;
1442
+ box-shadow:
1443
+ 0 0 0 4px color-mix(in srgb, var(--akilio-primary) 13%, transparent),
1444
+ inset 0 1px 2px rgba(15, 23, 42, 0.03);
1445
+ }
1446
+
1447
+ .akilio-composer textarea {
1000
1448
  flex: 1;
1001
1449
  min-height: 36px;
1002
1450
  max-height: 120px;
@@ -1036,7 +1484,7 @@
1036
1484
  border: 0;
1037
1485
  border-radius: 999px;
1038
1486
  background: var(--akilio-primary);
1039
- color: #fff;
1487
+ color: #fff !important;
1040
1488
  cursor: pointer;
1041
1489
  padding: 0;
1042
1490
  transition:
@@ -1117,8 +1565,7 @@
1117
1565
  width: 13px;
1118
1566
  height: 13px;
1119
1567
  transform: rotate(45deg);
1120
- border-right: 1px solid
1121
- color-mix(in srgb, var(--akilio-primary) 24%, #d4d4d8);
1568
+ border-right: 1px solid color-mix(in srgb, var(--akilio-primary) 24%, #d4d4d8);
1122
1569
  border-bottom: 1px solid
1123
1570
  color-mix(in srgb, var(--akilio-primary) 24%, #d4d4d8);
1124
1571
  background: #fff;
@@ -1242,8 +1689,7 @@
1242
1689
  transform: none;
1243
1690
  }
1244
1691
 
1245
- .akilio-root[data-akilio-launcher-position='right-middle']
1246
- .akilio-coachmark {
1692
+ .akilio-root[data-akilio-launcher-position='right-middle'] .akilio-coachmark {
1247
1693
  top: auto;
1248
1694
  right: 22px;
1249
1695
  bottom: 94px;
@@ -1292,8 +1738,7 @@
1292
1738
  transform: none;
1293
1739
  }
1294
1740
 
1295
- .akilio-root[data-akilio-launcher-position='right-middle']
1296
- .akilio-coachmark {
1741
+ .akilio-root[data-akilio-launcher-position='right-middle'] .akilio-coachmark {
1297
1742
  top: auto;
1298
1743
  right: 16px;
1299
1744
  bottom: 82px;
@@ -1577,6 +2022,8 @@
1577
2022
  min-height: 480px;
1578
2023
  }
1579
2024
  .akilio-panel--inline {
2025
+ width: 100%;
2026
+ height: 100%;
1580
2027
  min-height: 480px;
1581
2028
  border-radius: 16px;
1582
2029
  }
@@ -1641,10 +2088,16 @@
1641
2088
  background: #18181b;
1642
2089
  color: #e4e4e7;
1643
2090
  }
1644
- .akilio-root[data-akilio-color-mode='dark'] .akilio-contact-options span,
2091
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-contact-option-copy small,
1645
2092
  .akilio-root[data-akilio-color-mode='dark'] .akilio-contact-form label {
1646
2093
  color: #a1a1aa;
1647
2094
  }
2095
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-contact-option-icon {
2096
+ background: color-mix(in srgb, var(--akilio-primary) 22%, #18181b);
2097
+ }
2098
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-contact-option-arrow {
2099
+ color: #71717a;
2100
+ }
1648
2101
  .akilio-root[data-akilio-color-mode='dark'] .akilio-contact-form input,
1649
2102
  .akilio-root[data-akilio-color-mode='dark'] .akilio-contact-form select,
1650
2103
  .akilio-root[data-akilio-color-mode='dark'] .akilio-contact-form textarea {
@@ -1656,9 +2109,7 @@
1656
2109
  border-color: color-mix(in srgb, var(--akilio-primary) 34%, #3f3f46);
1657
2110
  background: #18181b;
1658
2111
  }
1659
- .akilio-root[data-akilio-color-mode='dark']
1660
- .akilio-coachmark-content
1661
- strong {
2112
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-coachmark-content strong {
1662
2113
  color: #fafafa;
1663
2114
  }
1664
2115
  .akilio-root[data-akilio-color-mode='dark'] .akilio-coachmark-content p {
@@ -1717,47 +2168,96 @@
1717
2168
  gap: 9px;
1718
2169
  margin-top: 12px;
1719
2170
  }
2171
+ .akilio-conversation-recap {
2172
+ justify-self: start;
2173
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 26%, #d4d4d8);
2174
+ border-radius: 999px;
2175
+ background: transparent;
2176
+ color: var(--akilio-primary);
2177
+ cursor: pointer;
2178
+ padding: 6px 10px;
2179
+ font: inherit;
2180
+ font-size: 11px;
2181
+ font-weight: 700;
2182
+ }
2183
+ .akilio-conversation-recap:hover {
2184
+ background: color-mix(in srgb, var(--akilio-primary) 10%, transparent);
2185
+ }
1720
2186
  .akilio-contact-options {
1721
2187
  display: grid;
1722
- grid-auto-rows: 1fr;
1723
- gap: 7px;
2188
+ grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
2189
+ gap: 6px;
1724
2190
  }
1725
2191
  .akilio-contact-options a {
1726
- display: flex;
1727
- min-height: 54px;
1728
- flex-direction: column;
1729
- align-items: stretch;
1730
- justify-content: flex-start;
1731
- gap: 4px;
2192
+ display: grid;
2193
+ grid-template-columns: 27px minmax(0, 1fr) 12px;
2194
+ min-height: 44px;
2195
+ align-items: center;
2196
+ gap: 7px;
1732
2197
  border: 1px solid #e2e8f0;
1733
2198
  border-radius: 10px;
1734
- background: #fff;
2199
+ background: linear-gradient(135deg, #fff, #f8fafc);
1735
2200
  color: #334155;
1736
- padding: 7px 9px;
2201
+ padding: 6px 7px;
1737
2202
  text-decoration: none;
2203
+ transition:
2204
+ border-color 160ms ease,
2205
+ box-shadow 160ms ease,
2206
+ transform 160ms ease;
2207
+ }
2208
+ .akilio-contact-option-icon {
2209
+ display: grid;
2210
+ width: 27px;
2211
+ height: 27px;
2212
+ place-items: center;
2213
+ border-radius: 8px;
2214
+ background: color-mix(in srgb, var(--akilio-primary) 12%, #fff);
2215
+ color: var(--akilio-primary);
2216
+ }
2217
+ .akilio-contact-option-icon svg {
2218
+ width: 15px;
2219
+ height: 15px;
1738
2220
  }
1739
- .akilio-contact-options strong {
1740
- align-self: flex-start;
2221
+ .akilio-contact-option-copy {
2222
+ display: grid;
2223
+ min-width: 0;
2224
+ gap: 2px;
2225
+ }
2226
+ .akilio-contact-option-copy strong {
2227
+ overflow: hidden;
1741
2228
  font-size: 11px;
1742
2229
  line-height: 1.25;
1743
2230
  text-align: left;
2231
+ text-overflow: ellipsis;
2232
+ white-space: nowrap;
1744
2233
  }
1745
- .akilio-contact-options a:hover {
1746
- border-color: color-mix(in srgb, var(--akilio-primary) 40%, #e2e8f0);
1747
- color: var(--akilio-primary);
1748
- }
1749
- .akilio-contact-options span {
1750
- align-self: flex-end;
1751
- max-width: 100%;
1752
- margin-top: auto;
2234
+ .akilio-contact-option-copy small {
1753
2235
  overflow: hidden;
1754
2236
  color: #64748b;
1755
2237
  font-size: 10px;
1756
2238
  line-height: 1.2;
1757
- text-align: right;
1758
2239
  text-overflow: ellipsis;
1759
2240
  white-space: nowrap;
1760
2241
  }
2242
+ .akilio-contact-option-arrow {
2243
+ width: 12px;
2244
+ height: 12px;
2245
+ color: #94a3b8;
2246
+ transition:
2247
+ transform 160ms ease,
2248
+ color 160ms ease;
2249
+ }
2250
+ .akilio-contact-options a:hover {
2251
+ border-color: color-mix(in srgb, var(--akilio-primary) 40%, #e2e8f0);
2252
+ box-shadow: 0 5px 14px
2253
+ color-mix(in srgb, var(--akilio-primary) 13%, transparent);
2254
+ color: var(--akilio-primary);
2255
+ transform: translateY(-1px);
2256
+ }
2257
+ .akilio-contact-options a:hover .akilio-contact-option-arrow {
2258
+ color: var(--akilio-primary);
2259
+ transform: translateX(2px);
2260
+ }
1761
2261
  .akilio-contact-start,
1762
2262
  .akilio-contact-submit {
1763
2263
  justify-self: start;
@@ -1865,6 +2365,19 @@
1865
2365
  cursor: wait;
1866
2366
  opacity: 0.55;
1867
2367
  }
2368
+ .akilio-human-handoff-form {
2369
+ margin-top: 12px;
2370
+ }
2371
+ .akilio-honeypot {
2372
+ position: absolute;
2373
+ width: 1px;
2374
+ height: 1px;
2375
+ overflow: hidden;
2376
+ clip: rect(0 0 0 0);
2377
+ clip-path: inset(50%);
2378
+ white-space: nowrap;
2379
+ }
2380
+
1868
2381
  .akilio-contact-success,
1869
2382
  .akilio-contact-error {
1870
2383
  margin: 0;
@@ -1889,15 +2402,201 @@
1889
2402
  margin-top: 14px;
1890
2403
  min-width: 0;
1891
2404
  }
1892
- .akilio-products-heading {
2405
+ .akilio-commerce-result {
2406
+ overflow: hidden;
2407
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 20%, #d4d4d8);
2408
+ border-radius: 18px;
2409
+ background: color-mix(in srgb, var(--akilio-primary) 3%, #fff);
2410
+ padding: 11px;
2411
+ }
2412
+
2413
+ .akilio-inline-decision-card {
2414
+ display: grid;
2415
+ gap: 12px;
2416
+ max-width: 420px;
2417
+ padding: 16px;
2418
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 24%, #d4d4d8);
2419
+ border-radius: 16px;
2420
+ background: linear-gradient(
2421
+ 135deg,
2422
+ color-mix(in srgb, var(--akilio-primary) 10%, #fff),
2423
+ #fff 70%
2424
+ );
2425
+ color: #17211f;
2426
+ }
2427
+ .akilio-inline-decision-card h3,
2428
+ .akilio-inline-decision-card p {
2429
+ margin: 0;
2430
+ }
2431
+ .akilio-inline-decision-card h3 {
2432
+ font-size: 15px;
2433
+ }
2434
+ .akilio-inline-decision-card p {
2435
+ margin-top: 5px;
2436
+ color: #52525b;
2437
+ font-size: 13px;
2438
+ line-height: 1.45;
2439
+ }
2440
+ .akilio-inline-decision-card > button {
2441
+ justify-self: start;
2442
+ border: 0;
2443
+ border-radius: 999px;
2444
+ padding: 9px 13px;
2445
+ background: var(--akilio-primary);
2446
+ color: var(--akilio-primary-foreground, #fff);
2447
+ cursor: pointer;
2448
+ font: inherit;
2449
+ font-size: 12px;
2450
+ font-weight: 700;
2451
+ }
2452
+ .akilio-inline-decision-card > button:hover {
2453
+ background: var(--akilio-primary-hover);
2454
+ }
2455
+ .akilio-inline-decision-followups {
2456
+ display: flex;
2457
+ flex-wrap: wrap;
2458
+ gap: 7px;
2459
+ }
2460
+ .akilio-inline-decision-followups button {
2461
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 22%, #d4d4d8);
2462
+ border-radius: 999px;
2463
+ background: rgba(255, 255, 255, 0.72);
2464
+ color: #3f5f5a;
2465
+ padding: 6px 9px;
2466
+ cursor: pointer;
2467
+ font: inherit;
2468
+ font-size: 11px;
2469
+ }
2470
+ .akilio-section-prompt {
1893
2471
  display: flex;
1894
2472
  align-items: center;
1895
2473
  justify-content: space-between;
2474
+ gap: 12px;
2475
+ max-width: 560px;
2476
+ padding: 12px 14px;
2477
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 22%, #d4d4d8);
2478
+ border-radius: 12px;
2479
+ background: color-mix(in srgb, var(--akilio-primary) 7%, #fff);
2480
+ }
2481
+ .akilio-section-prompt-copy {
2482
+ min-width: 0;
2483
+ display: grid;
2484
+ gap: 3px;
2485
+ }
2486
+ .akilio-section-prompt-copy span {
2487
+ color: #3f5f5a;
2488
+ font-size: 11px;
2489
+ font-weight: 650;
2490
+ }
2491
+ .akilio-section-prompt-copy strong {
2492
+ color: #17211f;
2493
+ font-size: 13px;
2494
+ line-height: 1.35;
2495
+ }
2496
+ .akilio-section-prompt button {
2497
+ flex: 0 0 34px;
2498
+ width: 34px;
2499
+ height: 34px;
2500
+ border: 0;
2501
+ border-radius: 50%;
2502
+ background: var(--akilio-primary);
2503
+ color: var(--akilio-primary-foreground, #fff);
2504
+ cursor: pointer;
2505
+ font: inherit;
2506
+ font-size: 18px;
2507
+ font-weight: 700;
2508
+ }
2509
+ .akilio-section-prompt button:hover {
2510
+ background: var(--akilio-primary-hover);
2511
+ }
2512
+ .akilio-text-selection-prompt {
2513
+ position: absolute;
2514
+ z-index: 2147483647;
2515
+ border: 0;
2516
+ border-radius: 999px;
2517
+ background: var(--akilio-primary);
2518
+ color: var(--akilio-primary-foreground, #fff);
2519
+ padding: 7px 10px;
2520
+ box-shadow: 0 4px 12px rgba(15, 23, 42, 0.18);
2521
+ cursor: pointer;
2522
+ font: inherit;
2523
+ font-size: 11px;
2524
+ font-weight: 700;
2525
+ }
2526
+ .akilio-text-selection-prompt:hover {
2527
+ background: var(--akilio-primary-hover);
2528
+ }
2529
+ @media (max-width: 480px) {
2530
+ .akilio-section-prompt {
2531
+ align-items: stretch;
2532
+ flex-direction: column;
2533
+ }
2534
+ .akilio-section-prompt button {
2535
+ width: 100%;
2536
+ }
2537
+ }
2538
+ @media (prefers-color-scheme: dark) {
2539
+ .akilio-inline-decision-card {
2540
+ background: linear-gradient(
2541
+ 135deg,
2542
+ color-mix(in srgb, var(--akilio-primary) 18%, #18181b),
2543
+ #18181b 70%
2544
+ );
2545
+ border-color: color-mix(in srgb, var(--akilio-primary) 35%, #3f3f46);
2546
+ color: #fafafa;
2547
+ }
2548
+ .akilio-inline-decision-card p {
2549
+ color: #d4d4d8;
2550
+ }
2551
+ .akilio-inline-decision-followups button {
2552
+ border-color: #52525b;
2553
+ background: #27272a;
2554
+ color: #e4e4e7;
2555
+ }
2556
+ .akilio-section-prompt {
2557
+ border-color: color-mix(in srgb, var(--akilio-primary) 35%, #3f3f46);
2558
+ background: color-mix(in srgb, var(--akilio-primary) 18%, #18181b);
2559
+ }
2560
+ .akilio-section-prompt-copy span {
2561
+ color: #d4d4d8;
2562
+ }
2563
+ .akilio-section-prompt-copy strong {
2564
+ color: #fafafa;
2565
+ }
2566
+ }
2567
+ .akilio-products-heading {
2568
+ display: flex;
2569
+ align-items: center;
2570
+ gap: 8px;
1896
2571
  margin-bottom: 9px;
1897
2572
  font-size: 12px;
1898
2573
  color: #64748b;
1899
2574
  }
1900
- .akilio-products-heading span {
2575
+ .akilio-products-heading strong {
2576
+ min-width: 0;
2577
+ flex: 1;
2578
+ color: #334155;
2579
+ font-size: 12px;
2580
+ }
2581
+ .akilio-commerce-icon {
2582
+ display: grid;
2583
+ width: 26px;
2584
+ height: 26px;
2585
+ flex: 0 0 26px;
2586
+ place-items: center;
2587
+ border-radius: 9px;
2588
+ background: color-mix(in srgb, var(--akilio-primary) 12%, #fff);
2589
+ color: var(--akilio-primary);
2590
+ }
2591
+ .akilio-commerce-icon svg {
2592
+ width: 15px;
2593
+ height: 15px;
2594
+ stroke: currentColor;
2595
+ stroke-linecap: round;
2596
+ stroke-linejoin: round;
2597
+ stroke-width: 1.8;
2598
+ }
2599
+ .akilio-products-heading .akilio-products-count {
1901
2600
  display: inline-flex;
1902
2601
  align-items: center;
1903
2602
  justify-content: center;
@@ -1909,11 +2608,38 @@
1909
2608
  color: #4338ca;
1910
2609
  font-weight: 700;
1911
2610
  }
1912
- /* Product grid layout variants */
1913
- .akilio-products-grid {
2611
+ .akilio-product-group {
1914
2612
  display: grid;
1915
- grid-template-columns: repeat(2, minmax(0, 1fr));
1916
- gap: 10px;
2613
+ gap: 6px;
2614
+ }
2615
+ .akilio-product-group + .akilio-product-group {
2616
+ margin-top: 11px;
2617
+ padding-top: 10px;
2618
+ border-top: 1px solid #e2e8f0;
2619
+ }
2620
+ .akilio-product-group > small {
2621
+ color: #64748b;
2622
+ font-size: 10px;
2623
+ font-weight: 700;
2624
+ letter-spacing: 0.02em;
2625
+ text-transform: uppercase;
2626
+ }
2627
+ /* Product grid layout variants */
2628
+ .akilio-products-grid {
2629
+ display: grid;
2630
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2631
+ gap: 10px;
2632
+ }
2633
+
2634
+ .akilio-products-grid--detail {
2635
+ display: grid;
2636
+ grid-template-columns: repeat(1, minmax(0, 1fr));
2637
+ gap: 10px;
2638
+ }
2639
+ .akilio-products-grid--comparison {
2640
+ display: grid;
2641
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2642
+ gap: 8px;
1917
2643
  }
1918
2644
 
1919
2645
  /* Vertical layout: 2-column grid (default) */
@@ -1930,6 +2656,568 @@
1930
2656
  gap: 10px;
1931
2657
  }
1932
2658
 
2659
+ .akilio-products-grid--carousel {
2660
+ display: flex;
2661
+ gap: 10px;
2662
+ overflow-x: auto;
2663
+ overscroll-behavior-x: contain;
2664
+ padding: 2px 2px 8px;
2665
+ scroll-padding-inline: 2px;
2666
+ scroll-snap-type: x mandatory;
2667
+ scrollbar-width: thin;
2668
+ -webkit-overflow-scrolling: touch;
2669
+ }
2670
+
2671
+ .akilio-products-grid--carousel > .akilio-product-card {
2672
+ flex: 0 0 min(76%, 240px);
2673
+ scroll-snap-align: start;
2674
+ }
2675
+ .akilio-commerce-actions {
2676
+ display: grid;
2677
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2678
+ gap: 8px;
2679
+ margin-top: 10px;
2680
+ padding-top: 10px;
2681
+ border-top: 1px solid #e2e8f0;
2682
+ }
2683
+ .akilio-commerce-actions--embedded {
2684
+ grid-template-columns: 1fr;
2685
+ margin-top: 8px;
2686
+ padding-top: 0;
2687
+ border-top: 0;
2688
+ }
2689
+
2690
+ .akilio-header-cart {
2691
+ position: relative;
2692
+ }
2693
+ .akilio-header-cart span {
2694
+ position: absolute;
2695
+ top: -5px;
2696
+ right: -5px;
2697
+ display: grid;
2698
+ min-width: 14px;
2699
+ height: 14px;
2700
+ place-items: center;
2701
+ border: 2px solid var(--akilio-surface, #fff);
2702
+ border-radius: 999px;
2703
+ background: var(--akilio-primary);
2704
+ color: var(--akilio-primary-foreground, #fff);
2705
+ font-size: 8px;
2706
+ font-weight: 800;
2707
+ }
2708
+ .akilio-cart-panel {
2709
+ display: grid;
2710
+ gap: 11px;
2711
+ margin: 0 14px 10px;
2712
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 24%, #d4d4d8);
2713
+ border-radius: 16px;
2714
+ background: color-mix(in srgb, var(--akilio-primary) 5%, #fff);
2715
+ box-shadow: 0 12px 24px rgba(15, 23, 42, 0.09);
2716
+ padding: 11px;
2717
+ }
2718
+ .akilio-cart-panel > header,
2719
+ .akilio-cart-panel > header > div {
2720
+ display: flex;
2721
+ align-items: center;
2722
+ }
2723
+ .akilio-cart-panel > header {
2724
+ justify-content: space-between;
2725
+ gap: 10px;
2726
+ }
2727
+ .akilio-cart-panel > header > div {
2728
+ gap: 7px;
2729
+ }
2730
+ .akilio-cart-panel-icon {
2731
+ display: grid;
2732
+ width: 28px;
2733
+ height: 28px;
2734
+ place-items: center;
2735
+ border-radius: 9px;
2736
+ background: color-mix(in srgb, var(--akilio-primary) 12%, #fff);
2737
+ color: var(--akilio-primary);
2738
+ }
2739
+ .akilio-cart-panel-icon svg {
2740
+ width: 16px;
2741
+ height: 16px;
2742
+ stroke: currentColor;
2743
+ stroke-linecap: round;
2744
+ stroke-linejoin: round;
2745
+ stroke-width: 1.8;
2746
+ }
2747
+ .akilio-cart-panel header strong {
2748
+ color: #1e293b;
2749
+ font-size: 12px;
2750
+ }
2751
+ .akilio-cart-refresh,
2752
+ .akilio-cart-close {
2753
+ border: 0;
2754
+ background: transparent;
2755
+ color: #64748b;
2756
+ cursor: pointer;
2757
+ font: inherit;
2758
+ }
2759
+ .akilio-cart-refresh {
2760
+ padding: 4px 6px;
2761
+ color: var(--akilio-primary);
2762
+ font-size: 10px;
2763
+ font-weight: 700;
2764
+ }
2765
+ .akilio-cart-close {
2766
+ display: grid;
2767
+ width: 25px;
2768
+ height: 25px;
2769
+ place-items: center;
2770
+ border-radius: 8px;
2771
+ }
2772
+ .akilio-cart-close:hover {
2773
+ background: #e2e8f0;
2774
+ }
2775
+ .akilio-cart-close svg {
2776
+ width: 14px;
2777
+ height: 14px;
2778
+ }
2779
+ .akilio-cart-status {
2780
+ margin: 2px 0;
2781
+ color: #64748b;
2782
+ font-size: 11px;
2783
+ }
2784
+ .akilio-cart-lines {
2785
+ display: grid;
2786
+ gap: 8px;
2787
+ max-height: 176px;
2788
+ margin: 0;
2789
+ padding: 0;
2790
+ overflow: auto;
2791
+ list-style: none;
2792
+ }
2793
+ .akilio-cart-lines li {
2794
+ display: grid;
2795
+ grid-template-columns: 36px minmax(0, 1fr) auto;
2796
+ align-items: center;
2797
+ gap: 10px;
2798
+ border-top: 1px solid #e2e8f0;
2799
+ padding-top: 8px;
2800
+ }
2801
+ .akilio-cart-line-media {
2802
+ display: grid;
2803
+ width: 36px;
2804
+ height: 36px;
2805
+ place-items: center;
2806
+ overflow: hidden;
2807
+ border-radius: 8px;
2808
+ background: #f1f5f9;
2809
+ color: var(--akilio-primary);
2810
+ font-size: 12px;
2811
+ font-weight: 800;
2812
+ }
2813
+ .akilio-cart-line-media img {
2814
+ width: 100%;
2815
+ height: 100%;
2816
+ object-fit: cover;
2817
+ }
2818
+ .akilio-cart-line-copy {
2819
+ display: grid;
2820
+ min-width: 0;
2821
+ gap: 2px;
2822
+ }
2823
+ .akilio-cart-lines strong,
2824
+ .akilio-cart-lines small {
2825
+ overflow: hidden;
2826
+ text-overflow: ellipsis;
2827
+ white-space: nowrap;
2828
+ }
2829
+ .akilio-cart-lines strong {
2830
+ color: #334155;
2831
+ font-size: 11px;
2832
+ }
2833
+ .akilio-cart-lines small {
2834
+ color: #64748b;
2835
+ font-size: 9px;
2836
+ }
2837
+ .akilio-cart-lines li > span {
2838
+ flex: 0 0 auto;
2839
+ color: #1e293b;
2840
+ font-size: 11px;
2841
+ font-weight: 750;
2842
+ }
2843
+ .akilio-cart-checkout {
2844
+ display: flex;
2845
+ min-height: 36px;
2846
+ align-items: center;
2847
+ justify-content: center;
2848
+ gap: 7px;
2849
+ border-radius: 10px;
2850
+ background: var(--akilio-primary);
2851
+ color: var(--akilio-primary-foreground, #fff);
2852
+ font-size: 11px;
2853
+ font-weight: 750;
2854
+ text-decoration: none;
2855
+ }
2856
+ .akilio-cart-line-actions {
2857
+ display: flex;
2858
+ flex-wrap: wrap;
2859
+ align-items: center;
2860
+ gap: 5px;
2861
+ margin-top: 3px;
2862
+ }
2863
+ .akilio-cart-quantity {
2864
+ display: inline-grid;
2865
+ grid-template-columns: 22px minmax(20px, auto) 22px;
2866
+ min-height: 22px;
2867
+ align-items: center;
2868
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 27%, #cbd5e1);
2869
+ border-radius: 7px;
2870
+ color: #334155;
2871
+ font-size: 10px;
2872
+ font-weight: 750;
2873
+ text-align: center;
2874
+ }
2875
+ .akilio-cart-quantity button {
2876
+ width: 22px;
2877
+ height: 20px;
2878
+ border: 0;
2879
+ background: transparent;
2880
+ color: var(--akilio-primary);
2881
+ cursor: pointer;
2882
+ font: inherit;
2883
+ }
2884
+ .akilio-cart-quantity button:disabled {
2885
+ cursor: not-allowed;
2886
+ opacity: 0.42;
2887
+ }
2888
+ .akilio-cart-line-action {
2889
+ display: inline-flex;
2890
+ min-height: 22px;
2891
+ align-items: center;
2892
+ justify-content: center;
2893
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 27%, #cbd5e1);
2894
+ border-radius: 7px;
2895
+ background: transparent;
2896
+ color: var(--akilio-primary);
2897
+ padding: 2px 6px;
2898
+ font-size: 9px !important;
2899
+ font-weight: 750;
2900
+ text-decoration: none;
2901
+ cursor: pointer;
2902
+ }
2903
+ .akilio-cart-line-action:hover {
2904
+ background: color-mix(in srgb, var(--akilio-primary) 8%, transparent);
2905
+ color: var(--akilio-primary);
2906
+ }
2907
+ .akilio-cart-line-action--remove {
2908
+ box-sizing: border-box;
2909
+ height: 22px;
2910
+ min-height: 22px;
2911
+ border-color: #fecaca;
2912
+ color: #dc2626;
2913
+ }
2914
+ .akilio-cart-line-action--remove:hover {
2915
+ border-color: #fca5a5;
2916
+ background: #fff1f2;
2917
+ color: #b91c1c;
2918
+ }
2919
+ .akilio-cart-line-confirmation {
2920
+ display: grid;
2921
+ grid-column: 1 / -1;
2922
+ gap: 5px;
2923
+ border-radius: 8px;
2924
+ background: color-mix(in srgb, var(--akilio-primary) 8%, #fff);
2925
+ padding: 6px;
2926
+ }
2927
+ .akilio-cart-line-confirmation > small {
2928
+ color: #334155;
2929
+ font-size: 9px;
2930
+ font-weight: 650;
2931
+ }
2932
+ .akilio-cart-line-confirmation > div {
2933
+ display: flex;
2934
+ gap: 5px;
2935
+ }
2936
+ .akilio-cart-line-confirmation button {
2937
+ min-height: 23px;
2938
+ border: 0;
2939
+ border-radius: 6px;
2940
+ background: var(--akilio-primary);
2941
+ color: var(--akilio-primary-foreground, #fff);
2942
+ padding: 3px 7px;
2943
+ cursor: pointer;
2944
+ font: inherit;
2945
+ font-size: 9px;
2946
+ font-weight: 750;
2947
+ }
2948
+ .akilio-cart-line-confirmation button + button {
2949
+ background: transparent;
2950
+ color: #475569;
2951
+ }
2952
+ .akilio-cart-checkout:hover {
2953
+ background: var(--akilio-primary-hover);
2954
+ color: var(--akilio-primary-foreground, #fff);
2955
+ }
2956
+ .akilio-commerce-actions--embedded .akilio-commerce-action,
2957
+ .akilio-commerce-actions--embedded .akilio-commerce-confirmation,
2958
+ .akilio-commerce-actions--embedded .akilio-commerce-action-success {
2959
+ grid-column: 1;
2960
+ }
2961
+ .akilio-product-card--detail .akilio-commerce-actions--embedded {
2962
+ margin-top: 12px;
2963
+ }
2964
+ .akilio-commerce-action {
2965
+ position: relative;
2966
+ display: grid;
2967
+ width: 100%;
2968
+ min-width: 0;
2969
+ min-height: 50px;
2970
+ grid-template-columns: 30px minmax(0, 1fr) 14px;
2971
+ align-items: center;
2972
+ gap: 8px;
2973
+ overflow: hidden;
2974
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 28%, #cbd5e1);
2975
+ border-radius: 13px;
2976
+ background: linear-gradient(145deg, #fff, #f8fafc);
2977
+ color: var(--akilio-primary);
2978
+ padding: 8px 9px;
2979
+ box-shadow: 0 2px 7px rgba(15, 23, 42, 0.04);
2980
+ cursor: pointer;
2981
+ font: inherit;
2982
+ text-align: left;
2983
+ transition:
2984
+ border-color 160ms ease,
2985
+ box-shadow 160ms ease,
2986
+ transform 160ms ease;
2987
+ }
2988
+ .akilio-commerce-action:hover:not(:disabled) {
2989
+ border-color: color-mix(in srgb, var(--akilio-primary) 58%, #cbd5e1);
2990
+ box-shadow: 0 7px 18px
2991
+ color-mix(in srgb, var(--akilio-primary) 13%, transparent);
2992
+ transform: translateY(-1px);
2993
+ }
2994
+ .akilio-commerce-action:focus-visible {
2995
+ outline: 3px solid color-mix(in srgb, var(--akilio-primary) 24%, transparent);
2996
+ outline-offset: 2px;
2997
+ }
2998
+ .akilio-commerce-action-icon {
2999
+ display: grid;
3000
+ width: 30px;
3001
+ height: 30px;
3002
+ place-items: center;
3003
+ border-radius: 10px;
3004
+ background: color-mix(in srgb, var(--akilio-primary) 11%, #fff);
3005
+ color: var(--akilio-primary);
3006
+ }
3007
+ .akilio-commerce-action-icon svg,
3008
+ .akilio-commerce-confirmation-icon svg {
3009
+ width: 17px;
3010
+ height: 17px;
3011
+ stroke: currentColor;
3012
+ stroke-linecap: round;
3013
+ stroke-linejoin: round;
3014
+ stroke-width: 1.8;
3015
+ }
3016
+ .akilio-commerce-action-copy {
3017
+ display: grid;
3018
+ min-width: 0;
3019
+ gap: 2px;
3020
+ }
3021
+ .akilio-commerce-action-copy strong,
3022
+ .akilio-commerce-action-copy small {
3023
+ overflow: hidden;
3024
+ text-overflow: ellipsis;
3025
+ white-space: nowrap;
3026
+ }
3027
+ .akilio-commerce-action-copy strong {
3028
+ color: inherit;
3029
+ font-size: 11px;
3030
+ font-weight: 780;
3031
+ }
3032
+ .akilio-commerce-action-copy small {
3033
+ color: #64748b;
3034
+ font-size: 9px;
3035
+ font-weight: 600;
3036
+ }
3037
+ .akilio-commerce-action-arrow {
3038
+ color: #94a3b8;
3039
+ font-size: 14px;
3040
+ transition: transform 160ms ease;
3041
+ }
3042
+ .akilio-commerce-action:hover .akilio-commerce-action-arrow {
3043
+ transform: translateX(2px);
3044
+ }
3045
+ .akilio-commerce-action--add_to_cart {
3046
+ border-color: var(--akilio-primary);
3047
+ background: linear-gradient(
3048
+ 135deg,
3049
+ var(--akilio-primary),
3050
+ var(--akilio-primary-hover)
3051
+ );
3052
+ color: var(--akilio-primary-foreground, #fff);
3053
+ box-shadow: 0 5px 14px
3054
+ color-mix(in srgb, var(--akilio-primary) 23%, transparent);
3055
+ }
3056
+ .akilio-commerce-action--add_to_cart .akilio-commerce-action-icon {
3057
+ background: rgba(255, 255, 255, 0.16);
3058
+ color: inherit;
3059
+ }
3060
+ .akilio-commerce-action--add_to_cart .akilio-commerce-action-copy small,
3061
+ .akilio-commerce-action--add_to_cart .akilio-commerce-action-arrow {
3062
+ color: inherit;
3063
+ opacity: 0.76;
3064
+ }
3065
+ .akilio-commerce-action:disabled {
3066
+ cursor: wait;
3067
+ opacity: 0.65;
3068
+ }
3069
+ .akilio-commerce-confirmation {
3070
+ display: grid;
3071
+ grid-column: 1 / -1;
3072
+ width: 100%;
3073
+ gap: 10px;
3074
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 24%, #d4d4d8);
3075
+ border-radius: 14px;
3076
+ background: color-mix(in srgb, var(--akilio-primary) 5%, #fff);
3077
+ padding: 10px;
3078
+ color: #334155;
3079
+ font-size: 11px;
3080
+ }
3081
+ .akilio-commerce-confirmation-product {
3082
+ display: grid;
3083
+ grid-template-columns: 38px minmax(0, 1fr);
3084
+ align-items: center;
3085
+ gap: 9px;
3086
+ }
3087
+ .akilio-commerce-confirmation-product img,
3088
+ .akilio-commerce-confirmation-icon {
3089
+ width: 38px;
3090
+ height: 38px;
3091
+ border-radius: 10px;
3092
+ object-fit: cover;
3093
+ }
3094
+ .akilio-commerce-confirmation-icon {
3095
+ display: grid;
3096
+ place-items: center;
3097
+ background: color-mix(in srgb, var(--akilio-primary) 12%, #fff);
3098
+ color: var(--akilio-primary);
3099
+ }
3100
+ .akilio-commerce-confirmation-product > span {
3101
+ display: grid;
3102
+ min-width: 0;
3103
+ gap: 2px;
3104
+ }
3105
+ .akilio-commerce-confirmation-product strong,
3106
+ .akilio-commerce-confirmation-product small {
3107
+ overflow: hidden;
3108
+ text-overflow: ellipsis;
3109
+ white-space: nowrap;
3110
+ }
3111
+ .akilio-commerce-confirmation-product strong {
3112
+ color: #1e293b;
3113
+ font-size: 11px;
3114
+ }
3115
+ .akilio-commerce-confirmation-product small {
3116
+ color: #64748b;
3117
+ font-size: 9px;
3118
+ }
3119
+ .akilio-commerce-confirmation-actions {
3120
+ display: flex;
3121
+ gap: 6px;
3122
+ }
3123
+ .akilio-commerce-confirmation button {
3124
+ border: 0;
3125
+ border-radius: 9px;
3126
+ min-height: 31px;
3127
+ padding: 6px 11px;
3128
+ cursor: pointer;
3129
+ font: inherit;
3130
+ font-size: 10px;
3131
+ font-weight: 750;
3132
+ }
3133
+ .akilio-commerce-confirm {
3134
+ display: inline-flex;
3135
+ align-items: center;
3136
+ gap: 6px;
3137
+ background: var(--akilio-primary);
3138
+ color: var(--akilio-primary-foreground, #fff);
3139
+ }
3140
+ .akilio-commerce-cancel {
3141
+ background: #e2e8f0;
3142
+ color: #334155;
3143
+ }
3144
+ .akilio-commerce-confirmation small,
3145
+ .akilio-commerce-actions > small {
3146
+ width: 100%;
3147
+ color: #b91c1c;
3148
+ font-size: 10px;
3149
+ }
3150
+ .akilio-commerce-action-success {
3151
+ display: grid;
3152
+ grid-column: 1 / -1;
3153
+ grid-template-columns: 28px minmax(0, 1fr);
3154
+ align-items: center;
3155
+ gap: 8px;
3156
+ border: 1px solid #a7f3d0;
3157
+ border-radius: 12px;
3158
+ background: #ecfdf5;
3159
+ color: #047857;
3160
+ padding: 8px 10px;
3161
+ font-size: 11px;
3162
+ }
3163
+ .akilio-commerce-success-icon {
3164
+ display: grid;
3165
+ width: 28px;
3166
+ height: 28px;
3167
+ place-items: center;
3168
+ border-radius: 50%;
3169
+ background: #d1fae5;
3170
+ font-weight: 800;
3171
+ }
3172
+ .akilio-commerce-action-success > span:last-child {
3173
+ display: grid;
3174
+ min-width: 0;
3175
+ gap: 1px;
3176
+ }
3177
+ .akilio-commerce-action-success strong {
3178
+ font-weight: 780;
3179
+ }
3180
+ .akilio-commerce-action-success small {
3181
+ overflow: hidden;
3182
+ color: #059669;
3183
+ font-size: 9px;
3184
+ text-overflow: ellipsis;
3185
+ white-space: nowrap;
3186
+ }
3187
+ .akilio-commerce-spinner {
3188
+ width: 13px;
3189
+ height: 13px;
3190
+ border: 2px solid currentColor;
3191
+ border-right-color: transparent;
3192
+ border-radius: 50%;
3193
+ animation: akilio-spin 700ms linear infinite;
3194
+ }
3195
+ @keyframes akilio-spin {
3196
+ to {
3197
+ transform: rotate(360deg);
3198
+ }
3199
+ }
3200
+ @media (max-width: 430px) {
3201
+ .akilio-commerce-actions {
3202
+ grid-template-columns: 1fr;
3203
+ }
3204
+ .akilio-commerce-action,
3205
+ .akilio-commerce-confirmation,
3206
+ .akilio-commerce-action-success {
3207
+ grid-column: 1;
3208
+ }
3209
+ }
3210
+ @media (prefers-reduced-motion: reduce) {
3211
+ .akilio-commerce-action,
3212
+ .akilio-commerce-action-arrow {
3213
+ transition: none;
3214
+ }
3215
+ .akilio-commerce-action:hover:not(:disabled),
3216
+ .akilio-commerce-action:hover .akilio-commerce-action-arrow {
3217
+ transform: none;
3218
+ }
3219
+ }
3220
+
1933
3221
  /* Responsive: collapse vertical to single column on small screens */
1934
3222
  @media (max-width: 640px) {
1935
3223
  .akilio-products-grid--vertical {
@@ -1950,10 +3238,14 @@
1950
3238
  .akilio-product-card {
1951
3239
  min-width: 0;
1952
3240
  overflow: hidden;
1953
- border: 1px solid #e2e8f0;
3241
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 24%, #d4d4d8);
1954
3242
  border-radius: 16px;
1955
- background: #fff;
1956
- box-shadow: 0 6px 20px rgba(15, 23, 42, 0.06);
3243
+ background: linear-gradient(
3244
+ 135deg,
3245
+ color-mix(in srgb, var(--akilio-primary) 10%, #fff),
3246
+ #fff 70%
3247
+ );
3248
+ box-shadow: 0 3px 12px rgba(15, 23, 42, 0.05);
1957
3249
  }
1958
3250
  .akilio-product-media {
1959
3251
  position: relative;
@@ -2043,21 +3335,21 @@
2043
3335
  font-size: 10px;
2044
3336
  }
2045
3337
  .akilio-product-action {
2046
- width: auto;
2047
- min-height: auto;
3338
+ width: 100%;
3339
+ min-height: 36px;
2048
3340
  display: inline-flex;
2049
3341
  align-items: center;
2050
3342
  justify-content: center;
2051
- padding: 6px 12px;
3343
+ margin-top: 10px;
3344
+ padding: 8px 12px;
2052
3345
  border: 0;
2053
- border-radius: 6px;
2054
- background: transparent;
2055
- color: var(--akilio-primary);
3346
+ border-radius: 10px;
3347
+ background: var(--akilio-primary);
3348
+ color: var(--akilio-primary-foreground, #fff);
2056
3349
  font: inherit;
2057
3350
  font-size: 11px;
2058
3351
  font-weight: 700;
2059
- text-decoration: underline;
2060
- text-underline-offset: 2px;
3352
+ text-decoration: none;
2061
3353
  cursor: pointer;
2062
3354
  transition:
2063
3355
  color 150ms ease,
@@ -2065,8 +3357,8 @@
2065
3357
  }
2066
3358
 
2067
3359
  .akilio-product-action:hover {
2068
- background: color-mix(in srgb, var(--akilio-primary) 8%, transparent);
2069
- text-decoration: underline;
3360
+ background: var(--akilio-primary-hover);
3361
+ color: var(--akilio-primary-foreground, #fff);
2070
3362
  }
2071
3363
 
2072
3364
  .akilio-product-action:focus-visible {
@@ -2078,16 +3370,305 @@
2078
3370
  opacity: 0.55;
2079
3371
  cursor: not-allowed;
2080
3372
  }
3373
+
3374
+ .akilio-product-card--detail {
3375
+ display: flex;
3376
+ flex-direction: column;
3377
+ }
3378
+
3379
+ .akilio-product-card--detail .akilio-product-media {
3380
+ aspect-ratio: 16 / 9;
3381
+ }
3382
+
3383
+ .akilio-product-card--detail .akilio-product-body {
3384
+ padding: 14px;
3385
+ }
3386
+
3387
+ .akilio-product-card--detail h4 {
3388
+ min-height: 0;
3389
+ font-size: 15px;
3390
+ }
3391
+
3392
+ .akilio-product-description {
3393
+ margin: 4px 0 12px;
3394
+ color: #475569;
3395
+ font-size: 12px;
3396
+ line-height: 1.5;
3397
+ white-space: pre-wrap;
3398
+ }
3399
+
3400
+ .akilio-product-description > :first-child {
3401
+ margin-top: 0;
3402
+ }
3403
+
3404
+ .akilio-product-description > :last-child {
3405
+ margin-bottom: 0;
3406
+ }
3407
+
3408
+ .akilio-product-description p,
3409
+ .akilio-product-description ul,
3410
+ .akilio-product-description ol {
3411
+ margin: 0 0 8px;
3412
+ }
3413
+
3414
+ .akilio-product-description ul,
3415
+ .akilio-product-description ol {
3416
+ padding-left: 18px;
3417
+ }
3418
+
3419
+ .akilio-product-description a {
3420
+ color: var(--akilio-primary);
3421
+ font-weight: 650;
3422
+ }
3423
+
3424
+ .akilio-product-variants {
3425
+ min-width: 0;
3426
+ margin: 0 0 12px;
3427
+ padding: 0;
3428
+ border: 0;
3429
+ }
3430
+
3431
+ .akilio-product-variants legend,
3432
+ .akilio-product-specifications h5 {
3433
+ margin: 0 0 6px;
3434
+ color: #475569;
3435
+ font-size: 11px;
3436
+ font-weight: 700;
3437
+ }
3438
+
3439
+ .akilio-product-variants > div {
3440
+ display: flex;
3441
+ flex-wrap: wrap;
3442
+ gap: 4px;
3443
+ }
3444
+
3445
+ .akilio-product-variants legend {
3446
+ position: absolute;
3447
+ width: 1px;
3448
+ height: 1px;
3449
+ padding: 0;
3450
+ margin: -1px;
3451
+ overflow: hidden;
3452
+ clip-path: inset(50%);
3453
+ white-space: nowrap;
3454
+ border: 0;
3455
+ }
3456
+
3457
+ .akilio-product-variant-option {
3458
+ border: 1px solid #cbd5e1;
3459
+ border-radius: 999px;
3460
+ background: #fff;
3461
+ color: #334155;
3462
+ cursor: pointer;
3463
+ padding: 2px 6px !important;
3464
+ font: inherit;
3465
+ font-size: 11px !important;
3466
+ line-height: 1.4 !important;
3467
+ max-width: 100%;
3468
+ overflow: hidden;
3469
+ text-overflow: ellipsis;
3470
+ white-space: nowrap;
3471
+ }
3472
+
3473
+ .akilio-product-variant-option--selected {
3474
+ border-color: var(--akilio-primary);
3475
+ background: color-mix(in srgb, var(--akilio-primary) 10%, #fff);
3476
+ color: var(--akilio-primary);
3477
+ }
3478
+
3479
+ .akilio-product-variant-option:focus-visible,
3480
+ .akilio-product-variant-select:focus-visible {
3481
+ outline: 2px solid var(--akilio-primary);
3482
+ outline-offset: 2px;
3483
+ }
3484
+
3485
+ .akilio-product-variant-select {
3486
+ width: 100%;
3487
+ max-width: 100%;
3488
+ padding: 8px;
3489
+ border: 1px solid #cbd5e1;
3490
+ border-radius: 8px;
3491
+ background: transparent;
3492
+ color: inherit;
3493
+ font: inherit;
3494
+ font-size: 12px;
3495
+ }
3496
+
3497
+ .akilio-product-variant-option:disabled {
3498
+ opacity: 0.45;
3499
+ cursor: not-allowed;
3500
+ }
3501
+
3502
+ .akilio-product-specifications {
3503
+ margin: 0 0 12px;
3504
+ }
3505
+
3506
+ .akilio-product-specifications dl {
3507
+ display: grid;
3508
+ gap: 4px;
3509
+ margin: 0;
3510
+ }
3511
+
3512
+ .akilio-product-specifications dl div {
3513
+ display: grid;
3514
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
3515
+ gap: 8px;
3516
+ font-size: 11px;
3517
+ }
3518
+
3519
+ .akilio-product-specifications dt {
3520
+ color: #64748b;
3521
+ }
3522
+
3523
+ .akilio-product-specifications dd {
3524
+ margin: 0;
3525
+ color: #0f172a;
3526
+ text-align: right;
3527
+ }
2081
3528
  .akilio-root[data-akilio-color-mode='dark'] .akilio-products-heading {
2082
3529
  color: #94a3b8;
2083
3530
  }
3531
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-commerce-result {
3532
+ border-color: color-mix(in srgb, var(--akilio-primary) 34%, #3f3f46);
3533
+ background: color-mix(in srgb, var(--akilio-primary) 6%, #18181b);
3534
+ }
3535
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-products-heading strong {
3536
+ color: #e4e4e7;
3537
+ }
3538
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-commerce-icon {
3539
+ background: color-mix(in srgb, var(--akilio-primary) 20%, #27272a);
3540
+ }
3541
+ .akilio-root[data-akilio-color-mode='dark']
3542
+ .akilio-product-group
3543
+ + .akilio-product-group,
3544
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-commerce-actions {
3545
+ border-color: #3f3f46;
3546
+ }
3547
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-product-group > small {
3548
+ color: #a1a1aa;
3549
+ }
3550
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-commerce-action {
3551
+ border-color: #52525b;
3552
+ background: linear-gradient(145deg, #27272a, #202024);
3553
+ color: #e4e4e7;
3554
+ }
3555
+ .akilio-root[data-akilio-color-mode='dark']
3556
+ .akilio-commerce-action--add_to_cart {
3557
+ border-color: var(--akilio-primary);
3558
+ background: var(--akilio-primary);
3559
+ color: var(--akilio-primary-foreground, #fff);
3560
+ }
3561
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-commerce-action-icon {
3562
+ background: color-mix(in srgb, var(--akilio-primary) 19%, #27272a);
3563
+ }
3564
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-commerce-action-copy small,
3565
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-commerce-action-arrow {
3566
+ color: #a1a1aa;
3567
+ }
3568
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-commerce-confirmation {
3569
+ border-color: #52525b;
3570
+ background: #27272a;
3571
+ color: #e4e4e7;
3572
+ }
3573
+ .akilio-root[data-akilio-color-mode='dark']
3574
+ .akilio-commerce-confirmation-product
3575
+ strong {
3576
+ color: #fafafa;
3577
+ }
3578
+ .akilio-root[data-akilio-color-mode='dark']
3579
+ .akilio-commerce-confirmation-product
3580
+ small {
3581
+ color: #a1a1aa;
3582
+ }
3583
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-commerce-confirmation-icon {
3584
+ background: color-mix(in srgb, var(--akilio-primary) 19%, #27272a);
3585
+ }
3586
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-commerce-cancel {
3587
+ background: #3f3f46;
3588
+ color: #e4e4e7;
3589
+ }
3590
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-commerce-action-success {
3591
+ border-color: #065f46;
3592
+ background: #052e2b;
3593
+ color: #a7f3d0;
3594
+ }
3595
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-header-cart span {
3596
+ border-color: #18181b;
3597
+ }
3598
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-panel {
3599
+ border-color: color-mix(in srgb, var(--akilio-primary) 34%, #3f3f46);
3600
+ background: color-mix(in srgb, var(--akilio-primary) 7%, #18181b);
3601
+ box-shadow: 0 12px 24px rgba(0, 0, 0, 0.24);
3602
+ }
3603
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-panel-icon {
3604
+ background: color-mix(in srgb, var(--akilio-primary) 20%, #27272a);
3605
+ }
3606
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-panel header strong,
3607
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-lines strong,
3608
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-lines li > span {
3609
+ color: #f4f4f5;
3610
+ }
3611
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-status,
3612
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-lines small {
3613
+ color: #a1a1aa;
3614
+ }
3615
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-lines li {
3616
+ border-color: #3f3f46;
3617
+ }
3618
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-line-media {
3619
+ background: #27272a;
3620
+ }
3621
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-line-action {
3622
+ border-color: color-mix(in srgb, var(--akilio-primary) 40%, #52525b);
3623
+ }
3624
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-quantity {
3625
+ border-color: color-mix(in srgb, var(--akilio-primary) 40%, #52525b);
3626
+ color: #f4f4f5;
3627
+ }
3628
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-line-action--remove {
3629
+ border-color: #7f1d1d;
3630
+ color: #fca5a5;
3631
+ }
3632
+ .akilio-root[data-akilio-color-mode='dark']
3633
+ .akilio-cart-line-action--remove:hover {
3634
+ border-color: #991b1b;
3635
+ background: #450a0a;
3636
+ color: #fecaca;
3637
+ }
3638
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-line-confirmation {
3639
+ background: color-mix(in srgb, var(--akilio-primary) 14%, #27272a);
3640
+ }
3641
+ .akilio-root[data-akilio-color-mode='dark']
3642
+ .akilio-cart-line-confirmation
3643
+ > small,
3644
+ .akilio-root[data-akilio-color-mode='dark']
3645
+ .akilio-cart-line-confirmation
3646
+ button
3647
+ + button {
3648
+ color: #e4e4e7;
3649
+ }
3650
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-cart-close:hover {
3651
+ background: #3f3f46;
3652
+ }
3653
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-commerce-success-icon {
3654
+ background: #064e3b;
3655
+ }
3656
+ .akilio-root[data-akilio-color-mode='dark']
3657
+ .akilio-commerce-action-success
3658
+ small {
3659
+ color: #6ee7b7;
3660
+ }
2084
3661
  .akilio-root[data-akilio-color-mode='dark'] .akilio-products-heading span {
2085
3662
  background: #312e81;
2086
3663
  color: #e0e7ff;
2087
3664
  }
2088
3665
  .akilio-root[data-akilio-color-mode='dark'] .akilio-product-card {
2089
- background: #111827;
2090
- border-color: #334155;
3666
+ border-color: color-mix(in srgb, var(--akilio-primary) 35%, #3f3f46);
3667
+ background: linear-gradient(
3668
+ 135deg,
3669
+ color-mix(in srgb, var(--akilio-primary) 18%, #18181b),
3670
+ #18181b 70%
3671
+ );
2091
3672
  box-shadow: none;
2092
3673
  }
2093
3674
  .akilio-root[data-akilio-color-mode='dark'] .akilio-product-media {
@@ -2101,6 +3682,26 @@
2101
3682
  .akilio-root[data-akilio-color-mode='dark'] .akilio-product-variant {
2102
3683
  color: #94a3b8;
2103
3684
  }
3685
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-product-description,
3686
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-product-variants legend,
3687
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-product-specifications h5,
3688
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-product-specifications dt {
3689
+ color: #94a3b8;
3690
+ }
3691
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-product-specifications dd {
3692
+ color: #f8fafc;
3693
+ }
3694
+ .akilio-root[data-akilio-color-mode='dark'] .akilio-product-variant-option {
3695
+ border-color: #475569;
3696
+ background: #1e293b;
3697
+ color: #e2e8f0;
3698
+ }
3699
+ .akilio-root[data-akilio-color-mode='dark']
3700
+ .akilio-product-variant-option--selected {
3701
+ border-color: var(--akilio-primary);
3702
+ background: color-mix(in srgb, var(--akilio-primary) 18%, #1e293b);
3703
+ color: #e0f2fe;
3704
+ }
2104
3705
  @media (max-width: 390px) {
2105
3706
  .akilio-products-grid {
2106
3707
  grid-template-columns: 1fr;
@@ -2163,10 +3764,14 @@
2163
3764
  flex-direction: column;
2164
3765
  min-width: 0;
2165
3766
  overflow: hidden;
2166
- border: 1px solid #e2e8f0;
3767
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 24%, #d4d4d8);
2167
3768
  border-radius: 16px;
2168
- background: #fff;
2169
- box-shadow: 0 6px 20px rgba(15, 23, 42, 0.06);
3769
+ background: linear-gradient(
3770
+ 135deg,
3771
+ color-mix(in srgb, var(--akilio-primary) 10%, #fff),
3772
+ #fff 70%
3773
+ );
3774
+ box-shadow: 0 3px 12px rgba(15, 23, 42, 0.05);
2170
3775
  }
2171
3776
 
2172
3777
  .akilio-product-card--vertical .akilio-product-media {
@@ -2189,10 +3794,14 @@
2189
3794
  gap: 12px;
2190
3795
  min-width: 0;
2191
3796
  overflow: hidden;
2192
- border: 1px solid #e2e8f0;
3797
+ border: 1px solid color-mix(in srgb, var(--akilio-primary) 24%, #d4d4d8);
2193
3798
  border-radius: 16px;
2194
- background: #fff;
2195
- box-shadow: 0 6px 20px rgba(15, 23, 42, 0.06);
3799
+ background: linear-gradient(
3800
+ 135deg,
3801
+ color-mix(in srgb, var(--akilio-primary) 10%, #fff),
3802
+ #fff 70%
3803
+ );
3804
+ box-shadow: 0 3px 12px rgba(15, 23, 42, 0.05);
2196
3805
  align-items: stretch;
2197
3806
  }
2198
3807
 
@@ -2222,8 +3831,12 @@
2222
3831
  /* Dark mode support for horizontal */
2223
3832
  .akilio-root[data-akilio-color-mode='dark'] .akilio-product-card--vertical,
2224
3833
  .akilio-root[data-akilio-color-mode='dark'] .akilio-product-card--horizontal {
2225
- background: #111827;
2226
- border-color: #334155;
3834
+ border-color: color-mix(in srgb, var(--akilio-primary) 35%, #3f3f46);
3835
+ background: linear-gradient(
3836
+ 135deg,
3837
+ color-mix(in srgb, var(--akilio-primary) 18%, #18181b),
3838
+ #18181b 70%
3839
+ );
2227
3840
  box-shadow: none;
2228
3841
  }
2229
3842
 
@@ -2238,11 +3851,63 @@
2238
3851
 
2239
3852
  /* System dark mode for horizontal */
2240
3853
  @media (prefers-color-scheme: dark) {
3854
+ .akilio-root[data-akilio-color-mode='system'] .akilio-product-card h4,
3855
+ .akilio-root[data-akilio-color-mode='system'] .akilio-product-price strong,
3856
+ .akilio-root[data-akilio-color-mode='system']
3857
+ .akilio-product-specifications
3858
+ dd {
3859
+ color: #f8fafc;
3860
+ }
3861
+
3862
+ .akilio-root[data-akilio-color-mode='system'] .akilio-product-vendor,
3863
+ .akilio-root[data-akilio-color-mode='system'] .akilio-product-variant,
3864
+ .akilio-root[data-akilio-color-mode='system'] .akilio-product-price del {
3865
+ color: #94a3b8;
3866
+ }
3867
+
3868
+ .akilio-root[data-akilio-color-mode='system'] .akilio-product-description,
3869
+ .akilio-root[data-akilio-color-mode='system'] .akilio-product-variants legend,
3870
+ .akilio-root[data-akilio-color-mode='system']
3871
+ .akilio-product-specifications
3872
+ h5,
3873
+ .akilio-root[data-akilio-color-mode='system']
3874
+ .akilio-product-specifications
3875
+ dt {
3876
+ color: #94a3b8;
3877
+ }
3878
+
3879
+ .akilio-root[data-akilio-color-mode='system'] .akilio-product-variant-option {
3880
+ border-color: #475569;
3881
+ background: #1e293b;
3882
+ color: #e2e8f0;
3883
+ }
3884
+
3885
+ .akilio-root[data-akilio-color-mode='system']
3886
+ .akilio-product-variant-option--selected {
3887
+ border-color: var(--akilio-primary);
3888
+ background: color-mix(in srgb, var(--akilio-primary) 18%, #1e293b);
3889
+ color: #e0f2fe;
3890
+ }
3891
+
2241
3892
  .akilio-root[data-akilio-color-mode='system'] .akilio-product-card--vertical,
2242
3893
  .akilio-root[data-akilio-color-mode='system']
2243
3894
  .akilio-product-card--horizontal {
2244
- background: #111827;
2245
- border-color: #334155;
3895
+ border-color: color-mix(in srgb, var(--akilio-primary) 35%, #3f3f46);
3896
+ background: linear-gradient(
3897
+ 135deg,
3898
+ color-mix(in srgb, var(--akilio-primary) 18%, #18181b),
3899
+ #18181b 70%
3900
+ );
3901
+ box-shadow: none;
3902
+ }
3903
+
3904
+ .akilio-root[data-akilio-color-mode='system'] .akilio-product-card--detail {
3905
+ border-color: color-mix(in srgb, var(--akilio-primary) 35%, #3f3f46);
3906
+ background: linear-gradient(
3907
+ 135deg,
3908
+ color-mix(in srgb, var(--akilio-primary) 18%, #18181b),
3909
+ #18181b 70%
3910
+ );
2246
3911
  box-shadow: none;
2247
3912
  }
2248
3913
 
@@ -2305,3 +3970,99 @@
2305
3970
  user-select: none;
2306
3971
  white-space: nowrap;
2307
3972
  }
3973
+
3974
+ /* Avoid mobile focus zoom and keep translated input aligned naturally. */
3975
+ .akilio-composer textarea {
3976
+ text-align: start;
3977
+ }
3978
+ @media (max-width: 640px) {
3979
+ .akilio-root input,
3980
+ .akilio-root textarea,
3981
+ .akilio-root select {
3982
+ font-size: 16px;
3983
+ }
3984
+ .akilio-header-actions button,
3985
+ .akilio-composer-submit {
3986
+ min-width: 44px;
3987
+ min-height: 44px;
3988
+ }
3989
+ }
3990
+
3991
+ .akilio-business-logo {
3992
+ display: block;
3993
+ object-fit: contain;
3994
+ flex-shrink: 0;
3995
+ max-width: 100%;
3996
+ }
3997
+ .akilio-launcher .akilio-business-logo {
3998
+ width: 30px !important;
3999
+ height: 30px !important;
4000
+ }
4001
+
4002
+ .akilio-voice-input {
4003
+ display: flex;
4004
+ align-items: center;
4005
+ gap: 8px;
4006
+ flex: 1;
4007
+ min-width: 0;
4008
+ min-height: 48px;
4009
+ font-size: 12px;
4010
+ color: inherit;
4011
+ }
4012
+ .akilio-voice-input [role='status'] { flex: 1; }
4013
+ .akilio-voice-input audio { width: 100%; min-width: 0; height: 36px; }
4014
+ .akilio-voice-dot { width: 8px; height: 8px; border-radius: 50%; background: #ef4444; flex-shrink: 0; }
4015
+ .akilio-voice-dot--waiting { background: var(--akilio-primary); }
4016
+ .akilio-voice-duration { font-variant-numeric: tabular-nums; }
4017
+ .akilio-voice-error { padding: 6px 12px; font-size: 12px; }
4018
+ .akilio-composer-box { align-items: center; }
4019
+ .akilio-composer textarea { min-width: 0; }
4020
+ .akilio-composer-submit:focus-visible { outline: 2px solid var(--akilio-primary); outline-offset: 3px; }
4021
+
4022
+
4023
+ /* Customer verification uses the host theme without interrupting the conversation. */
4024
+ .akilio-identity-card {
4025
+ margin: 8px 14px 4px;
4026
+ padding: 18px;
4027
+ border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
4028
+ border-radius: 16px;
4029
+ background: color-mix(in srgb, var(--akilio-primary) 4%, transparent);
4030
+ color: inherit;
4031
+ flex-shrink: 0;
4032
+ max-height: 56vh;
4033
+ overflow: auto;
4034
+ }
4035
+ .akilio-identity-heading { display: flex; align-items: flex-start; gap: 12px; }
4036
+ .akilio-identity-icon { display: grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: 11px; color: var(--akilio-primary); background: color-mix(in srgb, var(--akilio-primary) 12%, transparent); }
4037
+ .akilio-identity-card h3 { margin: 0; font-size: 14px; font-weight: 650; line-height: 1.5; }
4038
+ .akilio-identity-description, .akilio-identity-hint { margin: 4px 0 0; font-size: 12px; line-height: 1.6; color: color-mix(in srgb, currentColor 75%, transparent); }
4039
+ .akilio-identity-card form { display: grid; gap: 8px; margin: 16px 0 0; }
4040
+ .akilio-identity-card label { font-size: 12px; font-weight: 600; }
4041
+ .akilio-identity-card input { width: 100%; min-width: 0; box-sizing: border-box; padding: 12px 14px; border: 1px solid color-mix(in srgb, currentColor 25%, transparent); border-radius: 10px; font: inherit; font-size: 16px; color: inherit; background: color-mix(in srgb, currentColor 3%, transparent); transition: border-color .15s ease, box-shadow .15s ease; }
4042
+ .akilio-identity-card input::placeholder { color: color-mix(in srgb, currentColor 50%, transparent); }
4043
+ .akilio-identity-card input:focus { border-color: var(--akilio-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--akilio-primary) 15%, transparent); }
4044
+ .akilio-identity-card input.akilio-identity-code { font-variant-numeric: tabular-nums; letter-spacing: .18em; }
4045
+ .akilio-identity-card button { cursor: pointer; font: inherit; }
4046
+ .akilio-root .akilio-identity-primary, .akilio-identity-primary { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 44px; margin-top: 4px; padding: 10px 14px; border: 0; border-radius: 10px; font-size: 13px; font-weight: 600; background: var(--akilio-primary); color: var(--akilio-primary-foreground); transition: background .15s ease; }
4047
+ .akilio-identity-primary:hover:not(:disabled) { background: var(--akilio-primary-hover); }
4048
+ .akilio-identity-card button:disabled { opacity: .55; cursor: default; }
4049
+ .akilio-identity-actions { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 4px 12px; margin-top: 10px; }
4050
+ .akilio-identity-link, .akilio-identity-dismiss { padding: 8px 0; border: 0; background: transparent; color: inherit; font-size: 12px !important; text-underline-offset: 3px; }
4051
+ .akilio-identity-link:hover:not(:disabled), .akilio-identity-dismiss:hover { text-decoration: underline; }
4052
+ .akilio-identity-dismiss { display: block; margin: 8px auto -4px; color: color-mix(in srgb, currentColor 75%, transparent); }
4053
+ .akilio-identity-card :focus-visible, .akilio-identity-entry :focus-visible { outline: 2px solid var(--akilio-primary); outline-offset: 3px; }
4054
+ .akilio-identity-delivery { margin: 14px 0 0; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
4055
+ .akilio-identity-notice { margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: color-mix(in srgb, currentColor 6%, transparent); font-size: 12px; line-height: 1.6; }
4056
+ .akilio-identity-entry { padding: 4px 16px; }
4057
+ .akilio-identity-entry button { display: flex; align-items: center; gap: 8px; padding: 8px 0; border: 0; background: transparent; color: inherit; font-size: 12px; cursor: pointer; }
4058
+ .akilio-identity-entry svg, .akilio-identity-status svg { width: 16px; height: 16px; flex-shrink: 0; }
4059
+ .akilio-identity-chevron { font-size: 18px; opacity: .6; }
4060
+ .akilio-identity-status { display: flex; align-items: center; gap: 7px; padding: 8px 16px; font-size: 12px; color: inherit; }
4061
+ .akilio-identity-spinner { width: 14px; height: 14px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: akilio-identity-spin .8s linear infinite; }
4062
+ @keyframes akilio-identity-spin { to { transform: rotate(360deg); } }
4063
+ @media (prefers-reduced-motion: reduce) { .akilio-identity-spinner { animation: none; } .akilio-identity-card input, .akilio-identity-primary { transition: none; } }
4064
+ @media (max-width: 380px) { .akilio-identity-card { margin-inline: 10px; padding: 14px; } }
4065
+
4066
+ .akilio-identity-methods { display: flex; gap: 4px; padding: 4px; margin-top: 14px; border-radius: 10px; background: color-mix(in srgb, currentColor 6%, transparent); }
4067
+ .akilio-identity-methods button { flex: 1; padding: 8px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: inherit; font-size: 12px; }
4068
+ .akilio-identity-methods button[aria-pressed='true'] { border-color: color-mix(in srgb, var(--akilio-primary) 40%, transparent); background: color-mix(in srgb, var(--akilio-primary) 10%, transparent); }