@o2vend/theme-cli 1.0.37 → 1.0.38

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 (89) hide show
  1. package/lib/lib/dev-server.js +309 -40
  2. package/lib/lib/liquid-engine.js +3 -1
  3. package/lib/lib/mock-data.js +36 -124
  4. package/lib/lib/widget-service.js +12 -4
  5. package/package.json +1 -1
  6. package/test-theme/assets/async-sections.js +32 -24
  7. package/test-theme/assets/cart-drawer.js +20 -22
  8. package/test-theme/assets/cart-manager.js +1 -15
  9. package/test-theme/assets/checkout-price-handler.js +12 -11
  10. package/test-theme/assets/checkout.css +1415 -0
  11. package/test-theme/assets/checkout.js +3174 -0
  12. package/test-theme/assets/components.css +178 -29
  13. package/test-theme/assets/delivery-zone.js +1 -1
  14. package/test-theme/assets/product-detail.css +1050 -0
  15. package/test-theme/assets/product-detail.js +2940 -0
  16. package/test-theme/assets/theme.css +95 -120
  17. package/test-theme/assets/theme.js +781 -186
  18. package/test-theme/layout/theme.liquid +91 -17
  19. package/test-theme/sections/content.liquid +64 -57
  20. package/test-theme/sections/footer-fallback.liquid +57 -7
  21. package/test-theme/sections/footer.liquid +63 -12
  22. package/test-theme/sections/header-fallback.liquid +41 -41
  23. package/test-theme/sections/header.liquid +41 -51
  24. package/test-theme/sections/hero-fallback.liquid +1 -1
  25. package/test-theme/sections/hero.liquid +159 -136
  26. package/test-theme/snippets/account-sidebar.liquid +121 -29
  27. package/test-theme/snippets/add-to-cart-modal.liquid +258 -206
  28. package/test-theme/snippets/breadcrumbs.liquid +98 -11
  29. package/test-theme/snippets/cart-drawer.liquid +93 -0
  30. package/test-theme/snippets/delivery-zone-city-selector.liquid +101 -15
  31. package/test-theme/snippets/delivery-zone-modal.liquid +529 -84
  32. package/test-theme/snippets/delivery-zone-search.liquid +104 -18
  33. package/test-theme/snippets/login-modal.liquid +269 -82
  34. package/test-theme/snippets/mega-menu.liquid +130 -43
  35. package/test-theme/snippets/news-thumbnail.liquid +120 -28
  36. package/test-theme/snippets/pagination.liquid +1 -1
  37. package/test-theme/snippets/price.liquid +100 -9
  38. package/test-theme/snippets/product-card-related.liquid +22 -4
  39. package/test-theme/snippets/product-card-simple.liquid +521 -25
  40. package/test-theme/snippets/product-card.liquid +145 -232
  41. package/test-theme/snippets/rating.liquid +100 -9
  42. package/test-theme/snippets/skeleton-collection-grid.liquid +94 -8
  43. package/test-theme/snippets/skeleton-product-card.liquid +102 -16
  44. package/test-theme/snippets/skeleton-product-grid.liquid +87 -1
  45. package/test-theme/snippets/social-sharing.liquid +133 -32
  46. package/test-theme/templates/account/dashboard.liquid +30 -0
  47. package/test-theme/templates/account/loyalty-redemption.liquid +29 -28
  48. package/test-theme/templates/account/loyalty.liquid +45 -43
  49. package/test-theme/templates/account/order-detail.liquid +15 -8
  50. package/test-theme/templates/account/orders.liquid +189 -35
  51. package/test-theme/templates/account/profile.liquid +509 -114
  52. package/test-theme/templates/account/register.liquid +18 -8
  53. package/test-theme/templates/account/return-orders.liquid +31 -30
  54. package/test-theme/templates/account/store-credit.liquid +27 -26
  55. package/test-theme/templates/account/subscriptions.liquid +22 -5
  56. package/test-theme/templates/account/wishlist.liquid +88 -19
  57. package/test-theme/templates/address-book.liquid +166 -69
  58. package/test-theme/templates/categories.liquid +90 -30
  59. package/test-theme/templates/checkout.liquid +137 -3834
  60. package/test-theme/templates/error.liquid +23 -21
  61. package/test-theme/templates/index.liquid +29 -0
  62. package/test-theme/templates/login.liquid +33 -6
  63. package/test-theme/templates/order-confirmation.liquid +67 -9
  64. package/test-theme/templates/page.liquid +418 -206
  65. package/test-theme/templates/product-detail.liquid +124 -3878
  66. package/test-theme/templates/products.liquid +155 -30
  67. package/test-theme/templates/search.liquid +739 -225
  68. package/test-theme/widgets/brand-carousel.liquid +102 -82
  69. package/test-theme/widgets/brand.liquid +78 -50
  70. package/test-theme/widgets/carousel.liquid +253 -121
  71. package/test-theme/widgets/category-list-carousel.liquid +32 -8
  72. package/test-theme/widgets/category-list.liquid +21 -6
  73. package/test-theme/widgets/category.liquid +104 -37
  74. package/test-theme/widgets/discount-time.liquid +326 -119
  75. package/test-theme/widgets/footer-menu.liquid +115 -23
  76. package/test-theme/widgets/footer.liquid +118 -5
  77. package/test-theme/widgets/gallery.liquid +29 -5
  78. package/test-theme/widgets/header-menu.liquid +25 -13
  79. package/test-theme/widgets/header.liquid +64 -26
  80. package/test-theme/widgets/html.liquid +29 -6
  81. package/test-theme/widgets/news.liquid +6 -0
  82. package/test-theme/widgets/product-canvas.liquid +20 -12
  83. package/test-theme/widgets/product-carousel.liquid +118 -56
  84. package/test-theme/widgets/shared/product-grid.liquid +12 -0
  85. package/test-theme/widgets/single-product.liquid +688 -250
  86. package/test-theme/widgets/spacebar-carousel.liquid +39 -10
  87. package/test-theme/widgets/spacebar.liquid +77 -6
  88. package/test-theme/widgets/splash.liquid +40 -30
  89. package/test-theme/widgets/testimonial-carousel.liquid +111 -67
