@session-services/web-elements 0.1.20 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-C6e98Atu.js → index-BYBgrATL.js} +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/session-services-elements.cjs.js +2 -2
- package/dist/cjs/session-services-formatted-text.cjs.entry.js +181 -165
- package/dist/cjs/session-services-ticketing.cjs.entry.js +24398 -19334
- package/dist/collection/components/session-services-formatted-text/session-services-formatted-text.js +33 -34
- package/dist/collection/components/session-services-ticketing/session-services-ticketing.css +401 -339
- package/dist/collection/components/session-services-ticketing/session-services-ticketing.js +1087 -269
- package/dist/collection/components/session-services-ticketing/session-services-ticketing.logic.js +263 -0
- package/dist/collection/components/session-services-ticketing/session-services-ticketing.logic.test.js +276 -0
- package/dist/collection/components/session-services-ticketing/session-services-ticketing.test.js +264 -0
- package/dist/components/session-services-formatted-text.js +180 -164
- package/dist/components/session-services-ticketing.js +24442 -19360
- package/dist/esm/{index-CeXOR4aK.js → index-CNOpF6tk.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/session-services-elements.js +3 -3
- package/dist/esm/session-services-formatted-text.entry.js +181 -165
- package/dist/esm/session-services-ticketing.entry.js +24406 -19342
- package/dist/session-services-elements/{p-a2404c46.entry.js → p-703444ed.entry.js} +1 -1
- package/dist/session-services-elements/p-CNOpF6tk.js +2 -0
- package/dist/session-services-elements/p-b8703bf3.entry.js +1 -0
- package/dist/session-services-elements/session-services-elements.esm.js +1 -1
- package/dist/sst-env.d.ts +1 -0
- package/dist/types/components/session-services-formatted-text/session-services-formatted-text.d.ts +3 -0
- package/dist/types/components/session-services-ticketing/session-services-ticketing.d.ts +117 -3
- package/dist/types/components/session-services-ticketing/session-services-ticketing.logic.d.ts +193 -0
- package/dist/types/components/session-services-ticketing/session-services-ticketing.logic.test.d.ts +1 -0
- package/dist/types/components/session-services-ticketing/session-services-ticketing.test.d.ts +1 -0
- package/dist/types/components.d.ts +18 -0
- package/package.json +8 -7
- package/dist/session-services-elements/p-3bb6ceef.entry.js +0 -1
- package/dist/session-services-elements/p-CeXOR4aK.js +0 -2
package/dist/collection/components/session-services-ticketing/session-services-ticketing.css
CHANGED
|
@@ -41,33 +41,35 @@
|
|
|
41
41
|
* @prop --shadow-md: Medium shadow.
|
|
42
42
|
* @prop --shadow-lg: Large shadow.
|
|
43
43
|
* @prop --shadow-xl: Extra large shadow.
|
|
44
|
+
* @prop --shadow-edge-light: Subtle lower edge shadow.
|
|
45
|
+
* @prop --shadow-edge-dark: Subtle upper edge shadow.
|
|
44
46
|
* @prop --transition-fast: Fast transition.
|
|
45
47
|
* @prop --transition-base: Base transition.
|
|
46
48
|
* @prop --transition-slow: Slow transition.
|
|
47
49
|
*/
|
|
48
50
|
--background: transparent;
|
|
49
|
-
--foreground: oklch(0.
|
|
51
|
+
--foreground: oklch(0.21 0.006 285.885);
|
|
50
52
|
--card: oklch(1 0 0);
|
|
51
|
-
--card-foreground: oklch(0.
|
|
53
|
+
--card-foreground: oklch(0.21 0.006 285.885);
|
|
52
54
|
--popover: oklch(1 0 0);
|
|
53
|
-
--popover-foreground: oklch(0.
|
|
54
|
-
--primary: oklch(0.
|
|
55
|
+
--popover-foreground: oklch(0.21 0.006 285.885);
|
|
56
|
+
--primary: oklch(0.537 0.1554 255);
|
|
55
57
|
--primary-foreground: oklch(0.985 0 0);
|
|
56
|
-
--secondary: oklch(0
|
|
57
|
-
--secondary-foreground: oklch(0.
|
|
58
|
-
--muted: oklch(0
|
|
59
|
-
--muted-foreground: oklch(0.
|
|
60
|
-
--accent: oklch(0
|
|
61
|
-
--accent-foreground: oklch(0.
|
|
62
|
-
--destructive: oklch(0.
|
|
63
|
-
--destructive-foreground: oklch(
|
|
64
|
-
--border: oklch(0
|
|
65
|
-
--input: oklch(0
|
|
66
|
-
--ring: oklch(0.
|
|
58
|
+
--secondary: oklch(0 0 0 / 4%);
|
|
59
|
+
--secondary-foreground: oklch(0.21 0.006 285.885);
|
|
60
|
+
--muted: oklch(0 0 0 / 4%);
|
|
61
|
+
--muted-foreground: oklch(0.442 0.017 285.786);
|
|
62
|
+
--accent: oklch(0 0 0 / 4%);
|
|
63
|
+
--accent-foreground: oklch(0.21 0.006 285.885);
|
|
64
|
+
--destructive: oklch(0.637 0.237 25.331);
|
|
65
|
+
--destructive-foreground: oklch(0.505 0.213 27.518);
|
|
66
|
+
--border: oklch(0 0 0 / 12%);
|
|
67
|
+
--input: oklch(0 0 0 / 12%);
|
|
68
|
+
--ring: oklch(0.705 0.015 286.067);
|
|
67
69
|
|
|
68
70
|
/* Additional colors for component */
|
|
69
|
-
--success: oklch(0.
|
|
70
|
-
--warning: oklch(0.
|
|
71
|
+
--success: oklch(0.696 0.17 162.48);
|
|
72
|
+
--warning: oklch(0.769 0.188 70.08);
|
|
71
73
|
--info: oklch(0.623 0.214 259.815);
|
|
72
74
|
--info-foreground: oklch(0.488 0.243 264.376);
|
|
73
75
|
--backdrop: oklch(0 0 0 / 0.32);
|
|
@@ -108,6 +110,8 @@
|
|
|
108
110
|
0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 4px 6px -1px hsl(0 0% 0% / 0.1);
|
|
109
111
|
--shadow-xl:
|
|
110
112
|
0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 8px 10px -1px hsl(0 0% 0% / 0.1);
|
|
113
|
+
--shadow-edge-light: 0 1px oklch(0 0 0 / 4%);
|
|
114
|
+
--shadow-edge-dark: 0 -1px oklch(1 0 0 / 8%);
|
|
111
115
|
|
|
112
116
|
/* Transitions */
|
|
113
117
|
--transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
@@ -116,27 +120,24 @@
|
|
|
116
120
|
|
|
117
121
|
/* Internal tokens with external override fallbacks */
|
|
118
122
|
--internal-background: var(--background, transparent);
|
|
119
|
-
--internal-foreground: var(--foreground, oklch(0.
|
|
123
|
+
--internal-foreground: var(--foreground, oklch(0.21 0.006 285.885));
|
|
120
124
|
--internal-card: var(--card, oklch(1 0 0));
|
|
121
|
-
--internal-card-foreground: var(--card-foreground, oklch(0.145 0 0));
|
|
122
125
|
--internal-popover: var(--popover, oklch(1 0 0));
|
|
123
|
-
--internal-popover-foreground: var(--popover-foreground, oklch(0.
|
|
124
|
-
--internal-primary: var(--primary, oklch(0.
|
|
126
|
+
--internal-popover-foreground: var(--popover-foreground, oklch(0.21 0.006 285.885));
|
|
127
|
+
--internal-primary: var(--primary, oklch(0.537 0.1554 255));
|
|
125
128
|
--internal-primary-foreground: var(--primary-foreground, oklch(0.985 0 0));
|
|
126
|
-
--internal-secondary: var(--secondary, oklch(0
|
|
127
|
-
--internal-
|
|
128
|
-
--internal-muted: var(--muted, oklch(0.
|
|
129
|
-
--internal-
|
|
130
|
-
--internal-accent: var(--accent, oklch(0.
|
|
131
|
-
--internal-
|
|
132
|
-
--internal-
|
|
133
|
-
--internal-
|
|
134
|
-
--internal-
|
|
135
|
-
|
|
136
|
-
--internal-
|
|
137
|
-
|
|
138
|
-
--internal-success: var(--success, oklch(0.66 0.154 149.48));
|
|
139
|
-
--internal-warning: var(--warning, oklch(0.72 0.153 66.34));
|
|
129
|
+
--internal-secondary: var(--secondary, oklch(0 0 0 / 4%));
|
|
130
|
+
--internal-muted: var(--muted, oklch(0 0 0 / 4%));
|
|
131
|
+
--internal-muted-foreground: var(--muted-foreground, oklch(0.442 0.017 285.786));
|
|
132
|
+
--internal-accent: var(--accent, oklch(0 0 0 / 4%));
|
|
133
|
+
--internal-accent-foreground: var(--accent-foreground, oklch(0.21 0.006 285.885));
|
|
134
|
+
--internal-destructive: var(--destructive, oklch(0.637 0.237 25.331));
|
|
135
|
+
--internal-border: var(--border, oklch(0 0 0 / 12%));
|
|
136
|
+
--internal-input: var(--input, oklch(0 0 0 / 12%));
|
|
137
|
+
--internal-ring: var(--ring, oklch(0.705 0.015 286.067));
|
|
138
|
+
|
|
139
|
+
--internal-success: var(--success, oklch(0.696 0.17 162.48));
|
|
140
|
+
--internal-warning: var(--warning, oklch(0.769 0.188 70.08));
|
|
140
141
|
--internal-info: var(--info, oklch(0.623 0.214 259.815));
|
|
141
142
|
--internal-info-foreground: var(--info-foreground, oklch(0.488 0.243 264.376));
|
|
142
143
|
--internal-backdrop: var(--backdrop, oklch(0 0 0 / 0.32));
|
|
@@ -156,22 +157,16 @@
|
|
|
156
157
|
--internal-font-size-base: var(--font-size-base, 1rem);
|
|
157
158
|
--internal-font-size-lg: var(--font-size-lg, 1.125rem);
|
|
158
159
|
--internal-font-size-xl: var(--font-size-xl, 1.25rem);
|
|
159
|
-
--internal-font-size-2xl: var(--font-size-2xl, 1.5rem);
|
|
160
|
-
--internal-font-weight-normal: var(--font-weight-normal, 400);
|
|
161
160
|
--internal-font-weight-medium: var(--font-weight-medium, 500);
|
|
162
161
|
--internal-font-weight-semibold: var(--font-weight-semibold, 600);
|
|
163
162
|
--internal-font-weight-bold: var(--font-weight-bold, 700);
|
|
164
163
|
|
|
165
|
-
--internal-shadow-sm:
|
|
166
|
-
var(--shadow-sm, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1));
|
|
167
|
-
--internal-shadow-base:
|
|
168
|
-
var(--shadow-base, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1));
|
|
169
|
-
--internal-shadow-md:
|
|
170
|
-
var(--shadow-md, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1));
|
|
171
164
|
--internal-shadow-lg:
|
|
172
165
|
var(--shadow-lg, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 4px 6px -1px hsl(0 0% 0% / 0.1));
|
|
173
166
|
--internal-shadow-xl:
|
|
174
167
|
var(--shadow-xl, 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 8px 10px -1px hsl(0 0% 0% / 0.1));
|
|
168
|
+
--internal-shadow-edge-light:
|
|
169
|
+
var(--shadow-edge-light, 0 1px oklch(0 0 0 / 4%));
|
|
175
170
|
|
|
176
171
|
--internal-transition-fast: var(--transition-fast, 150ms cubic-bezier(0.4, 0, 0.2, 1));
|
|
177
172
|
--internal-transition-base: var(--transition-base, 200ms cubic-bezier(0.4, 0, 0.2, 1));
|
|
@@ -209,24 +204,30 @@
|
|
|
209
204
|
:host([data-theme="dark"]) {
|
|
210
205
|
/* Dark theme inputs (overridable externally) */
|
|
211
206
|
--background: transparent;
|
|
212
|
-
--foreground: oklch(0.
|
|
213
|
-
--card:
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
--
|
|
219
|
-
--
|
|
220
|
-
--
|
|
221
|
-
--
|
|
222
|
-
--
|
|
223
|
-
--
|
|
224
|
-
--
|
|
225
|
-
--
|
|
226
|
-
--
|
|
227
|
-
--
|
|
228
|
-
--
|
|
229
|
-
--
|
|
207
|
+
--foreground: oklch(0.967 0.001 286.375);
|
|
208
|
+
--card: color-mix(
|
|
209
|
+
in srgb,
|
|
210
|
+
oklch(0.21 0.006 285.885) 80%,
|
|
211
|
+
oklch(0.141 0.005 285.823)
|
|
212
|
+
);
|
|
213
|
+
--card-foreground: oklch(0.967 0.001 286.375);
|
|
214
|
+
--popover: oklch(0.21 0.006 285.885);
|
|
215
|
+
--popover-foreground: oklch(0.967 0.001 286.375);
|
|
216
|
+
--primary: oklch(0.537 0.1554 255);
|
|
217
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
218
|
+
--secondary: oklch(1 0 0 / 6%);
|
|
219
|
+
--secondary-foreground: oklch(0.967 0.001 286.375);
|
|
220
|
+
--muted: oklch(1 0 0 / 6%);
|
|
221
|
+
--muted-foreground: oklch(0.705 0.015 286.067);
|
|
222
|
+
--accent: oklch(1 0 0 / 6%);
|
|
223
|
+
--accent-foreground: oklch(0.967 0.001 286.375);
|
|
224
|
+
--destructive: oklch(0.637 0.237 25.331);
|
|
225
|
+
--destructive-foreground: oklch(0.704 0.191 22.216);
|
|
226
|
+
--border: oklch(1 0 0 / 12%);
|
|
227
|
+
--input: oklch(1 0 0 / 12%);
|
|
228
|
+
--ring: oklch(0.552 0.016 285.938);
|
|
229
|
+
--success: oklch(0.696 0.17 162.48);
|
|
230
|
+
--warning: oklch(0.769 0.188 70.08);
|
|
230
231
|
--info: oklch(0.623 0.214 259.815);
|
|
231
232
|
--info-foreground: oklch(0.707 0.165 254.624);
|
|
232
233
|
}
|
|
@@ -237,77 +238,126 @@
|
|
|
237
238
|
width: 100%;
|
|
238
239
|
}
|
|
239
240
|
|
|
240
|
-
.
|
|
241
|
-
|
|
241
|
+
.tickets-heading {
|
|
242
|
+
color: var(--internal-foreground);
|
|
243
|
+
font-size: var(--internal-font-size-lg);
|
|
244
|
+
font-weight: var(--internal-font-weight-semibold);
|
|
245
|
+
margin: 0 0 var(--internal-spacing-md);
|
|
242
246
|
}
|
|
243
247
|
|
|
244
|
-
.
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
248
|
+
.door-alert,
|
|
249
|
+
.empty-ticketing-state,
|
|
250
|
+
.passcode-form,
|
|
251
|
+
.passcode-form input,
|
|
252
|
+
.ticket-section,
|
|
253
|
+
.more-info-badge,
|
|
254
|
+
.quantity-controls,
|
|
255
|
+
.sold-out-controls,
|
|
256
|
+
.coupon-row,
|
|
257
|
+
.coupon-apply,
|
|
258
|
+
.coupon-remove {
|
|
259
|
+
border: 1px solid var(--internal-input);
|
|
260
|
+
box-shadow: var(--internal-shadow-edge-light);
|
|
253
261
|
}
|
|
254
262
|
|
|
255
|
-
.
|
|
256
|
-
|
|
263
|
+
.external-ticket-button,
|
|
264
|
+
.checkout-btn {
|
|
265
|
+
display: inline-flex;
|
|
266
|
+
align-items: center;
|
|
267
|
+
justify-content: center;
|
|
268
|
+
background: var(--internal-primary);
|
|
269
|
+
color: var(--internal-primary-foreground);
|
|
270
|
+
border: 1px solid oklch(from var(--internal-primary) calc(l - 0.08) c h);
|
|
271
|
+
border-radius: calc(var(--internal-radius) - 2px);
|
|
272
|
+
cursor: pointer;
|
|
273
|
+
box-shadow: var(--internal-shadow-edge-light);
|
|
274
|
+
transition: all var(--internal-transition-fast);
|
|
257
275
|
}
|
|
258
276
|
|
|
259
|
-
|
|
260
|
-
.
|
|
261
|
-
|
|
262
|
-
|
|
277
|
+
.external-ticket-button:hover,
|
|
278
|
+
.checkout-btn:hover:not(:disabled) {
|
|
279
|
+
background: oklch(from var(--internal-primary) calc(l - 0.08) c h);
|
|
280
|
+
transform: translateY(-1px);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
.door-alert,
|
|
284
|
+
.empty-ticketing-state,
|
|
285
|
+
.passcode-form {
|
|
286
|
+
display: flex;
|
|
287
|
+
flex-direction: column;
|
|
288
|
+
gap: var(--internal-spacing-sm);
|
|
289
|
+
padding: var(--internal-spacing-lg);
|
|
290
|
+
margin-bottom: var(--internal-spacing-md);
|
|
291
|
+
background: var(--internal-card);
|
|
292
|
+
border-radius: var(--internal-radius);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.door-alert {
|
|
296
|
+
background: oklch(from var(--internal-success) l c h / 0.1);
|
|
297
|
+
border-color: oklch(from var(--internal-success) l c h / 0.48);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.door-alert strong,
|
|
301
|
+
.empty-ticketing-state strong,
|
|
302
|
+
.passcode-form h2 {
|
|
303
|
+
color: var(--internal-foreground);
|
|
304
|
+
font-size: var(--internal-font-size-base);
|
|
305
|
+
font-weight: var(--internal-font-weight-semibold);
|
|
306
|
+
line-height: 1.3;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
.door-alert span,
|
|
310
|
+
.empty-ticketing-state span,
|
|
311
|
+
.passcode-form p {
|
|
312
|
+
color: var(--internal-muted-foreground);
|
|
313
|
+
font-size: var(--internal-font-size-sm);
|
|
314
|
+
line-height: 1.5;
|
|
263
315
|
}
|
|
264
316
|
|
|
265
|
-
.
|
|
266
|
-
|
|
267
|
-
|
|
317
|
+
.external-ticket-button {
|
|
318
|
+
width: 100%;
|
|
319
|
+
padding: calc(var(--internal-spacing-sm) + var(--internal-spacing-xs))
|
|
320
|
+
var(--internal-spacing-lg);
|
|
321
|
+
font-size: var(--internal-font-size-base);
|
|
322
|
+
font-weight: var(--internal-font-weight-bold);
|
|
323
|
+
text-decoration: none;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
.passcode-form input {
|
|
327
|
+
width: 100%;
|
|
328
|
+
min-width: 0;
|
|
329
|
+
padding: calc(var(--internal-spacing-sm) + 0.125rem)
|
|
330
|
+
var(--internal-spacing-sm);
|
|
331
|
+
background: var(--internal-card);
|
|
332
|
+
color: var(--internal-foreground);
|
|
333
|
+
border-radius: calc(var(--internal-radius) - 2px);
|
|
334
|
+
font: inherit;
|
|
268
335
|
}
|
|
269
336
|
|
|
270
|
-
.
|
|
271
|
-
|
|
272
|
-
|
|
337
|
+
.passcode-form input:disabled {
|
|
338
|
+
opacity: 0.6;
|
|
339
|
+
cursor: not-allowed;
|
|
273
340
|
}
|
|
274
341
|
|
|
275
342
|
.ticket-section {
|
|
276
343
|
background: var(--internal-card);
|
|
277
|
-
border: 1px solid var(--internal-border);
|
|
278
344
|
border-radius: var(--internal-radius);
|
|
279
345
|
margin: 0 0 var(--internal-spacing-lg) 0;
|
|
280
346
|
overflow: hidden;
|
|
281
347
|
width: 100%;
|
|
282
|
-
box-shadow: var(--internal-shadow-sm);
|
|
283
348
|
transition: all var(--internal-transition-base);
|
|
284
349
|
}
|
|
285
350
|
|
|
286
|
-
.tickets-wrapper > .ticket-section:last-child
|
|
287
|
-
.tickets-wrapper > .unsectioned-admissions:last-child .ticket-section:last-child {
|
|
351
|
+
.tickets-wrapper > .ticket-section:last-child {
|
|
288
352
|
margin-bottom: 0;
|
|
289
353
|
}
|
|
290
354
|
|
|
291
|
-
.ticket-section:focus-within {
|
|
292
|
-
box-shadow: var(--internal-shadow-md);
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
.ticket-section:hover:not(.section-sold-out) {
|
|
296
|
-
box-shadow: var(--internal-shadow-md);
|
|
297
|
-
}
|
|
298
|
-
|
|
299
355
|
.ticket-section.section-sold-out {
|
|
300
|
-
opacity: 1;
|
|
301
|
-
background: var(--card);
|
|
302
|
-
box-shadow: none;
|
|
303
356
|
position: relative;
|
|
304
|
-
border-color: var(--border);
|
|
305
|
-
overflow: hidden;
|
|
306
357
|
}
|
|
307
358
|
|
|
308
359
|
.ticket-section.section-sold-out .section-header {
|
|
309
|
-
|
|
310
|
-
padding-bottom: var(--spacing-md);
|
|
360
|
+
padding-bottom: var(--internal-spacing-md);
|
|
311
361
|
}
|
|
312
362
|
|
|
313
363
|
.ticket-section.section-sold-out .section-name,
|
|
@@ -323,7 +373,7 @@
|
|
|
323
373
|
}
|
|
324
374
|
|
|
325
375
|
.ticket-section.section-sold-out .admission-card {
|
|
326
|
-
background: var(--card);
|
|
376
|
+
background: var(--internal-card);
|
|
327
377
|
}
|
|
328
378
|
|
|
329
379
|
.ticket-section.section-sold-out .quantity-controls,
|
|
@@ -348,33 +398,26 @@
|
|
|
348
398
|
gap: var(--internal-spacing-sm);
|
|
349
399
|
}
|
|
350
400
|
|
|
351
|
-
.section-time
|
|
401
|
+
.section-time,
|
|
402
|
+
.section-venue {
|
|
352
403
|
color: var(--internal-muted-foreground);
|
|
353
404
|
font-size: var(--internal-font-size-sm);
|
|
354
|
-
margin-bottom: var(--internal-spacing-xs);
|
|
355
405
|
display: flex;
|
|
356
406
|
align-items: center;
|
|
357
407
|
gap: var(--internal-spacing-xs);
|
|
358
408
|
}
|
|
359
409
|
|
|
360
|
-
.section-time
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
flex-shrink: 0;
|
|
364
|
-
opacity: 0.8;
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
.section-venue {
|
|
368
|
-
color: var(--muted-foreground);
|
|
369
|
-
font-size: var(--font-size-sm);
|
|
370
|
-
display: flex;
|
|
371
|
-
align-items: center;
|
|
372
|
-
gap: var(--spacing-xs);
|
|
410
|
+
.section-time,
|
|
411
|
+
.admission-time {
|
|
412
|
+
margin-bottom: var(--internal-spacing-xs);
|
|
373
413
|
}
|
|
374
414
|
|
|
375
|
-
.section-
|
|
376
|
-
|
|
377
|
-
|
|
415
|
+
.section-time svg,
|
|
416
|
+
.section-venue svg,
|
|
417
|
+
.admission-time svg,
|
|
418
|
+
.admission-venue svg {
|
|
419
|
+
width: calc(var(--internal-spacing-sm) + var(--internal-spacing-xs));
|
|
420
|
+
height: calc(var(--internal-spacing-sm) + var(--internal-spacing-xs));
|
|
378
421
|
flex-shrink: 0;
|
|
379
422
|
opacity: 0.8;
|
|
380
423
|
}
|
|
@@ -398,18 +441,15 @@
|
|
|
398
441
|
z-index: 1;
|
|
399
442
|
}
|
|
400
443
|
|
|
401
|
-
.admission-card
|
|
402
|
-
background:
|
|
444
|
+
.admission-card.sold-out {
|
|
445
|
+
background: var(--internal-card);
|
|
403
446
|
}
|
|
404
447
|
|
|
405
|
-
.admission-card.
|
|
406
|
-
opacity:
|
|
407
|
-
background: var(--card);
|
|
408
|
-
position: relative;
|
|
448
|
+
.admission-card.unavailable {
|
|
449
|
+
opacity: 0.72;
|
|
409
450
|
}
|
|
410
451
|
|
|
411
|
-
.admission-card.sold-out .admission-price
|
|
412
|
-
.admission-card.sold-out .admission-fee {
|
|
452
|
+
.admission-card.sold-out .admission-price {
|
|
413
453
|
opacity: 0.5;
|
|
414
454
|
}
|
|
415
455
|
|
|
@@ -465,7 +505,6 @@
|
|
|
465
505
|
padding: calc(var(--internal-spacing-xs) * 1.5) var(--internal-spacing-sm);
|
|
466
506
|
background: oklch(from var(--internal-info) l c h / 0.08);
|
|
467
507
|
color: var(--internal-info-foreground);
|
|
468
|
-
border: none;
|
|
469
508
|
border-radius: calc(var(--internal-radius) - 2px);
|
|
470
509
|
font-size: var(--internal-font-size-xs);
|
|
471
510
|
font-weight: var(--internal-font-weight-medium);
|
|
@@ -488,36 +527,17 @@
|
|
|
488
527
|
flex-shrink: 0;
|
|
489
528
|
}
|
|
490
529
|
|
|
491
|
-
.admission-time
|
|
492
|
-
color: var(--muted-foreground);
|
|
493
|
-
font-size: var(--font-size-sm);
|
|
494
|
-
margin-bottom: var(--spacing-xs);
|
|
495
|
-
display: flex;
|
|
496
|
-
align-items: center;
|
|
497
|
-
gap: var(--spacing-xs);
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
.admission-time svg {
|
|
501
|
-
width: calc(var(--spacing-sm) + var(--spacing-xs));
|
|
502
|
-
height: calc(var(--spacing-sm) + var(--spacing-xs));
|
|
503
|
-
flex-shrink: 0;
|
|
504
|
-
opacity: 0.8;
|
|
505
|
-
}
|
|
506
|
-
|
|
530
|
+
.admission-time,
|
|
507
531
|
.admission-venue {
|
|
508
|
-
color: var(--muted-foreground);
|
|
509
|
-
font-size: var(--font-size-sm);
|
|
510
|
-
margin-bottom: var(--spacing-sm);
|
|
532
|
+
color: var(--internal-muted-foreground);
|
|
533
|
+
font-size: var(--internal-font-size-sm);
|
|
511
534
|
display: flex;
|
|
512
535
|
align-items: center;
|
|
513
|
-
gap: var(--spacing-xs);
|
|
536
|
+
gap: var(--internal-spacing-xs);
|
|
514
537
|
}
|
|
515
538
|
|
|
516
|
-
.admission-venue
|
|
517
|
-
|
|
518
|
-
height: calc(var(--spacing-sm) + var(--spacing-xs));
|
|
519
|
-
flex-shrink: 0;
|
|
520
|
-
opacity: 0.8;
|
|
539
|
+
.admission-venue {
|
|
540
|
+
margin-bottom: var(--internal-spacing-sm);
|
|
521
541
|
}
|
|
522
542
|
|
|
523
543
|
/* Solo admission layout adjustments */
|
|
@@ -531,10 +551,10 @@
|
|
|
531
551
|
}
|
|
532
552
|
|
|
533
553
|
.solo-admission .admission-price-info {
|
|
534
|
-
margin-top: var(--spacing-md);
|
|
554
|
+
margin-top: var(--internal-spacing-md);
|
|
535
555
|
display: flex;
|
|
536
556
|
justify-content: space-between;
|
|
537
|
-
align-items:
|
|
557
|
+
align-items: center;
|
|
538
558
|
width: 100%;
|
|
539
559
|
}
|
|
540
560
|
|
|
@@ -549,10 +569,10 @@
|
|
|
549
569
|
justify-content: center;
|
|
550
570
|
padding: 0;
|
|
551
571
|
background: transparent;
|
|
552
|
-
color: var(--muted-foreground);
|
|
572
|
+
color: var(--internal-muted-foreground);
|
|
553
573
|
border: none;
|
|
554
|
-
font-size: var(--font-size-sm);
|
|
555
|
-
font-weight: var(--font-weight-medium);
|
|
574
|
+
font-size: var(--internal-font-size-sm);
|
|
575
|
+
font-weight: var(--internal-font-weight-medium);
|
|
556
576
|
text-transform: uppercase;
|
|
557
577
|
letter-spacing: 0.05em;
|
|
558
578
|
margin-left: auto;
|
|
@@ -563,8 +583,8 @@
|
|
|
563
583
|
display: flex;
|
|
564
584
|
align-items: center;
|
|
565
585
|
justify-content: space-between;
|
|
566
|
-
gap: var(--spacing-sm);
|
|
567
|
-
margin-bottom: var(--spacing-sm);
|
|
586
|
+
gap: var(--internal-spacing-sm);
|
|
587
|
+
margin-bottom: var(--internal-spacing-sm);
|
|
568
588
|
width: 100%;
|
|
569
589
|
}
|
|
570
590
|
|
|
@@ -574,40 +594,53 @@
|
|
|
574
594
|
}
|
|
575
595
|
|
|
576
596
|
.admission-price {
|
|
577
|
-
color: var(--internal-
|
|
597
|
+
color: var(--internal-foreground);
|
|
578
598
|
font-size: var(--internal-font-size-xl);
|
|
579
599
|
font-weight: var(--internal-font-weight-bold);
|
|
580
600
|
letter-spacing: -0.025em;
|
|
581
601
|
line-height: 1.1;
|
|
582
602
|
}
|
|
583
603
|
|
|
584
|
-
.admission-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
604
|
+
.admission-price-row {
|
|
605
|
+
display: flex;
|
|
606
|
+
flex-wrap: wrap;
|
|
607
|
+
align-items: baseline;
|
|
608
|
+
gap: var(--internal-spacing-sm);
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
.admission-price-original {
|
|
612
|
+
color: var(--internal-muted-foreground);
|
|
613
|
+
font-size: var(--internal-font-size-base);
|
|
614
|
+
text-decoration: line-through;
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
.admission-savings,
|
|
618
|
+
.admission-availability {
|
|
619
|
+
font-size: var(--internal-font-size-xs);
|
|
620
|
+
font-weight: var(--internal-font-weight-medium);
|
|
621
|
+
line-height: 1.35;
|
|
622
|
+
margin-top: var(--internal-spacing-xs);
|
|
594
623
|
}
|
|
595
624
|
|
|
596
625
|
.admission-savings {
|
|
597
|
-
color: var(--success);
|
|
598
|
-
font-size: var(--font-size-sm);
|
|
599
|
-
font-weight: var(--font-weight-medium);
|
|
626
|
+
color: var(--internal-success);
|
|
600
627
|
}
|
|
601
628
|
|
|
602
629
|
.admission-availability {
|
|
603
|
-
color: var(--warning);
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
630
|
+
color: var(--internal-warning);
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
.admission-sale-label {
|
|
634
|
+
display: block;
|
|
635
|
+
margin-top: var(--internal-spacing-xs);
|
|
636
|
+
color: var(--internal-muted-foreground);
|
|
637
|
+
font-size: var(--internal-font-size-sm);
|
|
638
|
+
font-weight: var(--internal-font-weight-medium);
|
|
639
|
+
line-height: 1.35;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
.admission-sale-label.success {
|
|
643
|
+
color: var(--internal-success);
|
|
611
644
|
}
|
|
612
645
|
|
|
613
646
|
/* Quantity Controls - Modern, minimal design */
|
|
@@ -616,10 +649,8 @@
|
|
|
616
649
|
align-items: center;
|
|
617
650
|
gap: 0;
|
|
618
651
|
background: var(--internal-secondary);
|
|
619
|
-
border: 1px solid var(--internal-border);
|
|
620
652
|
border-radius: calc(var(--internal-radius) - 2px);
|
|
621
653
|
overflow: hidden;
|
|
622
|
-
box-shadow: none;
|
|
623
654
|
transition: all var(--internal-transition-fast);
|
|
624
655
|
}
|
|
625
656
|
|
|
@@ -660,18 +691,22 @@
|
|
|
660
691
|
background: var(--internal-secondary);
|
|
661
692
|
color: var(--internal-muted-foreground);
|
|
662
693
|
border-color: var(--internal-border);
|
|
663
|
-
box-shadow: none;
|
|
664
694
|
}
|
|
665
695
|
|
|
666
696
|
.quantity-btn.decrease {
|
|
667
|
-
border-right: 1px solid var(--internal-
|
|
697
|
+
border-right: 1px solid var(--internal-input);
|
|
668
698
|
}
|
|
669
699
|
|
|
670
700
|
.quantity-btn.increase {
|
|
671
|
-
border-left: 1px solid var(--internal-
|
|
701
|
+
border-left: 1px solid var(--internal-input);
|
|
672
702
|
}
|
|
673
703
|
|
|
674
704
|
.quantity-value {
|
|
705
|
+
appearance: textfield;
|
|
706
|
+
width: 2.75rem;
|
|
707
|
+
height: calc(var(--internal-spacing-lg) * 1.5);
|
|
708
|
+
border: none;
|
|
709
|
+
background: transparent;
|
|
675
710
|
min-width: 2.5rem;
|
|
676
711
|
text-align: center;
|
|
677
712
|
font-size: var(--internal-font-size-sm);
|
|
@@ -680,148 +715,137 @@
|
|
|
680
715
|
padding: 0 var(--internal-spacing-xs);
|
|
681
716
|
}
|
|
682
717
|
|
|
718
|
+
.quantity-value::-webkit-inner-spin-button,
|
|
719
|
+
.quantity-value::-webkit-outer-spin-button {
|
|
720
|
+
appearance: none;
|
|
721
|
+
margin: 0;
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
.quantity-value:disabled {
|
|
725
|
+
opacity: 0.6;
|
|
726
|
+
cursor: not-allowed;
|
|
727
|
+
}
|
|
728
|
+
|
|
683
729
|
/* Sold Out Controls */
|
|
684
730
|
.sold-out-controls {
|
|
685
731
|
display: inline-flex;
|
|
686
732
|
align-items: center;
|
|
687
733
|
justify-content: center;
|
|
688
|
-
min-width: calc(var(--spacing-lg) * 1.5 * 2 + 2.5rem);
|
|
689
|
-
height: calc(var(--spacing-lg) * 1.5);
|
|
690
|
-
padding: 0 var(--spacing-md);
|
|
691
|
-
background: var(--muted);
|
|
692
|
-
|
|
693
|
-
border: 1px solid var(--border);
|
|
694
|
-
border-radius: calc(var(--radius) - 2px);
|
|
695
|
-
font-size: var(--font-size-xs);
|
|
696
|
-
font-weight: var(--font-weight-medium);
|
|
697
|
-
letter-spacing: 0.025em;
|
|
698
|
-
text-transform: uppercase;
|
|
734
|
+
min-width: calc(var(--internal-spacing-lg) * 1.5 * 2 + 2.5rem);
|
|
735
|
+
height: calc(var(--internal-spacing-lg) * 1.5);
|
|
736
|
+
padding: 0 var(--internal-spacing-md);
|
|
737
|
+
background: var(--internal-muted);
|
|
738
|
+
border-radius: calc(var(--internal-radius) - 2px);
|
|
699
739
|
}
|
|
700
740
|
|
|
741
|
+
.sold-out-controls,
|
|
701
742
|
.sold-out-text {
|
|
702
|
-
color: var(--muted-foreground);
|
|
703
|
-
font-size: var(--font-size-xs);
|
|
704
|
-
font-weight: var(--font-weight-medium);
|
|
743
|
+
color: var(--internal-muted-foreground);
|
|
744
|
+
font-size: var(--internal-font-size-xs);
|
|
745
|
+
font-weight: var(--internal-font-weight-medium);
|
|
705
746
|
letter-spacing: 0.025em;
|
|
706
747
|
text-transform: uppercase;
|
|
707
748
|
}
|
|
708
749
|
|
|
709
|
-
|
|
710
|
-
.order-summary {
|
|
711
|
-
background: var(--internal-card);
|
|
712
|
-
border: 1px solid var(--internal-border);
|
|
713
|
-
border-radius: var(--internal-radius);
|
|
714
|
-
padding: var(--internal-spacing-lg);
|
|
750
|
+
.checkout-actions {
|
|
715
751
|
margin: var(--internal-spacing-lg) 0 0 0;
|
|
716
|
-
box-shadow: var(--internal-shadow-lg);
|
|
717
752
|
width: 100%;
|
|
718
753
|
}
|
|
719
754
|
|
|
720
|
-
.
|
|
721
|
-
font-size: var(--internal-font-size-lg);
|
|
722
|
-
font-weight: var(--internal-font-weight-semibold);
|
|
755
|
+
.coupon-panel {
|
|
723
756
|
margin-bottom: var(--internal-spacing-md);
|
|
724
|
-
color: var(--internal-foreground);
|
|
725
|
-
letter-spacing: -0.025em;
|
|
726
757
|
}
|
|
727
758
|
|
|
728
|
-
.
|
|
759
|
+
.coupon-row {
|
|
760
|
+
position: relative;
|
|
729
761
|
display: flex;
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
762
|
+
align-items: center;
|
|
763
|
+
width: 100%;
|
|
764
|
+
min-width: 0;
|
|
765
|
+
overflow: hidden;
|
|
766
|
+
background: var(--internal-background);
|
|
767
|
+
background-clip: padding-box;
|
|
768
|
+
border-radius: var(--internal-radius);
|
|
769
|
+
transition: border-color var(--internal-transition-fast);
|
|
734
770
|
}
|
|
735
771
|
|
|
736
|
-
.
|
|
737
|
-
|
|
772
|
+
.coupon-row:focus-within {
|
|
773
|
+
border-color: var(--internal-ring);
|
|
738
774
|
}
|
|
739
775
|
|
|
740
|
-
.
|
|
741
|
-
|
|
742
|
-
justify-content: space-between;
|
|
743
|
-
align-items: baseline;
|
|
744
|
-
font-size: var(--internal-font-size-base);
|
|
745
|
-
color: var(--internal-foreground);
|
|
776
|
+
.coupon-row:has(input[aria-invalid="true"]) {
|
|
777
|
+
border-color: var(--internal-destructive);
|
|
746
778
|
}
|
|
747
779
|
|
|
748
|
-
.
|
|
749
|
-
|
|
750
|
-
font-weight: var(--font-weight-medium);
|
|
780
|
+
.coupon-row:has(input:disabled) {
|
|
781
|
+
opacity: 0.64;
|
|
751
782
|
}
|
|
752
783
|
|
|
753
|
-
.
|
|
784
|
+
.coupon-row input {
|
|
785
|
+
width: 100%;
|
|
786
|
+
min-width: 0;
|
|
787
|
+
padding: calc(var(--internal-spacing-sm) - 1px)
|
|
788
|
+
calc(var(--internal-spacing-xl) * 2.75)
|
|
789
|
+
calc(var(--internal-spacing-sm) - 1px)
|
|
790
|
+
calc(var(--internal-spacing-md) - 1px);
|
|
791
|
+
background: var(--internal-card);
|
|
792
|
+
color: var(--internal-foreground);
|
|
793
|
+
border: none;
|
|
794
|
+
border-radius: inherit;
|
|
795
|
+
font: inherit;
|
|
754
796
|
font-size: var(--internal-font-size-sm);
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
padding-left: var(--internal-spacing-md);
|
|
758
|
-
font-weight: var(--internal-font-weight-normal);
|
|
759
|
-
}
|
|
760
|
-
|
|
761
|
-
.item-description {
|
|
762
|
-
flex: 1;
|
|
763
|
-
font-weight: var(--internal-font-weight-medium);
|
|
797
|
+
line-height: 1.25rem;
|
|
798
|
+
outline: none;
|
|
764
799
|
}
|
|
765
800
|
|
|
766
|
-
.
|
|
767
|
-
|
|
768
|
-
white-space: nowrap;
|
|
801
|
+
.coupon-row input::placeholder {
|
|
802
|
+
color: oklch(from var(--internal-muted-foreground) l c h / 0.64);
|
|
769
803
|
}
|
|
770
804
|
|
|
771
|
-
.
|
|
772
|
-
|
|
773
|
-
justify-content: space-between;
|
|
774
|
-
align-items: center;
|
|
775
|
-
padding-bottom: var(--internal-spacing-sm);
|
|
776
|
-
color: var(--internal-muted-foreground);
|
|
777
|
-
font-size: var(--internal-font-size-base);
|
|
778
|
-
font-style: normal;
|
|
779
|
-
}
|
|
780
|
-
|
|
781
|
-
.empty-cart-text {
|
|
782
|
-
flex: 1;
|
|
805
|
+
.coupon-row input:disabled {
|
|
806
|
+
cursor: not-allowed;
|
|
783
807
|
}
|
|
784
808
|
|
|
785
|
-
.
|
|
786
|
-
|
|
809
|
+
.coupon-apply,
|
|
810
|
+
.coupon-remove {
|
|
811
|
+
position: absolute;
|
|
812
|
+
right: calc((var(--internal-spacing-xs) * 1.5) - 3px);
|
|
813
|
+
top: 50%;
|
|
814
|
+
transform: translateY(-50%);
|
|
815
|
+
padding: calc(var(--internal-spacing-xs) * 1.25) var(--internal-spacing-sm);
|
|
816
|
+
background: var(--internal-secondary);
|
|
817
|
+
color: var(--internal-foreground);
|
|
818
|
+
border-radius: calc(var(--internal-radius) - 2px);
|
|
819
|
+
font-size: var(--internal-font-size-sm);
|
|
820
|
+
font-weight: var(--internal-font-weight-medium);
|
|
821
|
+
cursor: pointer;
|
|
822
|
+
transition: all var(--internal-transition-fast);
|
|
787
823
|
}
|
|
788
824
|
|
|
789
|
-
.
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
border-bottom: 1px solid var(--internal-border);
|
|
793
|
-
margin-bottom: var(--internal-spacing-sm);
|
|
825
|
+
.coupon-apply:hover:not(:disabled),
|
|
826
|
+
.coupon-remove:hover:not(:disabled) {
|
|
827
|
+
background: oklch(from var(--internal-accent) l c h / 0.8);
|
|
794
828
|
}
|
|
795
829
|
|
|
796
|
-
.
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
color: var(--internal-foreground);
|
|
801
|
-
font-weight: var(--internal-font-weight-medium);
|
|
830
|
+
.coupon-apply:focus-visible,
|
|
831
|
+
.coupon-remove:focus-visible {
|
|
832
|
+
outline: 2px solid var(--internal-ring);
|
|
833
|
+
outline-offset: -1px;
|
|
802
834
|
}
|
|
803
835
|
|
|
804
|
-
.
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
font-weight: var(--internal-font-weight-bold);
|
|
809
|
-
color: var(--internal-foreground);
|
|
810
|
-
margin-bottom: var(--internal-spacing-md);
|
|
836
|
+
.coupon-apply:disabled,
|
|
837
|
+
.coupon-remove:disabled {
|
|
838
|
+
opacity: 0.6;
|
|
839
|
+
cursor: not-allowed;
|
|
811
840
|
}
|
|
812
841
|
|
|
813
842
|
.checkout-btn {
|
|
814
843
|
width: 100%;
|
|
815
|
-
padding: calc(var(--spacing-sm) + var(--spacing-xs))
|
|
816
|
-
|
|
817
|
-
color: var(--primary-foreground);
|
|
818
|
-
border: none;
|
|
819
|
-
border-radius: calc(var(--radius) - 2px);
|
|
844
|
+
padding: calc(var(--internal-spacing-sm) + var(--internal-spacing-xs))
|
|
845
|
+
var(--internal-spacing-lg);
|
|
820
846
|
font-size: var(--internal-font-size-base);
|
|
821
847
|
font-weight: var(--internal-font-weight-bold);
|
|
822
|
-
|
|
823
|
-
transition: all var(--internal-transition-fast);
|
|
824
|
-
box-shadow: var(--internal-shadow-sm);
|
|
848
|
+
line-height: 1.25;
|
|
825
849
|
position: relative;
|
|
826
850
|
overflow: hidden;
|
|
827
851
|
}
|
|
@@ -831,115 +855,153 @@
|
|
|
831
855
|
outline-offset: 2px;
|
|
832
856
|
}
|
|
833
857
|
|
|
834
|
-
.checkout-btn:hover:not(:disabled) {
|
|
835
|
-
background: oklch(from var(--primary) calc(l - 0.08) c h);
|
|
836
|
-
box-shadow: var(--shadow-md);
|
|
837
|
-
transform: translateY(-1px);
|
|
838
|
-
}
|
|
839
|
-
|
|
840
858
|
.checkout-btn:active:not(:disabled) {
|
|
841
859
|
transform: translateY(0);
|
|
842
|
-
box-shadow: var(--shadow-sm);
|
|
843
860
|
}
|
|
844
861
|
|
|
845
862
|
.checkout-btn:disabled {
|
|
846
|
-
opacity: 0.
|
|
863
|
+
opacity: 0.5;
|
|
847
864
|
cursor: not-allowed;
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
.checkout-spinner-wrapper {
|
|
868
|
+
display: inline-flex;
|
|
869
|
+
align-items: center;
|
|
870
|
+
justify-content: center;
|
|
871
|
+
height: 1.25em;
|
|
872
|
+
vertical-align: middle;
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
.checkout-spinner {
|
|
876
|
+
width: 1.125em;
|
|
877
|
+
height: 1.125em;
|
|
878
|
+
animation: checkout-spinner 0.8s linear infinite;
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
@keyframes checkout-spinner {
|
|
882
|
+
to {
|
|
883
|
+
transform: rotate(360deg);
|
|
884
|
+
}
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
.sticky-checkout-bar {
|
|
888
|
+
position: fixed;
|
|
889
|
+
right: 0;
|
|
890
|
+
bottom: 0;
|
|
891
|
+
left: 0;
|
|
892
|
+
z-index: 40;
|
|
893
|
+
display: none;
|
|
894
|
+
padding: var(--internal-spacing-md);
|
|
895
|
+
background: var(--internal-card);
|
|
896
|
+
border-top: 1px solid var(--internal-border);
|
|
897
|
+
box-shadow: var(--internal-shadow-lg);
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
.sticky-checkout-btn.selection-prompt {
|
|
901
|
+
animation: selection-prompt-shake 400ms ease-in-out;
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
@keyframes selection-prompt-shake {
|
|
905
|
+
0%,
|
|
906
|
+
100% {
|
|
907
|
+
transform: translateX(0);
|
|
908
|
+
}
|
|
909
|
+
25% {
|
|
910
|
+
transform: translateX(-4px);
|
|
911
|
+
}
|
|
912
|
+
75% {
|
|
913
|
+
transform: translateX(4px);
|
|
914
|
+
}
|
|
852
915
|
}
|
|
853
916
|
|
|
854
917
|
/* Loading & Error States */
|
|
855
|
-
.loading-state
|
|
856
|
-
.error-state {
|
|
918
|
+
.loading-state {
|
|
857
919
|
display: flex;
|
|
858
920
|
justify-content: center;
|
|
859
921
|
align-items: center;
|
|
860
|
-
padding: var(--spacing-xl);
|
|
922
|
+
padding: var(--internal-spacing-xl);
|
|
861
923
|
text-align: center;
|
|
862
924
|
min-height: 200px;
|
|
863
925
|
}
|
|
864
926
|
|
|
865
|
-
.error-state {
|
|
866
|
-
color: var(--primary);
|
|
867
|
-
}
|
|
868
|
-
|
|
869
927
|
.error-banner {
|
|
870
928
|
background: oklch(
|
|
871
|
-
from var(--destructive) calc(l + 0.4) calc(c * 0.2) h / 0.05
|
|
929
|
+
from var(--internal-destructive) calc(l + 0.4) calc(c * 0.2) h / 0.05
|
|
872
930
|
);
|
|
873
|
-
border: 1px solid oklch(from var(--destructive) l c h / 0.2);
|
|
874
|
-
border-radius: var(--radius);
|
|
875
|
-
padding: var(--spacing-lg);
|
|
876
|
-
margin: var(--spacing-lg);
|
|
931
|
+
border: 1px solid oklch(from var(--internal-destructive) l c h / 0.2);
|
|
932
|
+
border-radius: var(--internal-radius);
|
|
933
|
+
padding: var(--internal-spacing-lg);
|
|
934
|
+
margin: var(--internal-spacing-lg);
|
|
877
935
|
text-align: center;
|
|
878
936
|
}
|
|
879
937
|
|
|
880
938
|
.error-banner strong {
|
|
881
939
|
display: block;
|
|
882
|
-
color: var(--destructive);
|
|
883
|
-
font-size: var(--font-size-lg);
|
|
884
|
-
margin-bottom: var(--spacing-sm);
|
|
940
|
+
color: var(--internal-destructive);
|
|
941
|
+
font-size: var(--internal-font-size-lg);
|
|
942
|
+
margin-bottom: var(--internal-spacing-sm);
|
|
885
943
|
}
|
|
886
944
|
|
|
887
945
|
.error-banner p {
|
|
888
|
-
color: var(--muted-foreground);
|
|
889
|
-
margin-bottom: var(--spacing-md);
|
|
946
|
+
color: var(--internal-muted-foreground);
|
|
947
|
+
margin-bottom: var(--internal-spacing-md);
|
|
890
948
|
}
|
|
891
949
|
|
|
892
950
|
.retry-button {
|
|
893
|
-
background: var(--primary);
|
|
894
|
-
color: var(--primary-foreground);
|
|
895
|
-
border:
|
|
896
|
-
padding: calc(var(--spacing-sm) + var(--spacing-xs))
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
font-
|
|
951
|
+
background: var(--internal-primary);
|
|
952
|
+
color: var(--internal-primary-foreground);
|
|
953
|
+
border: 1px solid oklch(from var(--internal-primary) calc(l - 0.08) c h);
|
|
954
|
+
padding: calc(var(--internal-spacing-sm) + var(--internal-spacing-xs))
|
|
955
|
+
var(--internal-spacing-lg);
|
|
956
|
+
border-radius: calc(var(--internal-radius) - 2px);
|
|
957
|
+
font-size: var(--internal-font-size-sm);
|
|
958
|
+
font-weight: var(--internal-font-weight-medium);
|
|
900
959
|
cursor: pointer;
|
|
901
|
-
transition: all var(--transition-fast);
|
|
902
|
-
box-shadow: var(--shadow-
|
|
960
|
+
transition: all var(--internal-transition-fast);
|
|
961
|
+
box-shadow: var(--internal-shadow-edge-light);
|
|
903
962
|
}
|
|
904
963
|
|
|
905
964
|
.retry-button:focus-visible {
|
|
906
|
-
outline: 2px solid var(--ring);
|
|
965
|
+
outline: 2px solid var(--internal-ring);
|
|
907
966
|
outline-offset: 2px;
|
|
908
967
|
}
|
|
909
968
|
|
|
910
969
|
.retry-button:hover {
|
|
911
|
-
background: oklch(from var(--primary) calc(l - 0.08) c h);
|
|
912
|
-
box-shadow: var(--shadow-md);
|
|
970
|
+
background: oklch(from var(--internal-primary) calc(l - 0.08) c h);
|
|
913
971
|
transform: translateY(-1px);
|
|
914
972
|
}
|
|
915
973
|
|
|
916
974
|
.retry-button:active {
|
|
917
975
|
transform: translateY(0);
|
|
918
|
-
box-shadow: var(--shadow-sm);
|
|
919
976
|
}
|
|
920
977
|
|
|
921
978
|
.error-message {
|
|
922
979
|
background: oklch(
|
|
923
|
-
from var(--destructive) calc(l + 0.4) calc(c * 0.2) h / 0.05
|
|
980
|
+
from var(--internal-destructive) calc(l + 0.4) calc(c * 0.2) h / 0.05
|
|
924
981
|
);
|
|
925
|
-
border: 1px solid oklch(from var(--destructive) l c h / 0.2);
|
|
926
|
-
color: var(--destructive);
|
|
927
|
-
padding: var(--spacing-sm) var(--spacing-md);
|
|
928
|
-
border-radius: var(--radius);
|
|
929
|
-
margin-bottom: var(--spacing-md);
|
|
930
|
-
font-size: var(--font-size-sm);
|
|
982
|
+
border: 1px solid oklch(from var(--internal-destructive) l c h / 0.2);
|
|
983
|
+
color: var(--internal-destructive);
|
|
984
|
+
padding: var(--internal-spacing-sm) var(--internal-spacing-md);
|
|
985
|
+
border-radius: var(--internal-radius);
|
|
986
|
+
margin-bottom: var(--internal-spacing-md);
|
|
987
|
+
font-size: var(--internal-font-size-sm);
|
|
931
988
|
}
|
|
932
989
|
|
|
933
990
|
/* Responsive adjustments for larger screens */
|
|
934
991
|
@media (min-width: 768px) {
|
|
935
992
|
.ticket-section {
|
|
936
|
-
border-radius: var(--radius);
|
|
937
|
-
margin: 0 0 var(--spacing-md) 0;
|
|
993
|
+
border-radius: var(--internal-radius);
|
|
994
|
+
margin: 0 0 var(--internal-spacing-md) 0;
|
|
995
|
+
}
|
|
996
|
+
}
|
|
997
|
+
|
|
998
|
+
@media (max-width: 767px) {
|
|
999
|
+
:host([data-sticky-checkout="true"]) .session-services-ticketing-container {
|
|
1000
|
+
padding-bottom: calc(var(--internal-spacing-xl) * 3);
|
|
938
1001
|
}
|
|
939
1002
|
|
|
940
|
-
.
|
|
941
|
-
|
|
942
|
-
margin: var(--spacing-md) 0;
|
|
1003
|
+
.sticky-checkout-bar {
|
|
1004
|
+
display: block;
|
|
943
1005
|
}
|
|
944
1006
|
}
|
|
945
1007
|
|