@snacky/ui 0.2.4 → 0.3.3

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/index.css CHANGED
@@ -1464,17 +1464,17 @@
1464
1464
  display: block;
1465
1465
  object-fit: contain;
1466
1466
  }
1467
- .snacky-product-image--card,
1468
- .snacky-product-image--details {
1467
+ .snacky-product-image--product-card,
1468
+ .snacky-product-image--product-details {
1469
1469
  width: 100%;
1470
1470
  height: 100%;
1471
1471
  background: transparent;
1472
1472
  }
1473
- .snacky-product-image-wrap--card {
1473
+ .snacky-product-image-wrap--product-card {
1474
1474
  width: 128px;
1475
1475
  height: 128px;
1476
1476
  }
1477
- .snacky-product-image-wrap--details {
1477
+ .snacky-product-image-wrap--product-details {
1478
1478
  width: 200px;
1479
1479
  height: 200px;
1480
1480
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theme/tokens.css","../src/components/Button/Button.css","../src/components/IconButton/IconButton.css","../src/components/IconButton/UploadButton.css","../src/components/Input/TextField.css","../src/components/Input/SearchField.css","../src/components/Input/OtpField.css","../src/components/Input/CopyField.css","../src/components/Input/ChatInput.css","../src/components/Input/AddressResult.css","../src/components/Chips/Chips.css","../src/components/RadioButton/RadioButton.css","../src/components/Checkbox/Checkbox.css","../src/components/Toggle/Toggle.css","../src/components/Navbar/Navbar.css","../src/components/Tab/Tab.css","../src/components/Header/Header.css","../src/components/Banner/Banner.css","../src/components/Badge/Badge.css","../src/components/Callout/Callout.css","../src/components/List/List.css","../src/components/Accordion/Accordion.css","../src/components/Modal/BottomSheet.css","../src/components/Section/Section.css","../src/components/Avatar/Avatar.css","../src/components/Illustration/Illustration.css","../src/components/ProductImage/ProductImage.css","../src/components/ProductCard/ProductCard.css"],"sourcesContent":["/* Generated from tokens.json by scripts/generate-react-tokens.js - do not hand-edit. */\n:root {\n --color-primary-50: #fef8eb;\n --color-primary-100: #fde9bf;\n --color-primary-200: #fcdea1;\n --color-primary-300: #facf76;\n --color-primary-400: #f9c55b;\n --color-primary-500: #f8b732;\n --color-primary-600: #e2a72e;\n --color-primary-700: #b08224;\n --color-primary-800: #88651c;\n --color-primary-900: #684d15;\n --color-neutral-0: #ffffff;\n --color-neutral-10: #fdfdfd;\n --color-neutral-20: #f7f7f7;\n --color-neutral-50: #f3f3f3;\n --color-neutral-100: #e0e0e0;\n --color-neutral-200: #cccccc;\n --color-neutral-400: #a3a3a3;\n --color-neutral-500: #7a7a7a;\n --color-neutral-600: #6a6a6a;\n --color-neutral-700: #525252;\n --color-neutral-800: #4b4b4b;\n --color-neutral-900: #434343;\n --color-neutral-950: #333333;\n --color-red-50: #fdeeee;\n --color-red-100: #f9cbcb;\n --color-red-200: #f6b2b2;\n --color-red-300: #f28e8e;\n --color-red-400: #ef7979;\n --color-red-500: #eb5757;\n --color-red-600: #d64f4f;\n --color-red-700: #a73e3e;\n --color-red-800: #813030;\n --color-red-900: #632525;\n --bg-app: #f7f7f7;\n --bg-surface: #ffffff;\n --bg-surface-primary: #f8b732;\n --bg-surface-accent: #eb5757;\n --bg-surface-variant: #f3f3f3;\n --bg-surface-field: #ffffff;\n --bg-surface-highlight: #fef8eb;\n --bg-action-primary: #f8b732;\n --bg-action-primary-hover: #e2a72e;\n --bg-action-primary-pressed: #b08224;\n --bg-action-secondary: #ffffff;\n --bg-action-secondary-hover: #f3f3f3;\n --bg-action-secondary-pressed: #e0e0e0;\n --bg-action-disabled: #cccccc;\n --bg-action-primary-danger: #eb5757;\n --bg-action-primary-danger-hovered: #d64f4f;\n --bg-action-primary-danger-pressed: #a73e3e;\n --bg-overlay-dim: rgba(51,51,51,0.8);\n --border-main: #cccccc;\n --border-highlight: #fcdea1;\n --border-input-default: #cccccc;\n --border-input-active: #f8b732;\n --border-input-error: #eb5757;\n --border-action-secondary: #cccccc;\n --border-action-secondary-pressed: #a3a3a3;\n --border-action-danger: #eb5757;\n --border-action-disabled: #cccccc;\n --text-primary: #333333;\n --text-secondary: #7a7a7a;\n --text-placeholder: #7a7a7a;\n --text-disabled: #a3a3a3;\n --text-link: #88651c;\n --text-error: #a73e3e;\n --text-inverse: #ffffff;\n --text-on-action-primary: #333333;\n --text-on-action-secondary: #333333;\n --text-on-action-tertiary: #b08224;\n --text-on-action-tertiary-hovered: #88651c;\n --text-on-action-tertiary-pressed: #684d15;\n --text-action-danger: #d64f4f;\n --text-action-danger-hovered: #a73e3e;\n --text-action-danger-pressed: #813030;\n --text-action-disabled: #a3a3a3;\n --icon-primary: #333333;\n --icon-secondary: #525252;\n --icon-brand: #f8b732;\n --icon-disabled: #a3a3a3;\n --icon-active: #eb5757;\n --icon-on-accent: #ffffff;\n --spacing-2: 2px;\n --spacing-4: 4px;\n --spacing-8: 8px;\n --spacing-12: 12px;\n --spacing-16: 16px;\n --spacing-24: 24px;\n --spacing-32: 32px;\n --gap-icon-label: 4px;\n --gap-cell: 4px;\n --gap-text-icon: 8px;\n --gap-text-underline: 16px;\n --gap-layout-section-list: 8px;\n --gap-layout-block: 16px;\n --gap-layout-stack: 24px;\n --gap-layout-page: 32px;\n --margin-screen: 16px;\n --radius-4: 4px;\n --radius-6: 6px;\n --radius-8: 8px;\n --radius-10: 10px;\n --radius-20: 20px;\n --radius-100: 100px;\n --radius-999: 999px;\n --radius-field: 4px;\n --radius-tag: 6px;\n --radius-bubble: 8px;\n --radius-card: 10px;\n --radius-sheet-top: 20px;\n --radius-full: 100px;\n --size-icon-sm: 16px;\n --size-icon-md: 20px;\n --size-icon-lg: 24px;\n --size-avatar-sm: 32px;\n --size-avatar-md: 56px;\n --size-avatar-lg: 72px;\n --shadow-md: 0 4px 8px rgba(0,0,0,0.08);\n --shadow-lg: 0 10px 30px rgba(0,0,0,0.1);\n --shadow-top: 0 -4px 10px rgba(0,0,0,0.08);\n --font-h1-bold-family: 'Poppins', sans-serif;\n --font-h1-bold-size: 32px;\n --font-h1-bold-weight: 700;\n --font-h1-bold-line-height: 36px;\n --font-h1-bold-letter-spacing: 0.01em;\n --font-h2-bold-family: 'Poppins', sans-serif;\n --font-h2-bold-size: 20px;\n --font-h2-bold-weight: 700;\n --font-h2-bold-line-height: 36px;\n --font-h2-bold-letter-spacing: 0.01em;\n --font-h3-bold-family: 'Poppins', sans-serif;\n --font-h3-bold-size: 16px;\n --font-h3-bold-weight: 700;\n --font-h3-bold-line-height: 36px;\n --font-h3-bold-letter-spacing: 0.01em;\n --font-h3-regular-family: 'Poppins', sans-serif;\n --font-h3-regular-size: 16px;\n --font-h3-regular-weight: 400;\n --font-h3-regular-line-height: 36px;\n --font-h3-regular-letter-spacing: normal;\n --font-body-semibold-family: 'Poppins', sans-serif;\n --font-body-semibold-size: 14px;\n --font-body-semibold-weight: 600;\n --font-body-semibold-line-height: 24px;\n --font-body-semibold-letter-spacing: normal;\n --font-body-regular-family: 'Poppins', sans-serif;\n --font-body-regular-size: 14px;\n --font-body-regular-weight: 400;\n --font-body-regular-line-height: 24px;\n --font-body-regular-letter-spacing: normal;\n --font-small-semibold-family: 'Poppins', sans-serif;\n --font-small-semibold-size: 12px;\n --font-small-semibold-weight: 600;\n --font-small-semibold-line-height: 24px;\n --font-small-semibold-letter-spacing: normal;\n --font-small-bold-family: 'Poppins', sans-serif;\n --font-small-bold-size: 12px;\n --font-small-bold-weight: 700;\n --font-small-bold-line-height: 24px;\n --font-small-bold-letter-spacing: 0.01em;\n --font-small-regular-family: 'Poppins', sans-serif;\n --font-small-regular-size: 12px;\n --font-small-regular-weight: 400;\n --font-small-regular-line-height: 24px;\n --font-small-regular-letter-spacing: normal;\n --font-caption-semibold-family: 'Poppins', sans-serif;\n --font-caption-semibold-size: 10px;\n --font-caption-semibold-weight: 600;\n --font-caption-semibold-line-height: 23px;\n --font-caption-semibold-letter-spacing: 0.01em;\n --font-caption-regular-family: 'Poppins', sans-serif;\n --font-caption-regular-size: 10px;\n --font-caption-regular-weight: 400;\n --font-caption-regular-line-height: 16px;\n --font-caption-regular-letter-spacing: 0.01em;\n}\n",".snacky-btn {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-12) var(--spacing-8);\n border-radius: var(--radius-field);\n border: none;\n font-family: var(--font-small-semibold-family);\n font-size: var(--font-small-semibold-size);\n font-weight: var(--font-small-semibold-weight);\n line-height: var(--font-small-semibold-line-height);\n cursor: pointer;\n white-space: nowrap;\n transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;\n}\n\n.snacky-btn:disabled {\n cursor: not-allowed;\n}\n\n.snacky-btn--small {\n padding: var(--spacing-8) var(--spacing-8);\n}\n\n/* Primary */\n.snacky-btn--primary {\n background: var(--bg-action-primary);\n color: var(--text-on-action-primary);\n}\n.snacky-btn--primary:hover:not(:disabled) { background: var(--bg-action-primary-hover); }\n.snacky-btn--primary:active:not(:disabled) { background: var(--bg-action-primary-pressed); }\n.snacky-btn--primary:disabled { background: var(--bg-action-disabled); color: var(--text-action-disabled); }\n\n/* Primary + Danger */\n.snacky-btn--primary.snacky-btn--danger {\n background: var(--bg-action-primary-danger);\n color: var(--text-on-action-primary);\n}\n.snacky-btn--primary.snacky-btn--danger:hover:not(:disabled) { background: var(--bg-action-primary-danger-hovered); }\n.snacky-btn--primary.snacky-btn--danger:active:not(:disabled) { background: var(--bg-action-primary-danger-pressed); }\n/* Flagged asymmetry, confirmed against the site's own live implementation:\n Primary+Danger's disabled state carries a border that plain Primary's\n disabled state does not. */\n.snacky-btn--primary.snacky-btn--danger:disabled { background: var(--bg-action-disabled); color: var(--text-action-disabled); border: 1px solid var(--border-action-disabled); }\n\n/* Secondary */\n.snacky-btn--secondary {\n background: var(--bg-action-secondary);\n border: 1px solid var(--border-action-secondary);\n color: var(--text-on-action-primary);\n}\n.snacky-btn--secondary:hover:not(:disabled) { background: var(--bg-action-secondary-hover); }\n.snacky-btn--secondary:active:not(:disabled) { background: var(--bg-action-secondary-pressed); }\n.snacky-btn--secondary:disabled { color: var(--text-action-disabled); }\n\n/* Secondary + Danger */\n.snacky-btn--secondary.snacky-btn--danger {\n border-color: var(--border-action-danger);\n color: var(--text-action-danger);\n}\n.snacky-btn--secondary.snacky-btn--danger:hover:not(:disabled) { background: var(--bg-action-secondary-hover); }\n.snacky-btn--secondary.snacky-btn--danger:active:not(:disabled) { background: var(--bg-action-secondary-pressed); }\n.snacky-btn--secondary.snacky-btn--danger:disabled { border-color: var(--border-action-disabled); color: var(--text-action-disabled); }\n\n/* Tertiary - ghost, never a fill or border, including disabled */\n.snacky-btn--tertiary {\n background: transparent;\n color: var(--text-on-action-tertiary);\n}\n.snacky-btn--tertiary:hover:not(:disabled) { color: var(--text-on-action-tertiary-hovered); }\n.snacky-btn--tertiary:active:not(:disabled) { color: var(--text-on-action-tertiary-pressed); }\n.snacky-btn--tertiary:disabled { color: var(--text-action-disabled); }\n\n/* Tertiary + Danger */\n.snacky-btn--tertiary.snacky-btn--danger { color: var(--text-action-danger); }\n.snacky-btn--tertiary.snacky-btn--danger:hover:not(:disabled) { color: var(--text-action-danger-hovered); }\n.snacky-btn--tertiary.snacky-btn--danger:active:not(:disabled) { color: var(--text-action-danger-pressed); }\n.snacky-btn--tertiary.snacky-btn--danger:disabled { color: var(--text-action-disabled); }\n\n.snacky-btn__icon {\n position: absolute;\n left: var(--spacing-8);\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n}\n",".snacky-iconbtn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n border: none;\n border-radius: var(--radius-full);\n cursor: pointer;\n transition: background-color 0.12s ease;\n}\n.snacky-iconbtn:disabled { cursor: not-allowed; }\n.snacky-iconbtn svg,\n.snacky-iconbtn img { width: 100%; height: 100%; }\n\n/* Primary - 32px default, 24px small */\n.snacky-iconbtn--primary {\n width: 32px;\n height: 32px;\n padding: var(--spacing-8);\n background: var(--bg-action-primary);\n}\n.snacky-iconbtn--primary .snacky-iconbtn__icon { width: 16px; height: 16px; color: var(--text-primary); }\n.snacky-iconbtn--primary:hover:not(:disabled) { background: var(--bg-action-primary-hover); }\n.snacky-iconbtn--primary:active:not(:disabled) { background: var(--bg-action-primary-pressed); }\n.snacky-iconbtn--primary:disabled { background: var(--bg-action-disabled); border: 1px solid var(--border-action-disabled); }\n.snacky-iconbtn--primary:disabled .snacky-iconbtn__icon { color: var(--text-action-disabled); }\n\n.snacky-iconbtn--primary.snacky-iconbtn--small {\n width: 24px;\n height: 24px;\n padding: var(--spacing-4);\n}\n\n/* Secondary - 40px, elevated, can act as a toggle via `selected` */\n.snacky-iconbtn--secondary {\n width: 40px;\n height: 40px;\n padding: var(--spacing-8);\n background: var(--bg-action-secondary);\n box-shadow: var(--shadow-md);\n}\n.snacky-iconbtn--secondary .snacky-iconbtn__icon { width: 20px; height: 20px; color: var(--icon-secondary); }\n.snacky-iconbtn--secondary:hover:not(:disabled) { background: var(--bg-action-secondary-hover); }\n.snacky-iconbtn--secondary:active:not(:disabled) { background: var(--bg-action-secondary-pressed); }\n.snacky-iconbtn--secondary:disabled { background: var(--bg-action-disabled); box-shadow: none; }\n.snacky-iconbtn--secondary:disabled .snacky-iconbtn__icon { color: var(--icon-disabled); }\n.snacky-iconbtn--secondary.snacky-iconbtn--selected .snacky-iconbtn__icon { color: var(--icon-active); }\n\n/* Tertiary - 40px, no resting fill, only a transient state-layer overlay */\n.snacky-iconbtn--tertiary {\n width: 40px;\n height: 40px;\n padding: var(--spacing-8);\n background: transparent;\n}\n.snacky-iconbtn--tertiary .snacky-iconbtn__icon { width: 24px; height: 24px; color: var(--icon-primary); }\n.snacky-iconbtn--tertiary:hover:not(:disabled) { background: rgba(0, 0, 0, 0.08); }\n.snacky-iconbtn--tertiary:hover:not(:disabled) .snacky-iconbtn__icon { color: var(--icon-secondary); }\n.snacky-iconbtn--tertiary:active:not(:disabled) { background: rgba(0, 0, 0, 0.12); }\n.snacky-iconbtn--tertiary:disabled .snacky-iconbtn__icon { color: var(--icon-disabled); }\n",".snacky-upload {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 72px;\n height: 72px;\n padding: var(--spacing-24);\n border-radius: var(--radius-full);\n background: var(--bg-surface);\n border: 1px dashed var(--border-main);\n cursor: pointer;\n transition: background-color 0.12s ease;\n}\n.snacky-upload svg,\n.snacky-upload img { width: 100%; height: 100%; }\n.snacky-upload:hover { background: var(--bg-action-secondary-hover); }\n.snacky-upload:active { background: var(--bg-action-secondary-pressed); }\n",".snacky-field {\n display: flex;\n align-items: center;\n gap: var(--gap-text-icon);\n width: 100%;\n height: 48px;\n padding: var(--spacing-12) var(--spacing-8);\n background: var(--bg-surface-field);\n border: 1px solid var(--border-input-default);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n transition: border-color 0.12s ease;\n}\n\n.snacky-field:focus-within {\n border-color: var(--border-input-active);\n}\n\n.snacky-field--error {\n border-color: var(--border-input-error) !important;\n}\n\n.snacky-field--disabled {\n background: var(--bg-surface-variant);\n cursor: not-allowed;\n}\n\n.snacky-field__input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n font-weight: var(--font-small-regular-weight);\n line-height: var(--font-small-regular-line-height);\n color: var(--text-primary);\n}\n\n.snacky-field__input::placeholder {\n color: var(--text-placeholder);\n}\n\n.snacky-field__input:disabled {\n cursor: not-allowed;\n color: var(--text-disabled);\n}\n\n.snacky-field__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n color: var(--icon-secondary);\n}\n\n.snacky-field__icon--button {\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n color: var(--icon-secondary);\n}\n\n.snacky-field-label {\n display: block;\n margin-bottom: var(--spacing-4);\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n\n.snacky-field-error {\n display: block;\n margin-top: var(--spacing-4);\n font-family: var(--font-caption-regular-family);\n font-size: var(--font-caption-regular-size);\n color: var(--text-error);\n}\n",".snacky-search {\n display: flex;\n align-items: center;\n gap: var(--spacing-12);\n /* Animates 260px -> 312px on focus, matching the site's own verified\n implementation - not a fluid 100% field. */\n width: 260px;\n height: 40px;\n padding: var(--spacing-8) var(--spacing-12);\n background: var(--bg-surface-variant);\n border: 1px solid transparent;\n border-radius: var(--radius-field);\n box-sizing: border-box;\n transition: border-color 0.12s ease, width 0.15s ease;\n}\n.snacky-search:focus-within {\n width: 312px;\n border-color: var(--border-input-active);\n}\n.snacky-search__input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n.snacky-search__input::placeholder {\n color: var(--text-placeholder);\n}\n.snacky-search__icon {\n display: inline-flex;\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n color: var(--icon-secondary);\n}\n.snacky-search__clear {\n display: inline-flex;\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n color: var(--icon-secondary);\n}\n",".snacky-otp {\n display: flex;\n gap: var(--spacing-4);\n}\n.snacky-otp__cell {\n width: 48px;\n height: 48px;\n padding: 0;\n box-sizing: border-box;\n text-align: center;\n border: 1px solid transparent;\n border-radius: var(--radius-field);\n background: var(--bg-surface-variant);\n font-family: var(--font-h3-bold-family);\n font-size: var(--font-h3-bold-size);\n font-weight: var(--font-h3-bold-weight);\n /* 46px, not the h3Bold token's 36px - specifically tuned to center a\n single digit in the 48px cell, per the site's own implementation. */\n line-height: 46px;\n letter-spacing: 0.16px;\n color: var(--text-primary);\n outline: none;\n transition: border-color 0.1s ease;\n}\n.snacky-otp__cell:focus {\n border-color: var(--border-input-active);\n}\n",".snacky-copy {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: 48px;\n padding: var(--spacing-12);\n background: var(--bg-surface-variant);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n}\n.snacky-copy__value {\n font-family: var(--font-body-semibold-family);\n font-size: var(--font-body-semibold-size);\n font-weight: var(--font-body-semibold-weight);\n color: var(--text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.snacky-copy__action {\n flex-shrink: 0;\n margin-left: var(--spacing-12);\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n font-family: var(--font-small-bold-family);\n font-size: var(--font-small-bold-size);\n font-weight: var(--font-small-bold-weight);\n color: var(--text-link);\n}\n.snacky-copy__action--copied {\n color: var(--text-secondary);\n}\n",".snacky-chatfield {\n display: flex;\n align-items: center;\n gap: var(--gap-text-icon);\n width: 100%;\n height: 72px;\n padding: var(--spacing-12);\n background: var(--bg-surface);\n border: 1px solid var(--border-input-default);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n transition: border-color 0.12s ease;\n}\n.snacky-chatfield:focus-within {\n border-color: var(--border-input-active);\n}\n.snacky-chatfield__input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n.snacky-chatfield__input::placeholder {\n color: var(--text-placeholder);\n}\n.snacky-chatfield__send {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 48px;\n height: 48px;\n border: none;\n border-radius: var(--radius-full);\n /* Transparent with a muted icon when empty, not a grayed-out disabled\n circle - it only fills once there's something to send. */\n background: transparent;\n color: var(--icon-secondary);\n cursor: default;\n transition: background-color 0.15s ease, color 0.15s ease;\n}\n.snacky-chatfield__send--active {\n background: var(--bg-action-primary);\n color: var(--text-on-action-primary);\n cursor: pointer;\n}\n.snacky-chatfield__send--active:hover { background: var(--bg-action-primary-hover); }\n",".snacky-address-result {\n display: flex;\n align-items: flex-start;\n gap: var(--gap-text-icon);\n width: 100%;\n padding: var(--spacing-12) var(--spacing-8);\n background: var(--bg-surface);\n border: 1px solid var(--border-input-default);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n cursor: pointer;\n text-align: left;\n}\n.snacky-address-result__icon {\n display: inline-flex;\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n color: var(--icon-secondary);\n margin-top: 2px;\n}\n.snacky-address-result__title {\n margin: 0;\n font-family: var(--font-small-bold-family);\n font-size: var(--font-small-bold-size);\n font-weight: var(--font-small-bold-weight);\n color: var(--text-primary);\n}\n.snacky-address-result__subtitle {\n margin: 0;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n",".snacky-chip {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-4);\n padding: var(--spacing-8);\n border-radius: var(--radius-full);\n background: var(--bg-surface);\n border: 1px solid var(--border-main);\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n cursor: pointer;\n white-space: nowrap;\n}\n.snacky-chip--selected {\n background: var(--bg-surface-highlight);\n border-color: var(--color-primary-500);\n}\n.snacky-chip__thumb {\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n object-fit: contain;\n}\n",".snacky-radio-option {\n display: inline-flex;\n align-items: center;\n gap: var(--gap-icon-label);\n cursor: pointer;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n.snacky-radio-option--disabled {\n cursor: not-allowed;\n}\n.snacky-radio {\n appearance: none;\n width: 24px;\n height: 24px;\n margin: 0;\n flex-shrink: 0;\n box-sizing: border-box;\n border-radius: 999px;\n border: 1px solid var(--border-main);\n background: transparent;\n cursor: pointer;\n position: relative;\n}\n.snacky-radio:checked {\n /* Figma binds both the ring and the dot to background/action/bg-action-primary\n (same #f8b732 as the primary-500 primitive this used before, but the real\n semantic token the file actually references). */\n border-color: var(--bg-action-primary);\n}\n.snacky-radio:checked::after {\n content: '';\n position: absolute;\n inset: 0;\n margin: auto;\n width: 12px;\n height: 12px;\n border-radius: 999px;\n background: var(--bg-action-primary);\n}\n.snacky-radio:disabled {\n cursor: not-allowed;\n border-color: var(--border-main);\n background: var(--bg-surface-variant);\n}\n/* Disabled suppresses the selected dot entirely, even if checked - matches\n the site's own verified implementation exactly. */\n.snacky-radio:disabled::after {\n display: none;\n}\n",".snacky-checkbox-option {\n display: inline-flex;\n align-items: center;\n gap: var(--gap-icon-label);\n cursor: pointer;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n.snacky-checkbox {\n appearance: none;\n width: 24px;\n height: 24px;\n margin: 0;\n box-sizing: border-box;\n flex-shrink: 0;\n /* Off state is a white field surface with an outline - updated in Figma\n (node 444:11084) from an earlier solid neutral-500 fill to this outline\n style. Figma binds the stroke to border/border-main, not the\n border-input-default this used before (same #cccccc either way). */\n border: 1px solid var(--border-main);\n border-radius: var(--radius-field);\n cursor: pointer;\n position: relative;\n background: var(--bg-surface-field);\n}\n.snacky-checkbox:checked {\n background: var(--color-primary-500);\n border-color: var(--color-primary-500);\n}\n.snacky-checkbox:checked::after {\n content: '';\n position: absolute;\n inset: 3px;\n /* Confirmed against Figma: the checkmark is white (icon-on-accent), not\n text-primary - it reads as a white cutout in the compound icon path, not a\n dark mark layered on top. */\n background: var(--icon-on-accent);\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n",".snacky-toggle {\n position: relative;\n display: inline-block;\n width: 56px;\n height: 32px;\n margin: 0;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n appearance: none;\n}\n.snacky-toggle:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.snacky-toggle__track {\n position: absolute;\n left: 0;\n top: 4px;\n width: 56px;\n height: 24px;\n border-radius: 12px;\n /* Bound to bg-action-disabled in Figma (same #cccccc as neutral-200, this\n just matches the actual token binding, confirmed via the file's variables). */\n background: var(--bg-action-disabled);\n transition: background-color 0.2s ease;\n}\n.snacky-toggle--on .snacky-toggle__track {\n /* \"Accent tint\" per Figma - a light wash, not the solid accent color. Figma's\n actual paint (#fffbe9) isn't bound to any variable and isn't quite\n bg-surface-highlight/primary-50 (#fef8eb) either, close enough (a few\n values out of 255 per channel) that this token is used rather than a new\n one-off raw color for an likely-untokenized value in Figma itself. */\n background: var(--bg-surface-highlight);\n}\n.snacky-toggle__thumb {\n position: absolute;\n top: 0;\n left: 0;\n width: 32px;\n height: 32px;\n border-radius: 999px;\n /* Confirmed against Figma (bound to the icon-disabled variable): #a3a3a3,\n not neutral-500 (#7a7a7a). */\n background: var(--icon-disabled);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n transition: left 0.2s ease, background-color 0.2s ease;\n}\n.snacky-toggle--on .snacky-toggle__thumb {\n left: 24px;\n background: var(--color-primary-500);\n}\n",".snacky-navbar {\n display: flex;\n width: 100%;\n background: var(--bg-surface);\n box-shadow: var(--shadow-top);\n}\n.snacky-navbar__item {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--gap-icon-label);\n padding: var(--spacing-12) 0;\n background: none;\n border: none;\n cursor: pointer;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-secondary);\n}\n.snacky-navbar__item--active {\n font-family: var(--font-small-bold-family);\n font-weight: var(--font-small-bold-weight);\n color: var(--text-primary);\n}\n.snacky-navbar__icon {\n display: inline-flex;\n width: 20px;\n height: 20px;\n /* Icon and label use different inactive colors in the site's own\n verified implementation - icon-secondary, not text-secondary. */\n color: var(--icon-secondary);\n}\n.snacky-navbar__item--active .snacky-navbar__icon {\n color: var(--color-primary-500);\n}\n",".snacky-tabrow {\n display: flex;\n gap: var(--spacing-24);\n border-bottom: 1px solid var(--border-main);\n}\n.snacky-tab {\n background: none;\n border: none;\n border-bottom: 2px solid transparent;\n margin-bottom: -1px;\n padding: 0 0 var(--spacing-12) 0;\n cursor: pointer;\n font-family: var(--font-body-regular-family);\n font-size: 14px;\n line-height: var(--font-body-regular-line-height);\n color: var(--text-primary);\n transition: color 0.15s ease;\n}\n.snacky-tab--active {\n font-family: var(--font-body-semibold-family);\n font-weight: var(--font-body-semibold-weight);\n /* Re-verified against Figma's actual bound variables (an earlier pass\n read this as the raw primary-700 primitive): the active label's text\n fill is bound to text/on-action/text-on-action-tertiary (#b08224,\n same value as primary-700, but the real semantic token, matching the\n Tertiary button's default label color). The underline's stroke is\n bound to border/input/border-input-active (#f8b732) - an input-focus\n token reused here, which reads as incidental Figma variable reuse\n rather than an intentional shared role, so this keeps the primitive\n --color-primary-500 instead of adopting a misleading token name. */\n color: var(--text-on-action-tertiary);\n border-bottom-color: var(--color-primary-500);\n}\n",".snacky-header {\n display: flex;\n align-items: center;\n width: 100%;\n box-sizing: border-box;\n padding: var(--spacing-16) var(--spacing-8);\n background: var(--bg-surface);\n}\n.snacky-header__icon-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n padding: 0;\n border: none;\n border-radius: var(--radius-full);\n background: transparent;\n color: var(--text-primary);\n cursor: pointer;\n}\n.snacky-header__title-row {\n flex: 1;\n min-width: 0;\n display: flex;\n justify-content: center;\n}\n/* When a leading icon is present but there's no trailing action, the title\n row gets matching right padding so the text stays optically centered\n against the whole bar, not just the leftover space next to the icon. */\n.snacky-header__title-row--balance {\n padding-right: 40px;\n}\n.snacky-header__title {\n font-family: var(--font-h3-bold-family);\n font-weight: var(--font-h3-bold-weight);\n font-size: var(--font-h3-bold-size);\n line-height: var(--font-h3-bold-line-height);\n letter-spacing: var(--font-h3-bold-letter-spacing);\n color: var(--text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n",".snacky-banner-hero {\n display: block;\n width: 100%;\n border-radius: var(--radius-field);\n box-shadow: var(--shadow-md);\n object-fit: cover;\n}\n.snacky-banner-square {\n display: block;\n width: 100%;\n aspect-ratio: 360 / 334;\n border-radius: var(--radius-bubble);\n object-fit: cover;\n}\n.snacky-banner-full {\n display: block;\n width: 100%;\n aspect-ratio: 360 / 176;\n object-fit: cover;\n}\n.snacky-banner-point-balance {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: var(--spacing-8) var(--spacing-16);\n gap: var(--spacing-12);\n background: var(--bg-surface-highlight);\n border: 1px solid var(--color-primary-500);\n border-radius: var(--radius-card);\n box-sizing: border-box;\n}\n.snacky-banner-point-balance__item {\n display: flex;\n align-items: center;\n gap: var(--gap-icon-label);\n}\n.snacky-banner-point-balance__icon {\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n}\n.snacky-banner-point-balance__label {\n margin: 0;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n.snacky-banner-point-balance__value {\n margin: 0;\n font-family: var(--font-small-bold-family);\n font-weight: var(--font-small-bold-weight);\n color: var(--text-primary);\n}\n.snacky-banner-point-balance__divider {\n width: 1px;\n align-self: stretch;\n background: var(--color-primary-500);\n}\n\n.snacky-banner-alert {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: 40px;\n padding: var(--spacing-8) var(--spacing-24);\n gap: var(--spacing-4);\n background: var(--bg-surface-accent);\n box-sizing: border-box;\n}\n.snacky-banner-alert__message {\n margin: 0;\n font-family: var(--font-body-regular-family);\n font-size: var(--font-body-regular-size);\n color: var(--text-inverse);\n}\n.snacky-banner-alert__countdown {\n margin: 0;\n font-family: var(--font-body-semibold-family);\n font-weight: var(--font-body-semibold-weight);\n color: var(--text-inverse);\n}\n",".snacky-badge-wrap {\n position: relative;\n display: inline-flex;\n}\n.snacky-badge-notification {\n position: absolute;\n top: -8px;\n right: -10px;\n min-width: 20px;\n height: 19px;\n padding: var(--spacing-2) var(--spacing-4);\n border-radius: 999px;\n background: var(--bg-surface-accent);\n color: var(--text-inverse);\n font-family: var(--font-caption-semibold-family);\n font-size: var(--font-caption-semibold-size);\n font-weight: var(--font-caption-semibold-weight);\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n}\n.snacky-discount-tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-2) var(--spacing-4);\n border-radius: var(--radius-tag);\n background: var(--bg-surface-accent);\n color: var(--text-inverse);\n font-family: var(--font-caption-semibold-family);\n font-size: var(--font-caption-semibold-size);\n font-weight: var(--font-caption-semibold-weight);\n}\n.snacky-soldout-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-12) var(--spacing-8);\n border-radius: 999px;\n background: rgba(51, 51, 51, 0.8);\n color: var(--text-inverse);\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n}\n.snacky-variant-badge {\n display: inline-flex;\n align-items: center;\n padding: var(--spacing-8);\n border-radius: var(--radius-field);\n background: var(--bg-surface-highlight);\n border: 1px solid var(--color-primary-500);\n color: var(--text-primary);\n font-family: var(--font-caption-regular-family);\n font-size: var(--font-caption-regular-size);\n}\n",".snacky-callout {\n display: inline-flex;\n flex-direction: column;\n gap: var(--spacing-4);\n max-width: 200px;\n padding: var(--spacing-12) var(--spacing-8);\n border-radius: var(--radius-bubble);\n font-family: var(--font-body-regular-family);\n font-size: var(--font-body-regular-size);\n color: var(--text-primary);\n}\n.snacky-callout--received {\n align-self: flex-start;\n background: var(--bg-surface);\n /* No box-shadow: confirmed against Figma (node 8690:7424), the Received\n bubble has an empty effects array, flat like Sent/Pending. */\n}\n.snacky-callout--sent,\n.snacky-callout--pending {\n align-self: flex-end;\n background: var(--color-primary-500);\n}\n.snacky-callout__message {\n margin: 0;\n width: 100%;\n}\n.snacky-callout__meta {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--spacing-4);\n width: 100%;\n font-family: var(--font-caption-regular-family);\n font-size: var(--font-caption-regular-size);\n color: var(--text-primary);\n text-align: right;\n}\n.snacky-callout__meta-icon {\n width: 16px;\n height: 16px;\n display: inline-flex;\n}\n",".snacky-order-item {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n width: 100%;\n padding: var(--spacing-8) var(--spacing-12);\n background: var(--bg-surface);\n border-radius: var(--radius-field);\n box-shadow: var(--shadow-md);\n box-sizing: border-box;\n text-align: left;\n}\n.snacky-order-item__top {\n display: flex;\n gap: var(--spacing-8);\n width: 100%;\n}\n.snacky-order-item__thumb-box {\n width: 56px;\n height: 56px;\n flex-shrink: 0;\n border-radius: var(--radius-field);\n /* Literal value from the verified thumbnail frame - distinct from any\n generated surface token. */\n background: #f4f4f5;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n}\n.snacky-order-item__thumb {\n width: 48px;\n height: 48px;\n object-fit: contain;\n}\n.snacky-order-item__info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n.snacky-order-item__status {\n font-family: var(--font-small-semibold-family);\n font-weight: var(--font-small-semibold-weight);\n font-size: var(--font-small-semibold-size);\n line-height: 24px;\n color: var(--text-primary);\n}\n.snacky-order-item__status--cancelled {\n color: var(--text-error);\n}\n.snacky-order-item__name {\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n line-height: 24px;\n color: var(--text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.snacky-order-item__details {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n width: 100%;\n}\n.snacky-order-item__count {\n flex: 1;\n min-width: 0;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n line-height: 24px;\n color: var(--text-secondary);\n}\n.snacky-order-item__total {\n flex: 1;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n line-height: 24px;\n color: var(--text-primary);\n text-align: right;\n white-space: nowrap;\n}\n.snacky-order-item__total b {\n font-weight: var(--font-small-bold-weight);\n letter-spacing: 0.12px;\n}\n.snacky-order-item__total--cod {\n flex: 0 1 auto;\n}\n.snacky-order-item__cod {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--spacing-8);\n border-radius: var(--radius-field);\n border: 1px solid var(--border-main);\n background: var(--bg-surface);\n font-family: var(--font-small-bold-family);\n font-weight: var(--font-small-bold-weight);\n font-size: var(--font-small-bold-size);\n line-height: 24px;\n letter-spacing: 0.12px;\n color: var(--text-secondary);\n}\n.snacky-order-item__deadline {\n width: 100%;\n background: var(--bg-surface-highlight);\n text-align: center;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n line-height: 24px;\n color: var(--text-primary);\n}\n.snacky-order-item__action-row {\n display: flex;\n justify-content: flex-end;\n width: 100%;\n}\n\n.snacky-notif-item {\n display: flex;\n flex-direction: column;\n gap: 0;\n width: 100%;\n box-sizing: border-box;\n padding: var(--spacing-8) var(--spacing-12);\n background: var(--bg-surface);\n border: 1px solid var(--border-main);\n border-radius: var(--radius-field);\n text-align: left;\n}\n.snacky-notif-item--unread {\n background: var(--bg-surface-highlight);\n}\n.snacky-notif-item__title {\n font-family: var(--font-small-semibold-family);\n font-weight: var(--font-small-semibold-weight);\n font-size: var(--font-small-semibold-size);\n line-height: 24px;\n color: var(--text-primary);\n}\n.snacky-notif-item__message {\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n line-height: 24px;\n color: var(--text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n",".snacky-accordion {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-4);\n width: 100%;\n}\n.snacky-accordion__header {\n display: flex;\n align-items: center;\n gap: var(--gap-text-icon);\n width: 100%;\n padding: var(--spacing-12) var(--spacing-8);\n background: var(--bg-surface);\n border: none;\n border-radius: var(--radius-field);\n box-shadow: var(--shadow-md);\n cursor: pointer;\n text-align: left;\n color: var(--text-primary);\n}\n.snacky-accordion__icon {\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n}\n.snacky-accordion__title {\n flex: 1;\n font-family: var(--font-body-semibold-family);\n font-size: 14px;\n font-weight: var(--font-body-semibold-weight);\n}\n.snacky-accordion--icon .snacky-accordion__title {\n font-family: var(--font-small-semibold-family);\n font-size: var(--font-small-semibold-size);\n font-weight: var(--font-small-semibold-weight);\n}\n.snacky-accordion__chevron {\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n /* Confirmed against Figma: icon-secondary in both open and closed states,\n not inherited text-primary. */\n color: var(--icon-secondary);\n transition: transform 0.15s ease;\n}\n.snacky-accordion__chevron--open {\n transform: rotate(180deg);\n}\n/* Confirmed against Figma (node 8696:6572): the expanded panel is its own\n separate elevated card (own radius-field + shadow-md), not a padding-only\n section merged into the header's card, and there is no bordered variant\n at all - Figma never draws a border on either the icon or no-icon case. */\n.snacky-accordion__panel {\n padding: var(--spacing-12);\n background: var(--bg-surface);\n border-radius: var(--radius-field);\n box-shadow: var(--shadow-md);\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n",".snacky-sheet-overlay {\n position: fixed;\n inset: 0;\n background: var(--bg-overlay-dim);\n display: flex;\n align-items: flex-end;\n justify-content: center;\n z-index: 1000;\n}\n.snacky-sheet {\n width: 100%;\n max-width: 480px;\n max-height: 90vh;\n overflow-y: auto;\n background: var(--bg-surface);\n border-radius: var(--radius-sheet-top) var(--radius-sheet-top) 0 0;\n padding: var(--spacing-24);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--gap-layout-block);\n}\n.snacky-sheet__handle {\n width: 36px;\n height: 4px;\n border-radius: 999px;\n background: var(--color-neutral-200);\n margin: 0 auto var(--spacing-8);\n}\n",".snacky-section {\n width: 100%;\n padding: var(--spacing-16) var(--spacing-24);\n background: var(--bg-surface);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--gap-layout-block);\n}\n.snacky-section__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.snacky-section__title {\n margin: 0;\n font-family: var(--font-h3-bold-family);\n font-size: var(--font-h3-bold-size);\n font-weight: var(--font-h3-bold-weight);\n color: var(--text-primary);\n}\n.snacky-section__action {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n padding: var(--spacing-4);\n border: none;\n border-radius: var(--radius-full);\n background: var(--bg-action-primary);\n /* Re-verified against Figma's actual bound variable on the chevron vector\n (not the icon instance's own unrelated white frame fill, which was\n mistakenly read as the icon color in an earlier pass): text/text-primary,\n #333333 - same rendered color as --text-on-action-primary, which is what\n this originally was, but --text-primary is the variable Figma actually\n binds here. */\n color: var(--text-primary);\n cursor: pointer;\n}\n.snacky-section__action:hover { background: var(--bg-action-primary-hover); }\n",".snacky-avatar {\n display: block;\n border-radius: 999px;\n object-fit: cover;\n flex-shrink: 0;\n}\n.snacky-avatar--sm { width: 32px; height: 32px; }\n.snacky-avatar--md { width: 56px; height: 56px; }\n.snacky-avatar--lg { width: 72px; height: 72px; }\n",".snacky-illustration {\n display: block;\n max-width: 100%;\n height: auto;\n}\n",".snacky-product-image-wrap {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n}\n.snacky-product-image {\n display: block;\n object-fit: contain;\n}\n.snacky-product-image--card,\n.snacky-product-image--details {\n width: 100%;\n height: 100%;\n background: transparent;\n}\n.snacky-product-image-wrap--card { width: 128px; height: 128px; }\n.snacky-product-image-wrap--details { width: 200px; height: 200px; }\n\n.snacky-product-image-wrap--list {\n width: 56px;\n height: 56px;\n padding: var(--spacing-4);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n}\n.snacky-product-image-wrap--review {\n width: 48px;\n height: 48px;\n padding: var(--spacing-4);\n border: 1px solid var(--border-main);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n}\n.snacky-product-image-wrap--variant {\n width: 88px;\n height: 88px;\n padding: var(--spacing-4);\n border: 1px solid var(--border-main);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n}\n.snacky-product-image-wrap--accordion-modal { width: 24px; height: 24px; }\n\n.snacky-product-image-sold-overlay {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(255, 255, 255, 0.46);\n border-radius: inherit;\n}\n.snacky-product-image-sold-label {\n padding: var(--spacing-12) 7px;\n border-radius: 999px;\n background: rgba(51, 51, 51, 0.8);\n color: var(--text-inverse);\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n}\n",".snacky-product-card {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-12);\n background: var(--bg-surface);\n text-align: left;\n border: none;\n cursor: pointer;\n font-family: inherit;\n}\n.snacky-product-card--list {\n width: 152px;\n padding: var(--spacing-12) var(--spacing-8);\n border-radius: var(--radius-field);\n box-shadow: var(--shadow-lg);\n}\n.snacky-product-card--details {\n width: 100%;\n padding: var(--spacing-12) 0 var(--spacing-16);\n gap: var(--spacing-8);\n}\n.snacky-product-card__image-wrap {\n position: relative;\n}\n.snacky-product-card--list .snacky-product-card__image-wrap { width: 128px; height: 128px; }\n.snacky-product-card--details .snacky-product-card__image-wrap { width: 200px; height: 200px; margin: 0 auto; }\n.snacky-product-card__image {\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n.snacky-product-card__discount {\n position: absolute;\n top: 0;\n right: 0;\n}\n.snacky-product-card__name {\n margin: 0;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n.snacky-product-card--details .snacky-product-card__name {\n font-size: 14px;\n}\n.snacky-product-card__price-row {\n display: flex;\n align-items: baseline;\n gap: var(--spacing-4);\n}\n.snacky-product-card__price {\n font-family: var(--font-small-bold-family);\n font-weight: var(--font-small-bold-weight);\n color: var(--text-primary);\n}\n.snacky-product-card--details .snacky-product-card__price {\n font-size: 20px;\n font-weight: 700;\n}\n.snacky-product-card__original-price {\n font-family: var(--font-small-bold-family);\n font-weight: var(--font-small-bold-weight);\n font-size: 10px;\n color: var(--text-secondary);\n text-decoration: line-through;\n}\n.snacky-product-card--details .snacky-product-card__original-price {\n font-size: 16px;\n font-weight: 700;\n}\n.snacky-product-card__footer-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-8);\n}\n.snacky-product-card__rating {\n display: inline-flex;\n align-items: center;\n gap: var(--gap-icon-label);\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-secondary);\n}\n.snacky-product-card__rating-icon {\n width: 16px;\n height: 16px;\n color: var(--color-primary-500);\n}\n.snacky-product-card__actions {\n display: flex;\n gap: var(--gap-cell);\n}\n/* Details page's Favorite/Share/Chat icon buttons use a slightly softer\n shadow than the standard Secondary icon-button elevation. */\n.snacky-product-card__actions--details button {\n box-shadow: 0 4px 4px rgba(0, 0, 0, 0.08);\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/theme/tokens.css","../src/components/Button/Button.css","../src/components/IconButton/IconButton.css","../src/components/IconButton/UploadButton.css","../src/components/Input/TextField.css","../src/components/Input/SearchField.css","../src/components/Input/OtpField.css","../src/components/Input/CopyField.css","../src/components/Input/ChatInput.css","../src/components/Input/AddressResult.css","../src/components/Chips/Chips.css","../src/components/RadioButton/RadioButton.css","../src/components/Checkbox/Checkbox.css","../src/components/Toggle/Toggle.css","../src/components/Navbar/Navbar.css","../src/components/Tab/Tab.css","../src/components/Header/Header.css","../src/components/Banner/Banner.css","../src/components/Badge/Badge.css","../src/components/Callout/Callout.css","../src/components/List/List.css","../src/components/Accordion/Accordion.css","../src/components/Modal/BottomSheet.css","../src/components/Section/Section.css","../src/components/Avatar/Avatar.css","../src/components/Illustration/Illustration.css","../src/components/ProductImage/ProductImage.css","../src/components/ProductCard/ProductCard.css"],"sourcesContent":["/* Generated from tokens.json by scripts/generate-react-tokens.js - do not hand-edit. */\n:root {\n --color-primary-50: #fef8eb;\n --color-primary-100: #fde9bf;\n --color-primary-200: #fcdea1;\n --color-primary-300: #facf76;\n --color-primary-400: #f9c55b;\n --color-primary-500: #f8b732;\n --color-primary-600: #e2a72e;\n --color-primary-700: #b08224;\n --color-primary-800: #88651c;\n --color-primary-900: #684d15;\n --color-neutral-0: #ffffff;\n --color-neutral-10: #fdfdfd;\n --color-neutral-20: #f7f7f7;\n --color-neutral-50: #f3f3f3;\n --color-neutral-100: #e0e0e0;\n --color-neutral-200: #cccccc;\n --color-neutral-400: #a3a3a3;\n --color-neutral-500: #7a7a7a;\n --color-neutral-600: #6a6a6a;\n --color-neutral-700: #525252;\n --color-neutral-800: #4b4b4b;\n --color-neutral-900: #434343;\n --color-neutral-950: #333333;\n --color-red-50: #fdeeee;\n --color-red-100: #f9cbcb;\n --color-red-200: #f6b2b2;\n --color-red-300: #f28e8e;\n --color-red-400: #ef7979;\n --color-red-500: #eb5757;\n --color-red-600: #d64f4f;\n --color-red-700: #a73e3e;\n --color-red-800: #813030;\n --color-red-900: #632525;\n --bg-app: #f7f7f7;\n --bg-surface: #ffffff;\n --bg-surface-primary: #f8b732;\n --bg-surface-accent: #eb5757;\n --bg-surface-variant: #f3f3f3;\n --bg-surface-field: #ffffff;\n --bg-surface-highlight: #fef8eb;\n --bg-action-primary: #f8b732;\n --bg-action-primary-hover: #e2a72e;\n --bg-action-primary-pressed: #b08224;\n --bg-action-secondary: #ffffff;\n --bg-action-secondary-hover: #f3f3f3;\n --bg-action-secondary-pressed: #e0e0e0;\n --bg-action-disabled: #cccccc;\n --bg-action-primary-danger: #eb5757;\n --bg-action-primary-danger-hovered: #d64f4f;\n --bg-action-primary-danger-pressed: #a73e3e;\n --bg-overlay-dim: rgba(51,51,51,0.8);\n --border-main: #cccccc;\n --border-highlight: #fcdea1;\n --border-input-default: #cccccc;\n --border-input-active: #f8b732;\n --border-input-error: #eb5757;\n --border-action-secondary: #cccccc;\n --border-action-secondary-pressed: #a3a3a3;\n --border-action-danger: #eb5757;\n --border-action-disabled: #cccccc;\n --text-primary: #333333;\n --text-secondary: #7a7a7a;\n --text-placeholder: #7a7a7a;\n --text-disabled: #a3a3a3;\n --text-link: #88651c;\n --text-error: #a73e3e;\n --text-inverse: #ffffff;\n --text-on-action-primary: #333333;\n --text-on-action-secondary: #333333;\n --text-on-action-tertiary: #b08224;\n --text-on-action-tertiary-hovered: #88651c;\n --text-on-action-tertiary-pressed: #684d15;\n --text-action-danger: #d64f4f;\n --text-action-danger-hovered: #a73e3e;\n --text-action-danger-pressed: #813030;\n --text-action-disabled: #a3a3a3;\n --icon-primary: #333333;\n --icon-secondary: #525252;\n --icon-brand: #f8b732;\n --icon-disabled: #a3a3a3;\n --icon-active: #eb5757;\n --icon-on-accent: #ffffff;\n --spacing-2: 2px;\n --spacing-4: 4px;\n --spacing-8: 8px;\n --spacing-12: 12px;\n --spacing-16: 16px;\n --spacing-24: 24px;\n --spacing-32: 32px;\n --gap-icon-label: 4px;\n --gap-cell: 4px;\n --gap-text-icon: 8px;\n --gap-text-underline: 16px;\n --gap-layout-section-list: 8px;\n --gap-layout-block: 16px;\n --gap-layout-stack: 24px;\n --gap-layout-page: 32px;\n --margin-screen: 16px;\n --radius-4: 4px;\n --radius-6: 6px;\n --radius-8: 8px;\n --radius-10: 10px;\n --radius-20: 20px;\n --radius-100: 100px;\n --radius-999: 999px;\n --radius-field: 4px;\n --radius-tag: 6px;\n --radius-bubble: 8px;\n --radius-card: 10px;\n --radius-sheet-top: 20px;\n --radius-full: 100px;\n --size-icon-sm: 16px;\n --size-icon-md: 20px;\n --size-icon-lg: 24px;\n --size-avatar-sm: 32px;\n --size-avatar-md: 56px;\n --size-avatar-lg: 72px;\n --shadow-md: 0 4px 8px rgba(0,0,0,0.08);\n --shadow-lg: 0 10px 30px rgba(0,0,0,0.1);\n --shadow-top: 0 -4px 10px rgba(0,0,0,0.08);\n --font-h1-bold-family: 'Poppins', sans-serif;\n --font-h1-bold-size: 32px;\n --font-h1-bold-weight: 700;\n --font-h1-bold-line-height: 36px;\n --font-h1-bold-letter-spacing: 0.01em;\n --font-h2-bold-family: 'Poppins', sans-serif;\n --font-h2-bold-size: 20px;\n --font-h2-bold-weight: 700;\n --font-h2-bold-line-height: 36px;\n --font-h2-bold-letter-spacing: 0.01em;\n --font-h3-bold-family: 'Poppins', sans-serif;\n --font-h3-bold-size: 16px;\n --font-h3-bold-weight: 700;\n --font-h3-bold-line-height: 36px;\n --font-h3-bold-letter-spacing: 0.01em;\n --font-h3-regular-family: 'Poppins', sans-serif;\n --font-h3-regular-size: 16px;\n --font-h3-regular-weight: 400;\n --font-h3-regular-line-height: 36px;\n --font-h3-regular-letter-spacing: normal;\n --font-body-semibold-family: 'Poppins', sans-serif;\n --font-body-semibold-size: 14px;\n --font-body-semibold-weight: 600;\n --font-body-semibold-line-height: 24px;\n --font-body-semibold-letter-spacing: normal;\n --font-body-regular-family: 'Poppins', sans-serif;\n --font-body-regular-size: 14px;\n --font-body-regular-weight: 400;\n --font-body-regular-line-height: 24px;\n --font-body-regular-letter-spacing: normal;\n --font-small-semibold-family: 'Poppins', sans-serif;\n --font-small-semibold-size: 12px;\n --font-small-semibold-weight: 600;\n --font-small-semibold-line-height: 24px;\n --font-small-semibold-letter-spacing: normal;\n --font-small-bold-family: 'Poppins', sans-serif;\n --font-small-bold-size: 12px;\n --font-small-bold-weight: 700;\n --font-small-bold-line-height: 24px;\n --font-small-bold-letter-spacing: 0.01em;\n --font-small-regular-family: 'Poppins', sans-serif;\n --font-small-regular-size: 12px;\n --font-small-regular-weight: 400;\n --font-small-regular-line-height: 24px;\n --font-small-regular-letter-spacing: normal;\n --font-caption-semibold-family: 'Poppins', sans-serif;\n --font-caption-semibold-size: 10px;\n --font-caption-semibold-weight: 600;\n --font-caption-semibold-line-height: 23px;\n --font-caption-semibold-letter-spacing: 0.01em;\n --font-caption-regular-family: 'Poppins', sans-serif;\n --font-caption-regular-size: 10px;\n --font-caption-regular-weight: 400;\n --font-caption-regular-line-height: 16px;\n --font-caption-regular-letter-spacing: 0.01em;\n}\n",".snacky-btn {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-12) var(--spacing-8);\n border-radius: var(--radius-field);\n border: none;\n font-family: var(--font-small-semibold-family);\n font-size: var(--font-small-semibold-size);\n font-weight: var(--font-small-semibold-weight);\n line-height: var(--font-small-semibold-line-height);\n cursor: pointer;\n white-space: nowrap;\n transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;\n}\n\n.snacky-btn:disabled {\n cursor: not-allowed;\n}\n\n.snacky-btn--small {\n padding: var(--spacing-8) var(--spacing-8);\n}\n\n/* Primary */\n.snacky-btn--primary {\n background: var(--bg-action-primary);\n color: var(--text-on-action-primary);\n}\n.snacky-btn--primary:hover:not(:disabled) { background: var(--bg-action-primary-hover); }\n.snacky-btn--primary:active:not(:disabled) { background: var(--bg-action-primary-pressed); }\n.snacky-btn--primary:disabled { background: var(--bg-action-disabled); color: var(--text-action-disabled); }\n\n/* Primary + Danger */\n.snacky-btn--primary.snacky-btn--danger {\n background: var(--bg-action-primary-danger);\n color: var(--text-on-action-primary);\n}\n.snacky-btn--primary.snacky-btn--danger:hover:not(:disabled) { background: var(--bg-action-primary-danger-hovered); }\n.snacky-btn--primary.snacky-btn--danger:active:not(:disabled) { background: var(--bg-action-primary-danger-pressed); }\n/* Flagged asymmetry, confirmed against the site's own live implementation:\n Primary+Danger's disabled state carries a border that plain Primary's\n disabled state does not. */\n.snacky-btn--primary.snacky-btn--danger:disabled { background: var(--bg-action-disabled); color: var(--text-action-disabled); border: 1px solid var(--border-action-disabled); }\n\n/* Secondary */\n.snacky-btn--secondary {\n background: var(--bg-action-secondary);\n border: 1px solid var(--border-action-secondary);\n color: var(--text-on-action-primary);\n}\n.snacky-btn--secondary:hover:not(:disabled) { background: var(--bg-action-secondary-hover); }\n.snacky-btn--secondary:active:not(:disabled) { background: var(--bg-action-secondary-pressed); }\n.snacky-btn--secondary:disabled { color: var(--text-action-disabled); }\n\n/* Secondary + Danger */\n.snacky-btn--secondary.snacky-btn--danger {\n border-color: var(--border-action-danger);\n color: var(--text-action-danger);\n}\n.snacky-btn--secondary.snacky-btn--danger:hover:not(:disabled) { background: var(--bg-action-secondary-hover); }\n.snacky-btn--secondary.snacky-btn--danger:active:not(:disabled) { background: var(--bg-action-secondary-pressed); }\n.snacky-btn--secondary.snacky-btn--danger:disabled { border-color: var(--border-action-disabled); color: var(--text-action-disabled); }\n\n/* Tertiary - ghost, never a fill or border, including disabled */\n.snacky-btn--tertiary {\n background: transparent;\n color: var(--text-on-action-tertiary);\n}\n.snacky-btn--tertiary:hover:not(:disabled) { color: var(--text-on-action-tertiary-hovered); }\n.snacky-btn--tertiary:active:not(:disabled) { color: var(--text-on-action-tertiary-pressed); }\n.snacky-btn--tertiary:disabled { color: var(--text-action-disabled); }\n\n/* Tertiary + Danger */\n.snacky-btn--tertiary.snacky-btn--danger { color: var(--text-action-danger); }\n.snacky-btn--tertiary.snacky-btn--danger:hover:not(:disabled) { color: var(--text-action-danger-hovered); }\n.snacky-btn--tertiary.snacky-btn--danger:active:not(:disabled) { color: var(--text-action-danger-pressed); }\n.snacky-btn--tertiary.snacky-btn--danger:disabled { color: var(--text-action-disabled); }\n\n.snacky-btn__icon {\n position: absolute;\n left: var(--spacing-8);\n top: 50%;\n transform: translateY(-50%);\n display: inline-flex;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n}\n",".snacky-iconbtn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n border: none;\n border-radius: var(--radius-full);\n cursor: pointer;\n transition: background-color 0.12s ease;\n}\n.snacky-iconbtn:disabled { cursor: not-allowed; }\n.snacky-iconbtn svg,\n.snacky-iconbtn img { width: 100%; height: 100%; }\n\n/* Primary - 32px default, 24px small */\n.snacky-iconbtn--primary {\n width: 32px;\n height: 32px;\n padding: var(--spacing-8);\n background: var(--bg-action-primary);\n}\n.snacky-iconbtn--primary .snacky-iconbtn__icon { width: 16px; height: 16px; color: var(--text-primary); }\n.snacky-iconbtn--primary:hover:not(:disabled) { background: var(--bg-action-primary-hover); }\n.snacky-iconbtn--primary:active:not(:disabled) { background: var(--bg-action-primary-pressed); }\n.snacky-iconbtn--primary:disabled { background: var(--bg-action-disabled); border: 1px solid var(--border-action-disabled); }\n.snacky-iconbtn--primary:disabled .snacky-iconbtn__icon { color: var(--text-action-disabled); }\n\n.snacky-iconbtn--primary.snacky-iconbtn--small {\n width: 24px;\n height: 24px;\n padding: var(--spacing-4);\n}\n\n/* Secondary - 40px, elevated, can act as a toggle via `selected` */\n.snacky-iconbtn--secondary {\n width: 40px;\n height: 40px;\n padding: var(--spacing-8);\n background: var(--bg-action-secondary);\n box-shadow: var(--shadow-md);\n}\n.snacky-iconbtn--secondary .snacky-iconbtn__icon { width: 20px; height: 20px; color: var(--icon-secondary); }\n.snacky-iconbtn--secondary:hover:not(:disabled) { background: var(--bg-action-secondary-hover); }\n.snacky-iconbtn--secondary:active:not(:disabled) { background: var(--bg-action-secondary-pressed); }\n.snacky-iconbtn--secondary:disabled { background: var(--bg-action-disabled); box-shadow: none; }\n.snacky-iconbtn--secondary:disabled .snacky-iconbtn__icon { color: var(--icon-disabled); }\n.snacky-iconbtn--secondary.snacky-iconbtn--selected .snacky-iconbtn__icon { color: var(--icon-active); }\n\n/* Tertiary - 40px, no resting fill, only a transient state-layer overlay */\n.snacky-iconbtn--tertiary {\n width: 40px;\n height: 40px;\n padding: var(--spacing-8);\n background: transparent;\n}\n.snacky-iconbtn--tertiary .snacky-iconbtn__icon { width: 24px; height: 24px; color: var(--icon-primary); }\n.snacky-iconbtn--tertiary:hover:not(:disabled) { background: rgba(0, 0, 0, 0.08); }\n.snacky-iconbtn--tertiary:hover:not(:disabled) .snacky-iconbtn__icon { color: var(--icon-secondary); }\n.snacky-iconbtn--tertiary:active:not(:disabled) { background: rgba(0, 0, 0, 0.12); }\n.snacky-iconbtn--tertiary:disabled .snacky-iconbtn__icon { color: var(--icon-disabled); }\n",".snacky-upload {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 72px;\n height: 72px;\n padding: var(--spacing-24);\n border-radius: var(--radius-full);\n background: var(--bg-surface);\n border: 1px dashed var(--border-main);\n cursor: pointer;\n transition: background-color 0.12s ease;\n}\n.snacky-upload svg,\n.snacky-upload img { width: 100%; height: 100%; }\n.snacky-upload:hover { background: var(--bg-action-secondary-hover); }\n.snacky-upload:active { background: var(--bg-action-secondary-pressed); }\n",".snacky-field {\n display: flex;\n align-items: center;\n gap: var(--gap-text-icon);\n width: 100%;\n height: 48px;\n padding: var(--spacing-12) var(--spacing-8);\n background: var(--bg-surface-field);\n border: 1px solid var(--border-input-default);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n transition: border-color 0.12s ease;\n}\n\n.snacky-field:focus-within {\n border-color: var(--border-input-active);\n}\n\n.snacky-field--error {\n border-color: var(--border-input-error) !important;\n}\n\n.snacky-field--disabled {\n background: var(--bg-surface-variant);\n cursor: not-allowed;\n}\n\n.snacky-field__input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n font-weight: var(--font-small-regular-weight);\n line-height: var(--font-small-regular-line-height);\n color: var(--text-primary);\n}\n\n.snacky-field__input::placeholder {\n color: var(--text-placeholder);\n}\n\n.snacky-field__input:disabled {\n cursor: not-allowed;\n color: var(--text-disabled);\n}\n\n.snacky-field__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n color: var(--icon-secondary);\n}\n\n.snacky-field__icon--button {\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n color: var(--icon-secondary);\n}\n\n.snacky-field-label {\n display: block;\n margin-bottom: var(--spacing-4);\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n\n.snacky-field-error {\n display: block;\n margin-top: var(--spacing-4);\n font-family: var(--font-caption-regular-family);\n font-size: var(--font-caption-regular-size);\n color: var(--text-error);\n}\n",".snacky-search {\n display: flex;\n align-items: center;\n gap: var(--spacing-12);\n /* Animates 260px -> 312px on focus, matching the site's own verified\n implementation - not a fluid 100% field. */\n width: 260px;\n height: 40px;\n padding: var(--spacing-8) var(--spacing-12);\n background: var(--bg-surface-variant);\n border: 1px solid transparent;\n border-radius: var(--radius-field);\n box-sizing: border-box;\n transition: border-color 0.12s ease, width 0.15s ease;\n}\n.snacky-search:focus-within {\n width: 312px;\n border-color: var(--border-input-active);\n}\n.snacky-search__input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n.snacky-search__input::placeholder {\n color: var(--text-placeholder);\n}\n.snacky-search__icon {\n display: inline-flex;\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n color: var(--icon-secondary);\n}\n.snacky-search__clear {\n display: inline-flex;\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n color: var(--icon-secondary);\n}\n",".snacky-otp {\n display: flex;\n gap: var(--spacing-4);\n}\n.snacky-otp__cell {\n width: 48px;\n height: 48px;\n padding: 0;\n box-sizing: border-box;\n text-align: center;\n border: 1px solid transparent;\n border-radius: var(--radius-field);\n background: var(--bg-surface-variant);\n font-family: var(--font-h3-bold-family);\n font-size: var(--font-h3-bold-size);\n font-weight: var(--font-h3-bold-weight);\n /* 46px, not the h3Bold token's 36px - specifically tuned to center a\n single digit in the 48px cell, per the site's own implementation. */\n line-height: 46px;\n letter-spacing: 0.16px;\n color: var(--text-primary);\n outline: none;\n transition: border-color 0.1s ease;\n}\n.snacky-otp__cell:focus {\n border-color: var(--border-input-active);\n}\n",".snacky-copy {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: 48px;\n padding: var(--spacing-12);\n background: var(--bg-surface-variant);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n}\n.snacky-copy__value {\n font-family: var(--font-body-semibold-family);\n font-size: var(--font-body-semibold-size);\n font-weight: var(--font-body-semibold-weight);\n color: var(--text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.snacky-copy__action {\n flex-shrink: 0;\n margin-left: var(--spacing-12);\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n font-family: var(--font-small-bold-family);\n font-size: var(--font-small-bold-size);\n font-weight: var(--font-small-bold-weight);\n color: var(--text-link);\n}\n.snacky-copy__action--copied {\n color: var(--text-secondary);\n}\n",".snacky-chatfield {\n display: flex;\n align-items: center;\n gap: var(--gap-text-icon);\n width: 100%;\n height: 72px;\n padding: var(--spacing-12);\n background: var(--bg-surface);\n border: 1px solid var(--border-input-default);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n transition: border-color 0.12s ease;\n}\n.snacky-chatfield:focus-within {\n border-color: var(--border-input-active);\n}\n.snacky-chatfield__input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n.snacky-chatfield__input::placeholder {\n color: var(--text-placeholder);\n}\n.snacky-chatfield__send {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 48px;\n height: 48px;\n border: none;\n border-radius: var(--radius-full);\n /* Transparent with a muted icon when empty, not a grayed-out disabled\n circle - it only fills once there's something to send. */\n background: transparent;\n color: var(--icon-secondary);\n cursor: default;\n transition: background-color 0.15s ease, color 0.15s ease;\n}\n.snacky-chatfield__send--active {\n background: var(--bg-action-primary);\n color: var(--text-on-action-primary);\n cursor: pointer;\n}\n.snacky-chatfield__send--active:hover { background: var(--bg-action-primary-hover); }\n",".snacky-address-result {\n display: flex;\n align-items: flex-start;\n gap: var(--gap-text-icon);\n width: 100%;\n padding: var(--spacing-12) var(--spacing-8);\n background: var(--bg-surface);\n border: 1px solid var(--border-input-default);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n cursor: pointer;\n text-align: left;\n}\n.snacky-address-result__icon {\n display: inline-flex;\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n color: var(--icon-secondary);\n margin-top: 2px;\n}\n.snacky-address-result__title {\n margin: 0;\n font-family: var(--font-small-bold-family);\n font-size: var(--font-small-bold-size);\n font-weight: var(--font-small-bold-weight);\n color: var(--text-primary);\n}\n.snacky-address-result__subtitle {\n margin: 0;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n",".snacky-chip {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-4);\n padding: var(--spacing-8);\n border-radius: var(--radius-full);\n background: var(--bg-surface);\n border: 1px solid var(--border-main);\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n cursor: pointer;\n white-space: nowrap;\n}\n.snacky-chip--selected {\n background: var(--bg-surface-highlight);\n border-color: var(--color-primary-500);\n}\n.snacky-chip__thumb {\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n object-fit: contain;\n}\n",".snacky-radio-option {\n display: inline-flex;\n align-items: center;\n gap: var(--gap-icon-label);\n cursor: pointer;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n.snacky-radio-option--disabled {\n cursor: not-allowed;\n}\n.snacky-radio {\n appearance: none;\n width: 24px;\n height: 24px;\n margin: 0;\n flex-shrink: 0;\n box-sizing: border-box;\n border-radius: 999px;\n border: 1px solid var(--border-main);\n background: transparent;\n cursor: pointer;\n position: relative;\n}\n.snacky-radio:checked {\n /* Figma binds both the ring and the dot to background/action/bg-action-primary\n (same #f8b732 as the primary-500 primitive this used before, but the real\n semantic token the file actually references). */\n border-color: var(--bg-action-primary);\n}\n.snacky-radio:checked::after {\n content: '';\n position: absolute;\n inset: 0;\n margin: auto;\n width: 12px;\n height: 12px;\n border-radius: 999px;\n background: var(--bg-action-primary);\n}\n.snacky-radio:disabled {\n cursor: not-allowed;\n border-color: var(--border-main);\n background: var(--bg-surface-variant);\n}\n/* Disabled suppresses the selected dot entirely, even if checked - matches\n the site's own verified implementation exactly. */\n.snacky-radio:disabled::after {\n display: none;\n}\n",".snacky-checkbox-option {\n display: inline-flex;\n align-items: center;\n gap: var(--gap-icon-label);\n cursor: pointer;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n.snacky-checkbox {\n appearance: none;\n width: 24px;\n height: 24px;\n margin: 0;\n box-sizing: border-box;\n flex-shrink: 0;\n /* Off state is a white field surface with an outline - updated in Figma\n (node 444:11084) from an earlier solid neutral-500 fill to this outline\n style. Figma binds the stroke to border/border-main, not the\n border-input-default this used before (same #cccccc either way). */\n border: 1px solid var(--border-main);\n border-radius: var(--radius-field);\n cursor: pointer;\n position: relative;\n background: var(--bg-surface-field);\n}\n.snacky-checkbox:checked {\n background: var(--color-primary-500);\n border-color: var(--color-primary-500);\n}\n.snacky-checkbox:checked::after {\n content: '';\n position: absolute;\n inset: 3px;\n /* Confirmed against Figma: the checkmark is white (icon-on-accent), not\n text-primary - it reads as a white cutout in the compound icon path, not a\n dark mark layered on top. */\n background: var(--icon-on-accent);\n -webkit-mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E\") center / contain no-repeat;\n mask: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E\") center / contain no-repeat;\n}\n",".snacky-toggle {\n position: relative;\n display: inline-block;\n width: 56px;\n height: 32px;\n margin: 0;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n appearance: none;\n}\n.snacky-toggle:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.snacky-toggle__track {\n position: absolute;\n left: 0;\n top: 4px;\n width: 56px;\n height: 24px;\n border-radius: 12px;\n /* Bound to bg-action-disabled in Figma (same #cccccc as neutral-200, this\n just matches the actual token binding, confirmed via the file's variables). */\n background: var(--bg-action-disabled);\n transition: background-color 0.2s ease;\n}\n.snacky-toggle--on .snacky-toggle__track {\n /* \"Accent tint\" per Figma - a light wash, not the solid accent color. Figma's\n actual paint (#fffbe9) isn't bound to any variable and isn't quite\n bg-surface-highlight/primary-50 (#fef8eb) either, close enough (a few\n values out of 255 per channel) that this token is used rather than a new\n one-off raw color for an likely-untokenized value in Figma itself. */\n background: var(--bg-surface-highlight);\n}\n.snacky-toggle__thumb {\n position: absolute;\n top: 0;\n left: 0;\n width: 32px;\n height: 32px;\n border-radius: 999px;\n /* Confirmed against Figma (bound to the icon-disabled variable): #a3a3a3,\n not neutral-500 (#7a7a7a). */\n background: var(--icon-disabled);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n transition: left 0.2s ease, background-color 0.2s ease;\n}\n.snacky-toggle--on .snacky-toggle__thumb {\n left: 24px;\n background: var(--color-primary-500);\n}\n",".snacky-navbar {\n display: flex;\n width: 100%;\n background: var(--bg-surface);\n box-shadow: var(--shadow-top);\n}\n.snacky-navbar__item {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--gap-icon-label);\n padding: var(--spacing-12) 0;\n background: none;\n border: none;\n cursor: pointer;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-secondary);\n}\n.snacky-navbar__item--active {\n font-family: var(--font-small-bold-family);\n font-weight: var(--font-small-bold-weight);\n color: var(--text-primary);\n}\n.snacky-navbar__icon {\n display: inline-flex;\n width: 20px;\n height: 20px;\n /* Icon and label use different inactive colors in the site's own\n verified implementation - icon-secondary, not text-secondary. */\n color: var(--icon-secondary);\n}\n.snacky-navbar__item--active .snacky-navbar__icon {\n color: var(--color-primary-500);\n}\n",".snacky-tabrow {\n display: flex;\n gap: var(--spacing-24);\n border-bottom: 1px solid var(--border-main);\n}\n.snacky-tab {\n background: none;\n border: none;\n border-bottom: 2px solid transparent;\n margin-bottom: -1px;\n padding: 0 0 var(--spacing-12) 0;\n cursor: pointer;\n font-family: var(--font-body-regular-family);\n font-size: 14px;\n line-height: var(--font-body-regular-line-height);\n color: var(--text-primary);\n transition: color 0.15s ease;\n}\n.snacky-tab--active {\n font-family: var(--font-body-semibold-family);\n font-weight: var(--font-body-semibold-weight);\n /* Re-verified against Figma's actual bound variables (an earlier pass\n read this as the raw primary-700 primitive): the active label's text\n fill is bound to text/on-action/text-on-action-tertiary (#b08224,\n same value as primary-700, but the real semantic token, matching the\n Tertiary button's default label color). The underline's stroke is\n bound to border/input/border-input-active (#f8b732) - an input-focus\n token reused here, which reads as incidental Figma variable reuse\n rather than an intentional shared role, so this keeps the primitive\n --color-primary-500 instead of adopting a misleading token name. */\n color: var(--text-on-action-tertiary);\n border-bottom-color: var(--color-primary-500);\n}\n",".snacky-header {\n display: flex;\n align-items: center;\n width: 100%;\n box-sizing: border-box;\n padding: var(--spacing-16) var(--spacing-8);\n background: var(--bg-surface);\n}\n.snacky-header__icon-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n padding: 0;\n border: none;\n border-radius: var(--radius-full);\n background: transparent;\n color: var(--text-primary);\n cursor: pointer;\n}\n.snacky-header__title-row {\n flex: 1;\n min-width: 0;\n display: flex;\n justify-content: center;\n}\n/* When a leading icon is present but there's no trailing action, the title\n row gets matching right padding so the text stays optically centered\n against the whole bar, not just the leftover space next to the icon. */\n.snacky-header__title-row--balance {\n padding-right: 40px;\n}\n.snacky-header__title {\n font-family: var(--font-h3-bold-family);\n font-weight: var(--font-h3-bold-weight);\n font-size: var(--font-h3-bold-size);\n line-height: var(--font-h3-bold-line-height);\n letter-spacing: var(--font-h3-bold-letter-spacing);\n color: var(--text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n",".snacky-banner-hero {\n display: block;\n width: 100%;\n border-radius: var(--radius-field);\n box-shadow: var(--shadow-md);\n object-fit: cover;\n}\n.snacky-banner-square {\n display: block;\n width: 100%;\n aspect-ratio: 360 / 334;\n border-radius: var(--radius-bubble);\n object-fit: cover;\n}\n.snacky-banner-full {\n display: block;\n width: 100%;\n aspect-ratio: 360 / 176;\n object-fit: cover;\n}\n.snacky-banner-point-balance {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: var(--spacing-8) var(--spacing-16);\n gap: var(--spacing-12);\n background: var(--bg-surface-highlight);\n border: 1px solid var(--color-primary-500);\n border-radius: var(--radius-card);\n box-sizing: border-box;\n}\n.snacky-banner-point-balance__item {\n display: flex;\n align-items: center;\n gap: var(--gap-icon-label);\n}\n.snacky-banner-point-balance__icon {\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n}\n.snacky-banner-point-balance__label {\n margin: 0;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n.snacky-banner-point-balance__value {\n margin: 0;\n font-family: var(--font-small-bold-family);\n font-weight: var(--font-small-bold-weight);\n color: var(--text-primary);\n}\n.snacky-banner-point-balance__divider {\n width: 1px;\n align-self: stretch;\n background: var(--color-primary-500);\n}\n\n.snacky-banner-alert {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n height: 40px;\n padding: var(--spacing-8) var(--spacing-24);\n gap: var(--spacing-4);\n background: var(--bg-surface-accent);\n box-sizing: border-box;\n}\n.snacky-banner-alert__message {\n margin: 0;\n font-family: var(--font-body-regular-family);\n font-size: var(--font-body-regular-size);\n color: var(--text-inverse);\n}\n.snacky-banner-alert__countdown {\n margin: 0;\n font-family: var(--font-body-semibold-family);\n font-weight: var(--font-body-semibold-weight);\n color: var(--text-inverse);\n}\n",".snacky-badge-wrap {\n position: relative;\n display: inline-flex;\n}\n.snacky-badge-notification {\n position: absolute;\n top: -8px;\n right: -10px;\n min-width: 20px;\n height: 19px;\n padding: var(--spacing-2) var(--spacing-4);\n border-radius: 999px;\n background: var(--bg-surface-accent);\n color: var(--text-inverse);\n font-family: var(--font-caption-semibold-family);\n font-size: var(--font-caption-semibold-size);\n font-weight: var(--font-caption-semibold-weight);\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n}\n.snacky-discount-tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-2) var(--spacing-4);\n border-radius: var(--radius-tag);\n background: var(--bg-surface-accent);\n color: var(--text-inverse);\n font-family: var(--font-caption-semibold-family);\n font-size: var(--font-caption-semibold-size);\n font-weight: var(--font-caption-semibold-weight);\n}\n.snacky-soldout-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: var(--spacing-12) var(--spacing-8);\n border-radius: 999px;\n background: rgba(51, 51, 51, 0.8);\n color: var(--text-inverse);\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n}\n.snacky-variant-badge {\n display: inline-flex;\n align-items: center;\n padding: var(--spacing-8);\n border-radius: var(--radius-field);\n background: var(--bg-surface-highlight);\n border: 1px solid var(--color-primary-500);\n color: var(--text-primary);\n font-family: var(--font-caption-regular-family);\n font-size: var(--font-caption-regular-size);\n}\n",".snacky-callout {\n display: inline-flex;\n flex-direction: column;\n gap: var(--spacing-4);\n max-width: 200px;\n padding: var(--spacing-12) var(--spacing-8);\n border-radius: var(--radius-bubble);\n font-family: var(--font-body-regular-family);\n font-size: var(--font-body-regular-size);\n color: var(--text-primary);\n}\n.snacky-callout--received {\n align-self: flex-start;\n background: var(--bg-surface);\n /* No box-shadow: confirmed against Figma (node 8690:7424), the Received\n bubble has an empty effects array, flat like Sent/Pending. */\n}\n.snacky-callout--sent,\n.snacky-callout--pending {\n align-self: flex-end;\n background: var(--color-primary-500);\n}\n.snacky-callout__message {\n margin: 0;\n width: 100%;\n}\n.snacky-callout__meta {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--spacing-4);\n width: 100%;\n font-family: var(--font-caption-regular-family);\n font-size: var(--font-caption-regular-size);\n color: var(--text-primary);\n text-align: right;\n}\n.snacky-callout__meta-icon {\n width: 16px;\n height: 16px;\n display: inline-flex;\n}\n",".snacky-order-item {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n width: 100%;\n padding: var(--spacing-8) var(--spacing-12);\n background: var(--bg-surface);\n border-radius: var(--radius-field);\n box-shadow: var(--shadow-md);\n box-sizing: border-box;\n text-align: left;\n}\n.snacky-order-item__top {\n display: flex;\n gap: var(--spacing-8);\n width: 100%;\n}\n.snacky-order-item__thumb-box {\n width: 56px;\n height: 56px;\n flex-shrink: 0;\n border-radius: var(--radius-field);\n /* Literal value from the verified thumbnail frame - distinct from any\n generated surface token. */\n background: #f4f4f5;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n}\n.snacky-order-item__thumb {\n width: 48px;\n height: 48px;\n object-fit: contain;\n}\n.snacky-order-item__info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n.snacky-order-item__status {\n font-family: var(--font-small-semibold-family);\n font-weight: var(--font-small-semibold-weight);\n font-size: var(--font-small-semibold-size);\n line-height: 24px;\n color: var(--text-primary);\n}\n.snacky-order-item__status--cancelled {\n color: var(--text-error);\n}\n.snacky-order-item__name {\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n line-height: 24px;\n color: var(--text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.snacky-order-item__details {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n width: 100%;\n}\n.snacky-order-item__count {\n flex: 1;\n min-width: 0;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n line-height: 24px;\n color: var(--text-secondary);\n}\n.snacky-order-item__total {\n flex: 1;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n line-height: 24px;\n color: var(--text-primary);\n text-align: right;\n white-space: nowrap;\n}\n.snacky-order-item__total b {\n font-weight: var(--font-small-bold-weight);\n letter-spacing: 0.12px;\n}\n.snacky-order-item__total--cod {\n flex: 0 1 auto;\n}\n.snacky-order-item__cod {\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--spacing-8);\n border-radius: var(--radius-field);\n border: 1px solid var(--border-main);\n background: var(--bg-surface);\n font-family: var(--font-small-bold-family);\n font-weight: var(--font-small-bold-weight);\n font-size: var(--font-small-bold-size);\n line-height: 24px;\n letter-spacing: 0.12px;\n color: var(--text-secondary);\n}\n.snacky-order-item__deadline {\n width: 100%;\n background: var(--bg-surface-highlight);\n text-align: center;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n line-height: 24px;\n color: var(--text-primary);\n}\n.snacky-order-item__action-row {\n display: flex;\n justify-content: flex-end;\n width: 100%;\n}\n\n.snacky-notif-item {\n display: flex;\n flex-direction: column;\n gap: 0;\n width: 100%;\n box-sizing: border-box;\n padding: var(--spacing-8) var(--spacing-12);\n background: var(--bg-surface);\n border: 1px solid var(--border-main);\n border-radius: var(--radius-field);\n text-align: left;\n}\n.snacky-notif-item--unread {\n background: var(--bg-surface-highlight);\n}\n.snacky-notif-item__title {\n font-family: var(--font-small-semibold-family);\n font-weight: var(--font-small-semibold-weight);\n font-size: var(--font-small-semibold-size);\n line-height: 24px;\n color: var(--text-primary);\n}\n.snacky-notif-item__message {\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n line-height: 24px;\n color: var(--text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n",".snacky-accordion {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-4);\n width: 100%;\n}\n.snacky-accordion__header {\n display: flex;\n align-items: center;\n gap: var(--gap-text-icon);\n width: 100%;\n padding: var(--spacing-12) var(--spacing-8);\n background: var(--bg-surface);\n border: none;\n border-radius: var(--radius-field);\n box-shadow: var(--shadow-md);\n cursor: pointer;\n text-align: left;\n color: var(--text-primary);\n}\n.snacky-accordion__icon {\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n}\n.snacky-accordion__title {\n flex: 1;\n font-family: var(--font-body-semibold-family);\n font-size: 14px;\n font-weight: var(--font-body-semibold-weight);\n}\n.snacky-accordion--icon .snacky-accordion__title {\n font-family: var(--font-small-semibold-family);\n font-size: var(--font-small-semibold-size);\n font-weight: var(--font-small-semibold-weight);\n}\n.snacky-accordion__chevron {\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n /* Confirmed against Figma: icon-secondary in both open and closed states,\n not inherited text-primary. */\n color: var(--icon-secondary);\n transition: transform 0.15s ease;\n}\n.snacky-accordion__chevron--open {\n transform: rotate(180deg);\n}\n/* Confirmed against Figma (node 8696:6572): the expanded panel is its own\n separate elevated card (own radius-field + shadow-md), not a padding-only\n section merged into the header's card, and there is no bordered variant\n at all - Figma never draws a border on either the icon or no-icon case. */\n.snacky-accordion__panel {\n padding: var(--spacing-12);\n background: var(--bg-surface);\n border-radius: var(--radius-field);\n box-shadow: var(--shadow-md);\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n",".snacky-sheet-overlay {\n position: fixed;\n inset: 0;\n background: var(--bg-overlay-dim);\n display: flex;\n align-items: flex-end;\n justify-content: center;\n z-index: 1000;\n}\n.snacky-sheet {\n width: 100%;\n max-width: 480px;\n max-height: 90vh;\n overflow-y: auto;\n background: var(--bg-surface);\n border-radius: var(--radius-sheet-top) var(--radius-sheet-top) 0 0;\n padding: var(--spacing-24);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--gap-layout-block);\n}\n.snacky-sheet__handle {\n width: 36px;\n height: 4px;\n border-radius: 999px;\n background: var(--color-neutral-200);\n margin: 0 auto var(--spacing-8);\n}\n",".snacky-section {\n width: 100%;\n padding: var(--spacing-16) var(--spacing-24);\n background: var(--bg-surface);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: var(--gap-layout-block);\n}\n.snacky-section__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.snacky-section__title {\n margin: 0;\n font-family: var(--font-h3-bold-family);\n font-size: var(--font-h3-bold-size);\n font-weight: var(--font-h3-bold-weight);\n color: var(--text-primary);\n}\n.snacky-section__action {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n padding: var(--spacing-4);\n border: none;\n border-radius: var(--radius-full);\n background: var(--bg-action-primary);\n /* Re-verified against Figma's actual bound variable on the chevron vector\n (not the icon instance's own unrelated white frame fill, which was\n mistakenly read as the icon color in an earlier pass): text/text-primary,\n #333333 - same rendered color as --text-on-action-primary, which is what\n this originally was, but --text-primary is the variable Figma actually\n binds here. */\n color: var(--text-primary);\n cursor: pointer;\n}\n.snacky-section__action:hover { background: var(--bg-action-primary-hover); }\n",".snacky-avatar {\n display: block;\n border-radius: 999px;\n object-fit: cover;\n flex-shrink: 0;\n}\n.snacky-avatar--sm { width: 32px; height: 32px; }\n.snacky-avatar--md { width: 56px; height: 56px; }\n.snacky-avatar--lg { width: 72px; height: 72px; }\n",".snacky-illustration {\n display: block;\n max-width: 100%;\n height: auto;\n}\n",".snacky-product-image-wrap {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n}\n.snacky-product-image {\n display: block;\n object-fit: contain;\n}\n/* These must match the `usage` prop values verbatim, since the class name is\n built as `--${usage}`. They read `--card`/`--details` before, so the\n product-card and product-details usages, the two most common ones, silently\n matched no rule at all and rendered unsized. */\n.snacky-product-image--product-card,\n.snacky-product-image--product-details {\n width: 100%;\n height: 100%;\n background: transparent;\n}\n.snacky-product-image-wrap--product-card { width: 128px; height: 128px; }\n.snacky-product-image-wrap--product-details { width: 200px; height: 200px; }\n\n.snacky-product-image-wrap--list {\n width: 56px;\n height: 56px;\n padding: var(--spacing-4);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n}\n.snacky-product-image-wrap--review {\n width: 48px;\n height: 48px;\n padding: var(--spacing-4);\n border: 1px solid var(--border-main);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n}\n.snacky-product-image-wrap--variant {\n width: 88px;\n height: 88px;\n padding: var(--spacing-4);\n border: 1px solid var(--border-main);\n border-radius: var(--radius-field);\n box-sizing: border-box;\n}\n.snacky-product-image-wrap--accordion-modal { width: 24px; height: 24px; }\n\n.snacky-product-image-sold-overlay {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba(255, 255, 255, 0.46);\n border-radius: inherit;\n}\n.snacky-product-image-sold-label {\n padding: var(--spacing-12) 7px;\n border-radius: 999px;\n background: rgba(51, 51, 51, 0.8);\n color: var(--text-inverse);\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n}\n",".snacky-product-card {\n position: relative;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-12);\n background: var(--bg-surface);\n text-align: left;\n border: none;\n cursor: pointer;\n font-family: inherit;\n}\n.snacky-product-card--list {\n width: 152px;\n padding: var(--spacing-12) var(--spacing-8);\n border-radius: var(--radius-field);\n box-shadow: var(--shadow-lg);\n}\n.snacky-product-card--details {\n width: 100%;\n padding: var(--spacing-12) 0 var(--spacing-16);\n gap: var(--spacing-8);\n}\n.snacky-product-card__image-wrap {\n position: relative;\n}\n.snacky-product-card--list .snacky-product-card__image-wrap { width: 128px; height: 128px; }\n.snacky-product-card--details .snacky-product-card__image-wrap { width: 200px; height: 200px; margin: 0 auto; }\n.snacky-product-card__image {\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n.snacky-product-card__discount {\n position: absolute;\n top: 0;\n right: 0;\n}\n.snacky-product-card__name {\n margin: 0;\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-primary);\n}\n.snacky-product-card--details .snacky-product-card__name {\n font-size: 14px;\n}\n.snacky-product-card__price-row {\n display: flex;\n align-items: baseline;\n gap: var(--spacing-4);\n}\n.snacky-product-card__price {\n font-family: var(--font-small-bold-family);\n font-weight: var(--font-small-bold-weight);\n color: var(--text-primary);\n}\n.snacky-product-card--details .snacky-product-card__price {\n font-size: 20px;\n font-weight: 700;\n}\n.snacky-product-card__original-price {\n font-family: var(--font-small-bold-family);\n font-weight: var(--font-small-bold-weight);\n font-size: 10px;\n color: var(--text-secondary);\n text-decoration: line-through;\n}\n.snacky-product-card--details .snacky-product-card__original-price {\n font-size: 16px;\n font-weight: 700;\n}\n.snacky-product-card__footer-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--spacing-8);\n}\n.snacky-product-card__rating {\n display: inline-flex;\n align-items: center;\n gap: var(--gap-icon-label);\n font-family: var(--font-small-regular-family);\n font-size: var(--font-small-regular-size);\n color: var(--text-secondary);\n}\n.snacky-product-card__rating-icon {\n width: 16px;\n height: 16px;\n color: var(--color-primary-500);\n}\n.snacky-product-card__actions {\n display: flex;\n gap: var(--gap-cell);\n}\n/* Details page's Favorite/Share/Chat icon buttons use a slightly softer\n shadow than the standard Secondary icon-button elevation. */\n.snacky-product-card__actions--details button {\n box-shadow: 0 4px 4px rgba(0, 0, 0, 0.08);\n}\n"],"mappings":"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","names":[]}
package/dist/index.d.cts CHANGED
@@ -367,12 +367,30 @@ declare function Avatar({ src, alt, size, className }: AvatarProps): react.JSX.E
367
367
  type IllustrationVariant = 'empty' | 'createAccount' | 'welcome' | 'success' | 'discountReferral';
368
368
  interface IllustrationProps {
369
369
  variant: IllustrationVariant;
370
- /** Host your own export of this illustration (this package ships no artwork). */
370
+ /** Your own export of this illustration - this package ships no artwork. */
371
371
  src: string;
372
372
  alt: string;
373
373
  className?: string;
374
374
  }
375
- /** Snacky Illustration - decorative spot illustration for empty states, onboarding, confirmations. */
375
+ /**
376
+ * Snacky Illustration - decorative spot illustration for empty states,
377
+ * onboarding and confirmations.
378
+ *
379
+ * ```tsx
380
+ * <Illustration variant="empty" src="/img/empty.svg" alt="No products found" />
381
+ * ```
382
+ *
383
+ * This ships no artwork, deliberately, and that is the normal split - Material,
384
+ * Radix and Chakra ship none either. What belongs in a design system is the
385
+ * documented canvas size per variant, which is what this owns; the Snacky
386
+ * artwork itself is modified stock and is not ours to redistribute.
387
+ *
388
+ * Export your own at the variant's ratio (SVG preferred) and serve it wherever
389
+ * your app already serves static assets. Open Peeps (openpeeps.com) is CC0 and
390
+ * drops in cleanly; unDraw (undraw.co) is free without attribution but its
391
+ * licence forbids redistributing assets "in packs", so keep it inside your own
392
+ * app. See the package README for the fuller note.
393
+ */
376
394
  declare function Illustration({ variant, src, alt, className }: IllustrationProps): react.JSX.Element;
377
395
 
378
396
  type ProductImageUsage = 'product-card' | 'product-details' | 'list' | 'review' | 'variant' | 'accordion-modal';
@@ -438,102 +456,109 @@ interface IconProps extends SVGProps<SVGSVGElement> {
438
456
  color?: string;
439
457
  }
440
458
 
441
- declare const home$1: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
442
- declare const category$1: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
459
+ declare const account$1: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
460
+ declare const address: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
461
+ declare const back: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
462
+ declare const balance$1: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
463
+ declare const bell$1: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
464
+ declare const calendar: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
465
+ declare const camera: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
443
466
  declare const cart$1: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
444
467
  declare const cartAdd: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
445
- declare const history: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
446
- declare const account: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
447
- declare const eye: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
448
- declare const eyeOff: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
468
+ declare const category$1: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
469
+ declare const chat: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
449
470
  declare const chevronDown: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
450
- declare const chevronUp: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
451
471
  declare const chevronRight: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
452
- declare const back: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
472
+ declare const chevronUp: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
453
473
  declare const close: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
454
- declare const closeCircle: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
455
- declare const calendar: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
456
- declare const search: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
457
- declare const location: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
458
- declare const pin: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
459
- declare const send: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
460
- declare const chat: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
461
- declare const messageSquare: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
474
+ declare const closeInput: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
475
+ declare const creditCard: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
476
+ declare const document: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
477
+ declare const edit: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
478
+ declare const eye: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
479
+ declare const eyeOff: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
462
480
  declare const heart$1: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
463
- declare const bell: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
464
- declare const check: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
465
- declare const plus: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
481
+ declare const help: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
482
+ declare const history$1: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
483
+ declare const home$1: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
484
+ declare const key: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
485
+ declare const lock: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
486
+ declare const logout: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
487
+ declare const map: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
488
+ declare const messageSquare: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
466
489
  declare const minus: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
467
- declare const trash: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
468
- declare const edit: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
469
- declare const share: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
470
- declare const camera: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
471
490
  declare const phone: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
472
- declare const lock: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
473
- declare const document: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
474
- declare const creditCard: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
475
- declare const receipt: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
491
+ declare const plus: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
492
+ declare const referral: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
493
+ declare const search: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
494
+ declare const send: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
495
+ declare const sent: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
496
+ declare const share: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
476
497
  declare const smartphone: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
477
- declare const key: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
478
- declare const help: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
479
- declare const logout: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
480
- declare const truck: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
481
- declare const cash: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
482
- declare const clock: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
498
+ declare const trash: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
499
+ declare const truck$1: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
500
+ declare const unsent: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
483
501
 
484
- declare const outline_account: typeof account;
502
+ declare const outline_address: typeof address;
485
503
  declare const outline_back: typeof back;
486
- declare const outline_bell: typeof bell;
487
504
  declare const outline_calendar: typeof calendar;
488
505
  declare const outline_camera: typeof camera;
489
506
  declare const outline_cartAdd: typeof cartAdd;
490
- declare const outline_cash: typeof cash;
491
507
  declare const outline_chat: typeof chat;
492
- declare const outline_check: typeof check;
493
508
  declare const outline_chevronDown: typeof chevronDown;
494
509
  declare const outline_chevronRight: typeof chevronRight;
495
510
  declare const outline_chevronUp: typeof chevronUp;
496
- declare const outline_clock: typeof clock;
497
511
  declare const outline_close: typeof close;
498
- declare const outline_closeCircle: typeof closeCircle;
512
+ declare const outline_closeInput: typeof closeInput;
499
513
  declare const outline_creditCard: typeof creditCard;
500
514
  declare const outline_document: typeof document;
501
515
  declare const outline_edit: typeof edit;
502
516
  declare const outline_eye: typeof eye;
503
517
  declare const outline_eyeOff: typeof eyeOff;
504
518
  declare const outline_help: typeof help;
505
- declare const outline_history: typeof history;
506
519
  declare const outline_key: typeof key;
507
- declare const outline_location: typeof location;
508
520
  declare const outline_lock: typeof lock;
509
521
  declare const outline_logout: typeof logout;
522
+ declare const outline_map: typeof map;
510
523
  declare const outline_messageSquare: typeof messageSquare;
511
524
  declare const outline_minus: typeof minus;
512
525
  declare const outline_phone: typeof phone;
513
- declare const outline_pin: typeof pin;
514
526
  declare const outline_plus: typeof plus;
515
- declare const outline_receipt: typeof receipt;
527
+ declare const outline_referral: typeof referral;
516
528
  declare const outline_search: typeof search;
517
529
  declare const outline_send: typeof send;
530
+ declare const outline_sent: typeof sent;
518
531
  declare const outline_share: typeof share;
519
532
  declare const outline_smartphone: typeof smartphone;
520
533
  declare const outline_trash: typeof trash;
521
- declare const outline_truck: typeof truck;
534
+ declare const outline_unsent: typeof unsent;
522
535
  declare namespace outline {
523
- export { outline_account as account, outline_back as back, outline_bell as bell, outline_calendar as calendar, outline_camera as camera, cart$1 as cart, outline_cartAdd as cartAdd, outline_cash as cash, category$1 as category, outline_chat as chat, outline_check as check, outline_chevronDown as chevronDown, outline_chevronRight as chevronRight, outline_chevronUp as chevronUp, outline_clock as clock, outline_close as close, outline_closeCircle as closeCircle, outline_creditCard as creditCard, outline_document as document, outline_edit as edit, outline_eye as eye, outline_eyeOff as eyeOff, heart$1 as heart, outline_help as help, outline_history as history, home$1 as home, outline_key as key, outline_location as location, outline_lock as lock, outline_logout as logout, outline_messageSquare as messageSquare, outline_minus as minus, outline_phone as phone, outline_pin as pin, outline_plus as plus, outline_receipt as receipt, outline_search as search, outline_send as send, outline_share as share, outline_smartphone as smartphone, outline_trash as trash, outline_truck as truck };
536
+ export { account$1 as account, outline_address as address, outline_back as back, balance$1 as balance, bell$1 as bell, outline_calendar as calendar, outline_camera as camera, cart$1 as cart, outline_cartAdd as cartAdd, category$1 as category, outline_chat as chat, outline_chevronDown as chevronDown, outline_chevronRight as chevronRight, outline_chevronUp as chevronUp, outline_close as close, outline_closeInput as closeInput, outline_creditCard as creditCard, outline_document as document, outline_edit as edit, outline_eye as eye, outline_eyeOff as eyeOff, heart$1 as heart, outline_help as help, history$1 as history, home$1 as home, outline_key as key, outline_lock as lock, outline_logout as logout, outline_map as map, outline_messageSquare as messageSquare, outline_minus as minus, outline_phone as phone, outline_plus as plus, outline_referral as referral, outline_search as search, outline_send as send, outline_sent as sent, outline_share as share, outline_smartphone as smartphone, outline_trash as trash, truck$1 as truck, outline_unsent as unsent };
524
537
  }
525
538
 
526
- declare const home: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
527
- declare const category: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
539
+ declare const account: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
540
+ declare const balance: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
541
+ declare const bell: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
528
542
  declare const cart: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
543
+ declare const category: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
529
544
  declare const heart: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
545
+ declare const history: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
546
+ declare const home: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
547
+ declare const points: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
548
+ declare const truck: ({ width, height, color, ...rest }: IconProps) => react.JSX.Element;
530
549
 
550
+ declare const solid_account: typeof account;
551
+ declare const solid_balance: typeof balance;
552
+ declare const solid_bell: typeof bell;
531
553
  declare const solid_cart: typeof cart;
532
554
  declare const solid_category: typeof category;
533
555
  declare const solid_heart: typeof heart;
556
+ declare const solid_history: typeof history;
534
557
  declare const solid_home: typeof home;
558
+ declare const solid_points: typeof points;
559
+ declare const solid_truck: typeof truck;
535
560
  declare namespace solid {
536
- export { solid_cart as cart, solid_category as category, solid_heart as heart, solid_home as home };
561
+ export { solid_account as account, solid_balance as balance, solid_bell as bell, solid_cart as cart, solid_category as category, solid_heart as heart, solid_history as history, solid_home as home, solid_points as points, solid_truck as truck };
537
562
  }
538
563
 
539
564
  /** Matches the `<SnackyIcons.outline.home />` / `<SnackyIcons.solid.home />` namespace used throughout the design system's documented code samples. */