@@ -16,7 +16,7 @@
16
16
 
17
17
  # Collection page
18
18
  if collection
19
- assign breadcrumbs = breadcrumbs | append: ' / <a href="/collections">Collections</a>'
19
+ assign breadcrumbs = breadcrumbs | append: ' / <a href="/categories">Categories</a>'
20
20
  assign breadcrumbs = breadcrumbs | append: ' / <span>' | append: collection.title | append: '</span>'
21
21
  endif
22
22
 
@@ -57,7 +57,7 @@
57
57
  {% if collection %}
58
58
  <li class="breadcrumbs-item">
59
59
  <span class="breadcrumbs-separator">/</span>
60
- <a href="/collections" class="breadcrumbs-link">Collections</a>
60
+ <a href="/categories" class="breadcrumbs-link">Categories</a>
61
61
  </li>
62
62
  <li class="breadcrumbs-item">
63
63
  <span class="breadcrumbs-separator">/</span>
@@ -90,9 +90,96 @@
90
90
  </nav>
91
91
 
92
92
  <style>
93
+ :root {
94
+ --color-primary: {{ settings.color_primary | default: '#000000' }};
95
+ --color-primary-hover: {{ settings.color_primary_dark | default: '#333333' }};
96
+ --color-primary-light: {{ settings.color_primary_light | default: '#666666' }};
97
+ --color-success: {{ settings.color_success | default: '#22c55e' }};
98
+ --color-success-light: {{ settings.color_success | default: '#22c55e' }};
99
+ --color-success-dark: {{ settings.color_success | default: '#22c55e' }};
100
+ --color-danger: {{ settings.color_error | default: '#ef4444' }};
101
+ --color-danger-light: {{ settings.color_error | default: '#ef4444' }};
102
+ --color-danger-dark: {{ settings.color_error | default: '#ef4444' }};
103
+ --color-text: {{ settings.color_text | default: '#000000' }};
104
+ --color-text-light: {{ settings.color_text_light | default: '#999999' }};
105
+ --color-text-muted: {{ settings.color_text_muted | default: '#666666' }};
106
+ --color-background: {{ settings.color_background | default: '#ffffff' }};
107
+ --color-card-bg: {{ settings.color_surface | default: '#f5f5f5' }};
108
+ --color-border: {{ settings.color_border | default: '#cccccc' }};
109
+ --color-border-light: {{ settings.color_surface | default: '#f5f5f5' }};
110
+ --color-white: #ffffff;
111
+ --color-black: {{ settings.color_primary_dark | default: '#333333' }};
112
+ --color-gray-25: {{ settings.color_background | default: '#ffffff' }};
113
+ --color-gray-50: {{ settings.color_surface | default: '#f5f5f5' }};
114
+ --color-gray-100: {{ settings.color_surface | default: '#f5f5f5' }};
115
+ --color-gray-200: {{ settings.color_border | default: '#cccccc' }};
116
+ --color-gray-300: {{ settings.color_border | default: '#cccccc' }};
117
+ --color-gray-400: {{ settings.color_text_muted | default: '#666666' }};
118
+ --color-gray-500: {{ settings.color_text_muted | default: '#666666' }};
119
+ --color-gray-600: {{ settings.color_text_muted | default: '#666666' }};
120
+ --color-gray-700: {{ settings.color_text | default: '#000000' }};
121
+ --color-gray-800: {{ settings.color_text | default: '#000000' }};
122
+ --color-gray-900: {{ settings.color_text | default: '#000000' }};
123
+ /* Shadow variables - mapped from settings */
124
+ --shadow-opacity: {{ settings.shadow_opacity | default: 0.1 }};
125
+ --shadow-blur: {{ settings.shadow_blur | default: 8 }}px;
126
+ --shadow-spread: {{ settings.shadow_spread | default: 0 }}px;
127
+
128
+ /* Border radius - mapped from settings */
129
+ --radius-sm: {{ settings.border_radius_small | default: 6 }}px;
130
+ --radius-md: {{ settings.border_radius_medium | default: 10 }}px;
131
+ --radius-lg: {{ settings.border_radius_large | default: 16 }}px;
132
+ --radius-xl: 24px;
133
+ --radius-2xl: 32px;
134
+ --radius-full: 9999px;
135
+
136
+ /* Spacing - mapped from settings */
137
+ --spacing-xs: {{ settings.spacing_xsmall | default: 4 }}px;
138
+ --spacing-sm: {{ settings.spacing_small | default: 8 }}px;
139
+ --spacing-md: {{ settings.spacing_element | default: 16 }}px;
140
+ --spacing-lg: {{ settings.spacing_component | default: 24 }}px;
141
+ --spacing-xl: {{ settings.spacing_large | default: 32 }}px;
142
+
143
+ /* Typography - mapped from settings */
144
+ --font-primary: {{ settings.font_primary | default: '' }}, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
145
+ --font-heading: {{ settings.font_heading | default: '' }}, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
146
+ --font-display: {{ settings.font_display | default: '' }}, 'Georgia', 'Times New Roman', serif;
147
+ --font-body: {{ settings.font_body | default: '' }}, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
148
+ --font-weight-bold: {{ settings.font_weight_bold | default: 700 }};
149
+ --font-weight-medium: {{ settings.font_weight_medium | default: 500 }};
150
+ --line-height-heading: {{ settings.line_height_heading | default: 1.2 }};
151
+
152
+ /* Text sizes - based on font_size_base from settings */
153
+ --text-xs: 12px;
154
+ --text-sm: {{ settings.font_size_base | default: 14 }}px;
155
+ --text-base: {{ settings.font_size_base | default: 14 }}px;
156
+ --text-lg: 16px;
157
+ --text-xl: 18px;
158
+ --text-2xl: 21px;
159
+
160
+ /* Transitions - mapped from settings */
161
+ --transition-fast: 133ms cubic-bezier(0, 0, 0.2, 1);
162
+ --transition: {{ settings.button_transition_speed | default: 200 }}ms cubic-bezier(0, 0, 0.2, 1);
163
+ --transition-slow: 300ms cubic-bezier(0, 0, 0.2, 1);
164
+ --duration-150: 150ms;
165
+ --duration-300: 300ms;
166
+ --ease-out: cubic-bezier(0, 0, 0.2, 1);
167
+ --ease-in: cubic-bezier(0.4, 0, 1, 1);
168
+ --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
169
+
170
+ /* Z-index values */
171
+ --z-10: 10;
172
+ --z-modal: 1050;
173
+ --z-dropdown: 1000;
174
+ --leading-none: var(--leading-none);
175
+ --leading-normal: var(--leading-normal);
176
+ --leading-snug: var(--leading-snug);
177
+ --tracking-wider: var(--tracking-wider);
178
+ }
179
+
93
180
  .breadcrumbs {
94
- padding: 1rem 0;
95
- font-size: 0.875rem;
181
+ padding: var(--spacing-sm) 0;
182
+ font-size: var(--text-sm);
96
183
  }
97
184
 
98
185
  .breadcrumbs-list {
@@ -102,32 +189,32 @@
102
189
  list-style: none;
103
190
  margin: 0;
104
191
  padding: 0;
105
- gap: 0.5rem;
192
+ gap: var(--space-2);
106
193
  }
107
194
 
108
195
  .breadcrumbs-item {
109
196
  display: flex;
110
197
  align-items: center;
111
- gap: 0.5rem;
198
+ gap: var(--space-2);
112
199
  }
113
200
 
114
201
  .breadcrumbs-separator {
115
- color: {{ settings.color_text_light }};
202
+ color: var(--color-text-light);
116
203
  }
117
204
 
118
205
  .breadcrumbs-link {
119
- color: {{ settings.color_text_light }};
206
+ color: var(--color-text-light);
120
207
  text-decoration: none;
121
- transition: color 0.2s ease;
208
+ transition: color var(--transition);
122
209
  }
123
210
 
124
211
  .breadcrumbs-link:hover {
125
- color: {{ settings.color_primary }};
212
+ color: var(--color-primary);
126
213
  text-decoration: underline;
127
214
  }
128
215
 
129
216
  .breadcrumbs-current {
130
- color: {{ settings.color_text }};
217
+ color: var(--color-text);
131
218
  font-weight: 500;
132
219
  }
133
220
  </style>
@@ -62,6 +62,99 @@
62
62
  </div>
63
63
 
64
64
  <style>
65
+ :root {
66
+ --color-primary: {{ settings.color_primary | default: '#000000' }};
67
+ --color-primary-hover: {{ settings.color_primary_dark | default: '#333333' }};
68
+ --color-primary-light: {{ settings.color_primary_light | default: '#666666' }};
69
+ --color-success: {{ settings.color_success | default: '#22c55e' }};
70
+ --color-success-light: {{ settings.color_success | default: '#22c55e' }};
71
+ --color-success-dark: {{ settings.color_success | default: '#22c55e' }};
72
+ --color-danger: {{ settings.color_error | default: '#ef4444' }};
73
+ --color-danger-light: {{ settings.color_error | default: '#ef4444' }};
74
+ --color-danger-dark: {{ settings.color_error | default: '#ef4444' }};
75
+ --color-text: {{ settings.color_text | default: '#000000' }};
76
+ --color-text-light: {{ settings.color_text_light | default: '#999999' }};
77
+ --color-text-muted: {{ settings.color_text_muted | default: '#666666' }};
78
+ --color-background: {{ settings.color_background | default: '#ffffff' }};
79
+ --color-card-bg: {{ settings.color_surface | default: '#f5f5f5' }};
80
+ --color-border: {{ settings.color_border | default: '#cccccc' }};
81
+ --color-border-light: {{ settings.color_surface | default: '#f5f5f5' }};
82
+ --color-white: #ffffff;
83
+ --color-black: {{ settings.color_primary_dark | default: '#333333' }};
84
+ --color-gray-25: {{ settings.color_background | default: '#ffffff' }};
85
+ --color-gray-50: {{ settings.color_surface | default: '#f5f5f5' }};
86
+ --color-gray-100: {{ settings.color_surface | default: '#f5f5f5' }};
87
+ --color-gray-200: {{ settings.color_border | default: '#cccccc' }};
88
+ --color-gray-300: {{ settings.color_border | default: '#cccccc' }};
89
+ --color-gray-400: {{ settings.color_text_muted | default: '#666666' }};
90
+ --color-gray-500: {{ settings.color_text_muted | default: '#666666' }};
91
+ --color-gray-600: {{ settings.color_text_muted | default: '#666666' }};
92
+ --color-gray-700: {{ settings.color_text | default: '#000000' }};
93
+ --color-gray-800: {{ settings.color_text | default: '#000000' }};
94
+ --color-gray-900: {{ settings.color_text | default: '#000000' }};
95
+ /* Shadow variables - mapped from settings */
96
+ --shadow-opacity: {{ settings.shadow_opacity | default: 0.1 }};
97
+ --shadow-blur: {{ settings.shadow_blur | default: 8 }}px;
98
+ --shadow-spread: {{ settings.shadow_spread | default: 0 }}px;
99
+
100
+ /* Border radius - mapped from settings */
101
+ --radius-sm: {{ settings.border_radius_small | default: 6 }}px;
102
+ --radius-md: {{ settings.border_radius_medium | default: 10 }}px;
103
+ --radius-lg: {{ settings.border_radius_large | default: 16 }}px;
104
+ --radius-xl: 24px;
105
+ --radius-2xl: 32px;
106
+ --radius-full: 9999px;
107
+
108
+ /* Spacing - mapped from settings */
109
+ --spacing-xs: {{ settings.spacing_xsmall | default: 4 }}px;
110
+ --spacing-sm: {{ settings.spacing_small | default: 8 }}px;
111
+ --spacing-md: {{ settings.spacing_element | default: 16 }}px;
112
+ --spacing-lg: {{ settings.spacing_component | default: 24 }}px;
113
+ --spacing-xl: {{ settings.spacing_large | default: 32 }}px;
114
+ --spacing-component: {{ settings.spacing_component | default: 24 }}px;
115
+ --spacing-element: {{ settings.spacing_element | default: 16 }}px;
116
+
117
+ /* Typography - mapped from settings */
118
+ --font-primary: {{ settings.font_primary | default: '' }}, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
119
+ --font-heading: {{ settings.font_heading | default: '' }}, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
120
+ --font-display: {{ settings.font_display | default: '' }}, 'Georgia', 'Times New Roman', serif;
121
+ --font-body: {{ settings.font_body | default: '' }}, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
122
+ --font-weight-bold: {{ settings.font_weight_bold | default: 700 }};
123
+ --font-weight-medium: {{ settings.font_weight_medium | default: 500 }};
124
+ --line-height-heading: {{ settings.line_height_heading | default: 1.2 }};
125
+
126
+ /* Text sizes - based on font_size_base from settings */
127
+ --text-xs: 12px;
128
+ --text-sm: {{ settings.font_size_base | default: 14 }}px;
129
+ --text-base: {{ settings.font_size_base | default: 14 }}px;
130
+ --text-lg: 16px;
131
+ --text-xl: 18px;
132
+ --text-2xl: 21px;
133
+
134
+ /* Transitions - mapped from settings */
135
+ --transition-fast: 133ms cubic-bezier(0, 0, 0.2, 1);
136
+ --transition: {{ settings.button_transition_speed | default: 200 }}ms cubic-bezier(0, 0, 0.2, 1);
137
+ --transition-slow: 300ms cubic-bezier(0, 0, 0.2, 1);
138
+ --duration-150: 150ms;
139
+ --duration-300: 300ms;
140
+ --ease-out: cubic-bezier(0, 0, 0.2, 1);
141
+ --ease-in: cubic-bezier(0.4, 0, 1, 1);
142
+ --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
143
+
144
+ /* Z-index values */
145
+ --z-10: 10;
146
+ --z-modal: 1050;
147
+ --z-dropdown: 1000;
148
+
149
+ /* Line heights - mapped from settings */
150
+ --leading-none: 1;
151
+ --leading-normal: {{ settings.line_height_base | default: 1.6 }};
152
+ --leading-snug: 1.375;
153
+
154
+ /* Letter spacing - mapped from settings */
155
+ --tracking-wider: {{ settings.letter_spacing_uppercase | default: 0.05 }}em;
156
+ }
157
+
65
158
  .cart-drawer {
66
159
  position: fixed;
67
160
  inset: 0;
@@ -19,6 +19,92 @@
19
19
  </div>
20
20
 
21
21
  <style>
22
+ :root {
23
+ --color-primary: {{ settings.color_primary | default: '#000000' }};
24
+ --color-primary-hover: {{ settings.color_primary_dark | default: '#333333' }};
25
+ --color-primary-light: {{ settings.color_primary_light | default: '#666666' }};
26
+ --color-success: {{ settings.color_success | default: '#22c55e' }};
27
+ --color-success-light: {{ settings.color_success | default: '#22c55e' }};
28
+ --color-success-dark: {{ settings.color_success | default: '#22c55e' }};
29
+ --color-danger: {{ settings.color_error | default: '#ef4444' }};
30
+ --color-danger-light: {{ settings.color_error | default: '#ef4444' }};
31
+ --color-danger-dark: {{ settings.color_error | default: '#ef4444' }};
32
+ --color-text: {{ settings.color_text | default: '#000000' }};
33
+ --color-text-light: {{ settings.color_text_light | default: '#999999' }};
34
+ --color-text-muted: {{ settings.color_text_muted | default: '#666666' }};
35
+ --color-background: {{ settings.color_background | default: '#ffffff' }};
36
+ --color-card-bg: {{ settings.color_surface | default: '#f5f5f5' }};
37
+ --color-border: {{ settings.color_border | default: '#cccccc' }};
38
+ --color-border-light: {{ settings.color_surface | default: '#f5f5f5' }};
39
+ --color-white: #ffffff;
40
+ --color-black: {{ settings.color_primary_dark | default: '#333333' }};
41
+ --color-gray-25: {{ settings.color_background | default: '#ffffff' }};
42
+ --color-gray-50: {{ settings.color_surface | default: '#f5f5f5' }};
43
+ --color-gray-100: {{ settings.color_surface | default: '#f5f5f5' }};
44
+ --color-gray-200: {{ settings.color_border | default: '#cccccc' }};
45
+ --color-gray-300: {{ settings.color_border | default: '#cccccc' }};
46
+ --color-gray-400: {{ settings.color_text_muted | default: '#666666' }};
47
+ --color-gray-500: {{ settings.color_text_muted | default: '#666666' }};
48
+ --color-gray-600: {{ settings.color_text_muted | default: '#666666' }};
49
+ --color-gray-700: {{ settings.color_text | default: '#000000' }};
50
+ --color-gray-800: {{ settings.color_text | default: '#000000' }};
51
+ --color-gray-900: {{ settings.color_text | default: '#000000' }};
52
+ --shadow-sm: var(--shadow-sm);
53
+ --shadow-md: var(--shadow-md);
54
+ --shadow-lg: var(--shadow-lg);
55
+ --shadow-opacity: {{ settings.shadow_opacity | default: 0.1 }};
56
+ --shadow-blur: {{ settings.shadow_blur | default: 8 }}px;
57
+ --radius-sm: var(--radius-md);
58
+ --radius-md: var(--radius-lg);
59
+ --radius-lg: var(--radius-xl);
60
+ --radius-xl: var(--radius-xl);
61
+ --radius-2xl: var(--radius-2xl);
62
+ --radius-full: var(--radius-full);
63
+ --spacing-xs: var(--space-2);
64
+ --spacing-sm: var(--space-4);
65
+ --spacing-md: var(--space-6);
66
+ --spacing-lg: var(--space-8);
67
+ --spacing-xl: var(--space-12);
68
+ --space-0: var(--space-0);
69
+ --space-0-5: var(--space-0-5);
70
+ --space-1: var(--space-1);
71
+ --space-1-5: var(--space-1-5);
72
+ --space-2: var(--space-2);
73
+ --space-3: var(--space-3);
74
+ --space-3-5: var(--space-3-5);
75
+ --space-4: var(--space-4);
76
+ --space-5: var(--space-5);
77
+ --space-6: var(--space-6);
78
+ --text-xs: var(--text-xs);
79
+ --text-sm: var(--text-sm);
80
+ --text-base: var(--text-base);
81
+ --text-lg: var(--text-lg);
82
+ --text-xl: var(--text-xl);
83
+ --text-2xl: var(--text-2xl);
84
+ --transition: var(--transition);
85
+ --transition-fast: var(--transition-fast);
86
+ --transition-slow: var(--transition-slow);
87
+ --duration-150: var(--duration-150);
88
+ --duration-300: var(--duration-300);
89
+ --ease-out: var(--ease-out);
90
+ --ease-in: var(--ease-in);
91
+ --ease-in-out: var(--ease-in-out);
92
+ --z-10: var(--z-10);
93
+ --z-modal: var(--z-modal);
94
+ --z-dropdown: var(--z-dropdown);
95
+ --font-primary: {{ settings.font_primary | default: '' }}, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
96
+ --font-heading: {{ settings.font_heading | default: '' }}, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
97
+ --font-display: {{ settings.font_display | default: '' }}, 'Georgia', 'Times New Roman', serif;
98
+ --font-body: {{ settings.font_body | default: '' }}, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
99
+ --font-weight-bold: {{ settings.font_weight_bold | default: 700 }};
100
+ --font-weight-medium: {{ settings.font_weight_medium | default: 500 }};
101
+ --line-height-heading: {{ settings.line_height_heading | default: 1.2 }};
102
+ --leading-none: var(--leading-none);
103
+ --leading-normal: var(--leading-normal);
104
+ --leading-snug: var(--leading-snug);
105
+ --tracking-wider: var(--tracking-wider);
106
+ }
107
+
22
108
  .delivery-zone-city-container {
23
109
  position: relative;
24
110
  width: 100%;
@@ -26,18 +112,18 @@
26
112
 
27
113
  .delivery-zone-city-select {
28
114
  width: 100%;
29
- padding: 14px 16px;
115
+ padding: var(--space-3-5) var(--space-4);
30
116
  border: 2px solid #a78bfa;
31
- border-radius: 12px;
32
- font-size: 16px;
33
- background: white;
117
+ border-radius: var(--radius-lg);
118
+ font-size: var(--text-lg);
119
+ background: var(--color-white);
34
120
  cursor: pointer;
35
- transition: all 0.2s ease;
121
+ transition: all var(--transition);
36
122
  appearance: none;
37
123
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
38
124
  background-repeat: no-repeat;
39
- background-position: right 16px center;
40
- padding-right: 40px;
125
+ background-position: right var(--space-4) center;
126
+ padding-right: 2.5rem;
41
127
  }
42
128
 
43
129
  .delivery-zone-city-select:focus {
@@ -49,14 +135,14 @@
49
135
  .delivery-zone-loading-cities {
50
136
  display: none;
51
137
  position: absolute;
52
- right: 16px;
138
+ right: var(--space-4);
53
139
  top: 50%;
54
140
  transform: translateY(-50%);
55
141
  display: none;
56
142
  align-items: center;
57
- gap: 8px;
58
- font-size: 12px;
59
- color: #6b7280;
143
+ gap: var(--spacing-xs);
144
+ font-size: var(--text-xs);
145
+ color: var(--color-gray-400);
60
146
  }
61
147
 
62
148
  .delivery-zone-loading-cities.active {
@@ -64,11 +150,11 @@
64
150
  }
65
151
 
66
152
  .spinner-small {
67
- width: 16px;
68
- height: 16px;
69
- border: 2px solid #e5e7eb;
153
+ width: var(--space-4);
154
+ height: var(--space-4);
155
+ border: 2px solid var(--color-gray-200);
70
156
  border-top-color: #a78bfa;
71
- border-radius: 50%;
157
+ border-radius: var(--radius-full);
72
158
  animation: spin 0.8s linear infinite;
73
159
  }
74
160