@riverbankcms/sdk 0.80.0 → 0.81.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/dist/{PreviewEditorSidebar-QZG37QIF.mjs → PreviewEditorSidebar-RDCMEXIJ.mjs} +763 -255
  2. package/dist/{PreviewEditorUI-AXIKSMZA.mjs → PreviewEditorUI-NYGQ6K7B.mjs} +170 -29
  3. package/dist/SdkPreviewModeRuntime-AKCSCZEC.mjs +8 -0
  4. package/dist/_dts/api/src/contentRuntime.d.ts +12 -0
  5. package/dist/_dts/api/src/contentTypes.d.ts +6 -0
  6. package/dist/_dts/api/src/index.d.ts +2 -2
  7. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +53 -0
  8. package/dist/_dts/block-form/src/backend/store-backend.d.ts +3 -1
  9. package/dist/_dts/block-form/src/backend/types.d.ts +3 -3
  10. package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -0
  11. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +20 -28
  12. package/dist/_dts/blocks/src/index.d.ts +6 -4
  13. package/dist/_dts/blocks/src/primitives/content/components/Text.d.ts +1 -1
  14. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +1 -0
  15. package/dist/_dts/blocks/src/server.d.ts +1 -1
  16. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +3 -2
  17. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +135 -0
  18. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +5 -0
  19. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +2 -0
  20. package/dist/_dts/blocks/src/system/blocks/form.d.ts +20 -1
  21. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +2 -0
  22. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +19 -0
  23. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +134 -0
  24. package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
  25. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  26. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  27. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +13 -3
  28. package/dist/_dts/blocks/src/system/data/index.d.ts +2 -0
  29. package/dist/_dts/blocks/src/system/data/linkedContentEntries.d.ts +64 -0
  30. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +2 -2
  32. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +6 -1
  33. package/dist/_dts/blocks/src/system/fragments/library/faqHeading.d.ts +0 -1
  34. package/dist/_dts/blocks/src/system/media/slotContracts.d.ts +2 -0
  35. package/dist/_dts/blocks/src/system/node/types.d.ts +8 -1
  36. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  37. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  38. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +44 -50
  39. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +21 -24
  40. package/dist/_dts/blocks/src/system/runtime/headingDecoration.d.ts +21 -0
  41. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +45 -14
  42. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -9
  43. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -10
  44. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -0
  45. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +21 -16
  46. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +3 -2
  47. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +21 -16
  48. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +17 -28
  49. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +2 -3
  50. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +3 -3
  51. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +50 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +2 -1
  53. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +29 -14
  54. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +21 -0
  55. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +7 -0
  56. package/dist/_dts/blocks/src/system/transforms/registry/_utils/sectionForegroundStyles.d.ts +2 -0
  57. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +4 -2
  58. package/dist/_dts/calendar/src/grid.d.ts +27 -0
  59. package/dist/_dts/calendar/src/index.d.ts +2 -2
  60. package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +3 -1
  61. package/dist/_dts/content-editor/src/editorTransactionState.d.ts +1 -0
  62. package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +26 -0
  63. package/dist/_dts/content-editor/src/hooks/publishability.d.ts +1 -0
  64. package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +23 -0
  65. package/dist/_dts/content-editor/src/hooks/useReactiveToolbar.d.ts +1 -1
  66. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +2 -2
  67. package/dist/_dts/content-editor/src/index.d.ts +3 -1
  68. package/dist/_dts/content-editor/src/lib/json.d.ts +2 -0
  69. package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +8 -0
  70. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +58 -0
  71. package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +93 -0
  72. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +60 -3
  73. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +2 -0
  74. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
  75. package/dist/_dts/content-model/src/content-types/builtins.d.ts +43 -0
  76. package/dist/_dts/content-model/src/metadataConfig.d.ts +87 -47
  77. package/dist/_dts/core/src/branded.d.ts +5 -0
  78. package/dist/_dts/core/src/index.d.ts +1 -0
  79. package/dist/_dts/core/src/stable-json.d.ts +1 -0
  80. package/dist/_dts/editor/src/EditorProvider.d.ts +26 -0
  81. package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +26 -0
  82. package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +45 -0
  83. package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +25 -0
  84. package/dist/_dts/editor/src/components/EditingToggle.d.ts +9 -0
  85. package/dist/_dts/editor/src/hooks/useEditableElement.d.ts +18 -0
  86. package/dist/_dts/editor/src/index.d.ts +29 -0
  87. package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +1 -0
  88. package/dist/_dts/editor/src/lib/utils.d.ts +1 -0
  89. package/dist/_dts/editor/src/primitives/EditorPrimitivesProvider.d.ts +20 -0
  90. package/dist/_dts/editor/src/primitives/InlineFieldContext.d.ts +11 -0
  91. package/dist/_dts/editor/src/primitives/SaveContext.d.ts +12 -0
  92. package/dist/_dts/editor/src/primitives/helpers.d.ts +1 -0
  93. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +26 -0
  94. package/dist/_dts/editor/src/primitives/rich-text/RichTextToolbar.d.ts +16 -0
  95. package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +23 -0
  96. package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextImage.d.ts +2 -0
  97. package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextLink.d.ts +1 -0
  98. package/dist/_dts/editor/src/primitives/rich-text/imageActions.d.ts +22 -0
  99. package/dist/_dts/editor/src/primitives/rich-text/sanitize.d.ts +23 -0
  100. package/dist/_dts/editor/src/primitives/rich-text/toolbar/BlockTypeDropdown.d.ts +6 -0
  101. package/dist/_dts/editor/src/primitives/rich-text/toolbar/LinkPopover.d.ts +10 -0
  102. package/dist/_dts/editor/src/primitives/rich-text/toolbar/ToolbarIconButton.d.ts +11 -0
  103. package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +58 -0
  104. package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +19 -0
  105. package/dist/_dts/editor/src/primitives/rich-text/utils.d.ts +20 -0
  106. package/dist/_dts/editor/src/utils/optimisticTokens.d.ts +27 -0
  107. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -2
  108. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +3 -3
  109. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +4 -4
  110. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -2
  111. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +15 -0
  112. package/dist/_dts/editor-blocks/src/block-editor/blockHeaderActionPlan.d.ts +49 -0
  113. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  114. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +1 -1
  115. package/dist/_dts/editor-blocks/src/widgets/rich-text/useImagePicker.d.ts +1 -1
  116. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +3 -0
  117. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionWidgetProvider.d.ts +14 -0
  118. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/index.d.ts +6 -0
  119. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +51 -0
  120. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +20 -0
  121. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +5 -0
  122. package/dist/_dts/media-core/src/index.d.ts +1 -0
  123. package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +18 -0
  124. package/dist/_dts/media-editor/src/MediaEditor.d.ts +4 -1
  125. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +2 -1
  126. package/dist/_dts/media-editor/src/index.d.ts +1 -1
  127. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +3 -2
  128. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +5 -1
  129. package/dist/_dts/preview-next/src/client/blocks/blockCustomizePopoverRows.d.ts +25 -0
  130. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -1
  131. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +4 -30
  132. package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +11 -0
  133. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +3 -9
  134. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +2 -1
  135. package/dist/_dts/preview-next/src/client/index.d.ts +0 -1
  136. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -1
  137. package/dist/_dts/preview-next/src/client/preview/LinkedEntryEditEventBridge.d.ts +1 -0
  138. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +3 -1
  139. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +20 -0
  140. package/dist/_dts/preview-next/src/client/preview/PreviewDesignHistoryOrderContext.d.ts +13 -0
  141. package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +1 -1
  142. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +19 -19
  143. package/dist/_dts/preview-next/src/client/preview/PreviewSidebarSection.d.ts +13 -0
  144. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +47 -4
  145. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -1
  146. package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +5 -0
  147. package/dist/_dts/preview-next/src/client/preview/previewChromePlacement.d.ts +46 -0
  148. package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +68 -0
  149. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +8 -1
  150. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +11 -9
  151. package/dist/_dts/preview-next/src/client/preview/previewDesignHistoryOrder.d.ts +18 -0
  152. package/dist/_dts/preview-next/src/client/preview/previewUndoDomains.d.ts +1 -1
  153. package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +41 -0
  154. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +101 -0
  155. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +29 -0
  156. package/dist/_dts/preview-next/src/client/preview/siteStyleHistoryState.d.ts +55 -0
  157. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -0
  158. package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +2 -1
  159. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +3 -2
  160. package/dist/_dts/preview-next/src/constants.d.ts +0 -1
  161. package/dist/_dts/sdk/src/cli/config-loader.d.ts +3 -1
  162. package/dist/_dts/sdk/src/cli/content/reader.d.ts +5 -3
  163. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +1 -0
  164. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +3 -1
  165. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +1 -0
  166. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  167. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  168. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +28 -2
  169. package/dist/_dts/sdk/src/public-api/contracts.d.ts +10 -0
  170. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +42 -0
  171. package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +4 -0
  172. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  173. package/dist/_dts/sdk/src/version.d.ts +1 -1
  174. package/dist/_dts/theme-core/src/buttons/constants.d.ts +26 -1
  175. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  176. package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +22 -0
  177. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -0
  178. package/dist/_dts/theme-core/src/buttons/types.d.ts +9 -0
  179. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +44 -0
  180. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  181. package/dist/_dts/theme-core/src/interactive/types.d.ts +10 -0
  182. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +27 -6
  183. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  184. package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +27 -0
  185. package/dist/_dts/theme-core/src/schema.d.ts +40 -3
  186. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +4 -1
  187. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +87 -31
  188. package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +6 -2
  189. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +87 -31
  190. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +30 -1
  191. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +18 -2
  192. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +6 -2
  193. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +5 -0
  194. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  195. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -23
  196. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +276 -4
  197. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +33 -3
  198. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +508 -0
  199. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +10 -10
  200. package/dist/_dts/theme-core/src/site-styles/types.d.ts +24 -6
  201. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
  202. package/dist/{chunk-7PCYG6YV.mjs → chunk-3PTVPAT4.mjs} +1863 -1099
  203. package/dist/{chunk-5NZGBSJF.mjs → chunk-3QWQ2MUQ.mjs} +469 -1000
  204. package/dist/{chunk-HTB4BMKD.mjs → chunk-3VT7LZY2.mjs} +321 -113
  205. package/dist/{chunk-MPBNEVPB.mjs → chunk-4T5JIPWY.mjs} +1 -1
  206. package/dist/{chunk-BBLZSQEY.mjs → chunk-E3NZYEKF.mjs} +1 -7
  207. package/dist/{chunk-GYXKAUFV.mjs → chunk-WUHKQBB6.mjs} +9509 -2658
  208. package/dist/cli/index.mjs +1347 -324
  209. package/dist/client/{accordion-QFZMNB7O.mjs → accordion-SFIIZWNH.mjs} +2 -2
  210. package/dist/client/{bookingForm-NCIXFWIG.mjs → bookingForm-CFKZVWGA.mjs} +5 -5
  211. package/dist/client/bookings.mjs +281 -19
  212. package/dist/client/{carousel-EO4BJMWD.mjs → carousel-ELXWSBLA.mjs} +3 -3
  213. package/dist/client/{cart-FTYCLYUW.mjs → cart-6SSCPYY5.mjs} +6 -6
  214. package/dist/client/{checkout-NFGLVCOX.mjs → checkout-UFQ34HPV.mjs} +6 -6
  215. package/dist/client/{chunk-6GVVWSPU.mjs → chunk-76JUETXQ.mjs} +139 -186
  216. package/dist/client/{chunk-AUJ5DBZJ.mjs → chunk-7BXX7WXH.mjs} +112 -28
  217. package/dist/client/{chunk-IWFZSQNZ.mjs → chunk-G56BSZAM.mjs} +2 -2
  218. package/dist/client/{chunk-VDS5YFLX.mjs → chunk-IUEDYLFJ.mjs} +1 -1
  219. package/dist/client/{chunk-PYRBIURC.mjs → chunk-NP47RHIX.mjs} +5 -5
  220. package/dist/client/{chunk-PUOELU4O.mjs → chunk-NX6X3GRF.mjs} +330 -80
  221. package/dist/client/{chunk-Y37KDO7P.mjs → chunk-PA2LJH2M.mjs} +2 -2
  222. package/dist/client/{chunk-CE7IBGVW.mjs → chunk-RMWMT3ZD.mjs} +1 -1
  223. package/dist/client/{chunk-4W66ALYT.mjs → chunk-TCJS3NY5.mjs} +1 -1
  224. package/dist/client/{chunk-T6UIP6UZ.mjs → chunk-V6XI4M2Q.mjs} +1 -1
  225. package/dist/client/client.mjs +5924 -3138
  226. package/dist/client/{courseRegistration-2EORROPS.mjs → courseRegistration-HJIISAAG.mjs} +5 -5
  227. package/dist/client/{eventCalendar-WZI4VL6N.mjs → eventCalendar-F6YVUCZR.mjs} +7 -7
  228. package/dist/client/{eventCombined-QCB2TCNL.mjs → eventCombined-B5DSTIOK.mjs} +7 -7
  229. package/dist/client/{eventDetails-TFTATAPH.mjs → eventDetails-SEJDDHQC.mjs} +7 -7
  230. package/dist/client/{eventListing-A2CQEHEQ.mjs → eventListing-TPMWIIBO.mjs} +7 -7
  231. package/dist/client/{eventRegistration-OELPVLUY.mjs → eventRegistration-QU6W2PV6.mjs} +7 -7
  232. package/dist/client/{form-NTIFD6WQ.mjs → form-LVTYNTDE.mjs} +2 -2
  233. package/dist/client/{headerSection-7TBNKCLA.mjs → headerSection-SO3MFC4U.mjs} +54 -13
  234. package/dist/client/hooks.mjs +2266 -1179
  235. package/dist/client/{locationMap-LRLB5A3H.mjs → locationMap-5E5FLAKO.mjs} +2 -2
  236. package/dist/client/{newsletterForm-XI52RZSN.mjs → newsletterForm-GN32JEBQ.mjs} +2 -2
  237. package/dist/client/{productDetail-GSNKBFLY.mjs → productDetail-Q346KSVR.mjs} +6 -6
  238. package/dist/client/{productList-BGCGT4KZ.mjs → productList-DTDMQYGZ.mjs} +6 -6
  239. package/dist/client/rendering/client.mjs +4618 -3318
  240. package/dist/client/rendering/islands.mjs +32 -20
  241. package/dist/client/rendering.mjs +4898 -2108
  242. package/dist/client/{shop-RQHUCLNY.mjs → shop-OFUW7KPN.mjs} +6 -6
  243. package/dist/preview-next/client/runtime.mjs +5 -5
  244. package/dist/preview-next/constants.mjs +0 -2
  245. package/dist/preview-next/index.mjs +0 -2
  246. package/dist/{sdk-runtime-A4LHT2RS.mjs → sdk-runtime-2GIX6I7X.mjs} +6 -6
  247. package/dist/server/components.mjs +4377 -1852
  248. package/dist/server/config-validation.mjs +2283 -1303
  249. package/dist/server/config.mjs +2283 -1303
  250. package/dist/server/data.mjs +2267 -1180
  251. package/dist/server/index.mjs +2 -1
  252. package/dist/server/next.mjs +4394 -1773
  253. package/dist/server/page-converter.mjs +1999 -1015
  254. package/dist/server/prebuild.mjs +1 -1
  255. package/dist/server/rendering/server.mjs +4482 -1857
  256. package/dist/server/rendering.mjs +4484 -1859
  257. package/dist/server/routing.mjs +2302 -1120
  258. package/dist/server/server.mjs +2284 -1197
  259. package/dist/server/theme-bridge.mjs +757 -85
  260. package/dist/server/theme.mjs +69 -4
  261. package/dist/styles/index.css +474 -65
  262. package/package.json +1 -1
  263. package/dist/SdkPreviewModeRuntime-XE5M4UKM.mjs +0 -8
  264. package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +0 -2
  265. package/dist/_dts/preview-next/src/client/preview/previewSurface.d.ts +0 -3
@@ -284,7 +284,9 @@ var buttonBorderSchema = z3.object({
284
284
  var variantShadowSchema = z3.object({
285
285
  elevation: z3.enum(["none", "low", "medium", "high"]),
286
286
  softness: z3.enum(["crisp", "soft", "hard"]).nullable(),
287
- position: z3.enum(["bottom", "bottom-right"]).default("bottom")
287
+ position: z3.enum(["bottom", "bottom-right"]).default("bottom"),
288
+ // Optional palette token for a coloured offset shadow; omit for neutral black.
289
+ colorToken: themeColorTokenSchema.optional()
288
290
  });
289
291
  var variantEffectsSchema = z3.object({
290
292
  base: z3.array(effectApplicationSchema).optional(),
@@ -814,6 +816,65 @@ var inkStamp = defineButtonPersonality({
814
816
  }
815
817
  });
816
818
 
819
+ // ../theme-core/src/buttons/personalities/joy-stamp.ts
820
+ var joyStamp = defineButtonPersonality({
821
+ id: "joy-stamp",
822
+ name: "Joy Stamp",
823
+ description: "Pill buttons with a hard, brand-coloured offset shadow that presses in on hover.",
824
+ tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "organic" },
825
+ buttonSystem: {
826
+ global: {
827
+ cornerStyle: "pill",
828
+ shadow: "high",
829
+ textTransform: "none",
830
+ // Bold display type on the buttons: use the heading font (Bricolage) at
831
+ // 700, matching the mockup's chunky button labels.
832
+ typography: "heading",
833
+ fontWeight: 700,
834
+ borderWidth: 2,
835
+ hoverTransform: "none",
836
+ hoverColor: "none"
837
+ },
838
+ sizes: {
839
+ sm: { padding: "0.625rem 1.25rem", fontSize: "text-sm" },
840
+ md: { padding: "0.875rem 1.75rem", fontSize: "text-base" },
841
+ lg: { padding: "1.125rem 2.25rem", fontSize: "text-lg" },
842
+ xl: { padding: "1.25rem 2.75rem", fontSize: "text-xl" }
843
+ },
844
+ variants: [
845
+ {
846
+ id: "primary",
847
+ name: "Primary",
848
+ enabled: true,
849
+ priority: 1,
850
+ background: { type: "solid", colorToken: "primary" },
851
+ textColorToken: "primaryForeground",
852
+ borderRadius: "rounded-full",
853
+ // Cream stamp shadow under the burnt-orange fill.
854
+ shadow: { elevation: "high", softness: "hard", position: "bottom-right", colorToken: "text" },
855
+ effects: {
856
+ hover: [{ effectId: "press-down" }]
857
+ }
858
+ },
859
+ {
860
+ id: "secondary",
861
+ name: "Secondary",
862
+ enabled: true,
863
+ priority: 2,
864
+ background: { type: "transparent" },
865
+ textColorToken: "text",
866
+ borderRadius: "rounded-full",
867
+ border: { widthClass: "border-2", colorToken: "text" },
868
+ // Brown stamp shadow under the cream outline.
869
+ shadow: { elevation: "high", softness: "hard", position: "bottom-right", colorToken: "secondary" },
870
+ effects: {
871
+ hover: [{ effectId: "press-down" }]
872
+ }
873
+ }
874
+ ]
875
+ }
876
+ });
877
+
817
878
  // ../theme-core/src/buttons/personalities/pebble.ts
818
879
  var pebble = defineButtonPersonality({
819
880
  id: "pebble",
@@ -1087,7 +1148,8 @@ var buttonPersonalities = [
1087
1148
  pebble,
1088
1149
  inkStamp,
1089
1150
  brushedWash,
1090
- showtimePill
1151
+ showtimePill,
1152
+ joyStamp
1091
1153
  ];
1092
1154
  var personalitiesById = new Map(
1093
1155
  buttonPersonalities.map((p) => [p.id, p])
@@ -1873,6 +1935,9 @@ var componentShadowSchema = z14.object({
1873
1935
  });
1874
1936
 
1875
1937
  // ../theme-core/src/site-styles/types.ts
1938
+ function defineExactCatalog() {
1939
+ return (entries) => entries;
1940
+ }
1876
1941
  function asAppearancePresetId(value) {
1877
1942
  return brandNonEmptyString(value, "AppearancePresetId");
1878
1943
  }
@@ -2206,7 +2271,9 @@ var boxBackgroundSchema = z17.object({
2206
2271
  motion: z17.enum(["static", "fixed-frame"]).nullable().optional(),
2207
2272
  overlay: boxBackgroundOverlaySchema.nullable().optional(),
2208
2273
  textColor: tokenOrCssColorValueSchema.nullable().optional(),
2209
- headingColor: tokenOrCssColorValueSchema.nullable().optional()
2274
+ headingColor: tokenOrCssColorValueSchema.nullable().optional(),
2275
+ linkColor: tokenOrCssColorValueSchema.nullable().optional(),
2276
+ supportingColor: tokenOrCssColorValueSchema.nullable().optional()
2210
2277
  });
2211
2278
  var noHeadingDecorationSchema = z17.object({
2212
2279
  family: z17.literal("none")
@@ -2269,7 +2336,8 @@ var cardStylesOverrideSchema = z17.object({
2269
2336
  "editorial-rule",
2270
2337
  "soft-panel",
2271
2338
  "editorial-serif-quote",
2272
- "editorial-open"
2339
+ "editorial-open",
2340
+ "color-blocked"
2273
2341
  ]).nullable().optional(),
2274
2342
  // Which site-style card variant the card adopts (emits a `.card-{id}` class).
2275
2343
  // 'none' is boxless. Driven by the block look via testimonialCardTreatment.
@@ -3159,6 +3227,30 @@ var warmNeutralForest = definePaletteVariant({
3159
3227
  ]
3160
3228
  });
3161
3229
 
3230
+ // ../theme-core/src/palette/variants/warm-dark.ts
3231
+ var warmDarkEmber = definePaletteVariant({
3232
+ id: "warm-dark-ember",
3233
+ name: "Warm Dark \u2014 Ember",
3234
+ description: "Deep clay-brown ground with burnt-orange accent and warm cream text.",
3235
+ tags: { tone: "bold", energy: "vibrant", era: "organic" },
3236
+ mode: "dark",
3237
+ colors: [
3238
+ { name: "primary", hex: "#ce612f" },
3239
+ { name: "secondary", hex: "#894e31" },
3240
+ { name: "accent", hex: "#ce612f" },
3241
+ { name: "success", hex: "#6f8f57" },
3242
+ { name: "warning", hex: "#c98a3c" },
3243
+ { name: "destructive", hex: "#c0492f" },
3244
+ { name: "background", hex: "#4f2415" },
3245
+ { name: "surface", hex: "#5c3320" },
3246
+ { name: "surfaceAlt", hex: "#693a25" },
3247
+ { name: "muted", hex: "#6a3d27" },
3248
+ { name: "text", hex: "#f0e1d0" },
3249
+ { name: "primaryForeground", hex: "#4f2415" },
3250
+ { name: "border", hex: "#894e31" }
3251
+ ]
3252
+ });
3253
+
3162
3254
  // ../theme-core/src/palette/variants/index.ts
3163
3255
  var paletteVariants = [
3164
3256
  // Brand-led family
@@ -3179,7 +3271,9 @@ var paletteVariants = [
3179
3271
  softNaturalSage,
3180
3272
  softNaturalStone,
3181
3273
  softNaturalWatercolor,
3182
- softNaturalLilac
3274
+ softNaturalLilac,
3275
+ // Warm-dark family (dark mode)
3276
+ warmDarkEmber
3183
3277
  ];
3184
3278
  var paletteVariantsById = new Map(
3185
3279
  paletteVariants.map((v) => [v.id, v])
@@ -3460,6 +3554,32 @@ var clarityZenCardSystem = {
3460
3554
  }
3461
3555
  ]
3462
3556
  };
3557
+ var originalJoyCardSystem = {
3558
+ variants: [
3559
+ {
3560
+ id: "default",
3561
+ name: "Default",
3562
+ enabled: true,
3563
+ priority: 1,
3564
+ background: { type: "solid", colorToken: "surface" },
3565
+ foregroundToken: "text",
3566
+ spacing: "comfortable",
3567
+ corners: "rounded",
3568
+ shadow: { elevation: "none", softness: null, position: "bottom" }
3569
+ },
3570
+ {
3571
+ id: "alternative",
3572
+ name: "Statement",
3573
+ enabled: true,
3574
+ priority: 2,
3575
+ background: { type: "solid", colorToken: "primary" },
3576
+ foregroundToken: "primaryForeground",
3577
+ spacing: "comfortable",
3578
+ corners: "rounded",
3579
+ shadow: { elevation: "none", softness: null, position: "bottom" }
3580
+ }
3581
+ ]
3582
+ };
3463
3583
 
3464
3584
  // ../theme-core/src/site-styles/testimonialQuotePresets.ts
3465
3585
  var serifDisplayQuote = {
@@ -3604,7 +3724,7 @@ function baseHeader(theme) {
3604
3724
  navContainer: { type: "none", tint: null, opacity: 0.15 }
3605
3725
  };
3606
3726
  }
3607
- var headerLayoutCatalog = [
3727
+ var headerLayoutCatalog = defineExactCatalog()([
3608
3728
  {
3609
3729
  id: asHeaderLayoutId("classic"),
3610
3730
  label: "Classic",
@@ -3636,11 +3756,11 @@ var headerLayoutCatalog = [
3636
3756
  maxRecommendedNavItems: 5,
3637
3757
  allowedLogoShapes: ["none", "text-only", "horizontal"]
3638
3758
  }
3639
- ];
3759
+ ]);
3640
3760
  function supportedLayouts(ids) {
3641
3761
  return ids.map(asHeaderLayoutId);
3642
3762
  }
3643
- var headerStyleCatalog = [
3763
+ var headerStyleCatalog = defineExactCatalog()([
3644
3764
  {
3645
3765
  id: asHeaderStyleId("minimal"),
3646
3766
  label: "Minimal",
@@ -3795,7 +3915,7 @@ var headerStyleCatalog = [
3795
3915
  navTypography: "heading",
3796
3916
  moods: ["calm", "editorial"]
3797
3917
  }
3798
- ];
3918
+ ]);
3799
3919
  var headerLayoutsById = new Map(
3800
3920
  headerLayoutCatalog.map((layout) => [layout.id, layout])
3801
3921
  );
@@ -3908,7 +4028,7 @@ var headerStyleRepairOrder = /* @__PURE__ */ new Map(
3908
4028
  [asHeaderStyleId("minimal"), headerStyleRepairChain(["minimal"])]
3909
4029
  ]
3910
4030
  );
3911
- var legacyHeaderLookAliases = [
4031
+ var legacyHeaderLookAliases = defineExactCatalog()([
3912
4032
  {
3913
4033
  lookId: asHeaderLookId("clean-base"),
3914
4034
  selection: {
@@ -3965,7 +4085,7 @@ var legacyHeaderLookAliases = [
3965
4085
  styleId: asHeaderStyleId("glass")
3966
4086
  }
3967
4087
  }
3968
- ];
4088
+ ]);
3969
4089
  var legacyHeaderLookAliasesById = new Map(legacyHeaderLookAliases.map((alias) => [alias.lookId, alias]));
3970
4090
  function getHeaderStyle(id) {
3971
4091
  return headerStylesById.get(id) ?? null;
@@ -4119,6 +4239,12 @@ function serifLineHeader(theme) {
4119
4239
  letterSpacing: "wide",
4120
4240
  gradient: false
4121
4241
  },
4242
+ border: {
4243
+ style: "solid",
4244
+ width: "none",
4245
+ position: "none"
4246
+ },
4247
+ shadow: { elevation: "none" },
4122
4248
  ctaTreatment: "outline",
4123
4249
  ctaVariant: resolveHeaderCtaVariant(theme, "outline"),
4124
4250
  ctaGap: "relaxed"
@@ -4243,7 +4369,7 @@ function floatingGlassHeader(theme) {
4243
4369
  }
4244
4370
  };
4245
4371
  }
4246
- var headerLookCatalog = [
4372
+ var headerLookCatalog = defineExactCatalog()([
4247
4373
  {
4248
4374
  id: asHeaderLookId("clean-base"),
4249
4375
  label: "Clean base",
@@ -4361,7 +4487,7 @@ var headerLookCatalog = [
4361
4487
  logoAccommodations: overlayLogoAccommodations,
4362
4488
  compile: floatingGlassHeader
4363
4489
  }
4364
- ];
4490
+ ]);
4365
4491
  var guaranteedFallbackHeaderLookId = asHeaderLookId("clean-base");
4366
4492
  var guaranteedFallbackHeaderLayoutId = asHeaderLayoutId("classic");
4367
4493
  var guaranteedFallbackHeaderStyleId = asHeaderStyleId("minimal");
@@ -4527,7 +4653,7 @@ function editorialColumnsFooter(theme) {
4527
4653
  }
4528
4654
  };
4529
4655
  }
4530
- var footerLookCatalog = [
4656
+ var footerLookCatalog = defineExactCatalog()([
4531
4657
  {
4532
4658
  id: asFooterLookId("footer-muted-grounding"),
4533
4659
  label: "Muted grounding footer",
@@ -4550,7 +4676,7 @@ var footerLookCatalog = [
4550
4676
  allowedContentPresence: ["default-footer", "default-and-blocks"],
4551
4677
  compile: brandTwoBandFooter
4552
4678
  }
4553
- ];
4679
+ ]);
4554
4680
  var footerLooksById = new Map(
4555
4681
  footerLookCatalog.map((look) => [look.id, look])
4556
4682
  );
@@ -4572,7 +4698,7 @@ var generatedDesignOptionCatalog = {
4572
4698
  source: "generated",
4573
4699
  sectionSurfaces: ["base", "muted-band", "accent-band", "brand-depth-band", "hero-image"],
4574
4700
  contentFrames: generatedContentFrames,
4575
- itemSurfaces: ["none", "default", "flat", "outlined", "raised", "inset", "editorial"],
4701
+ itemSurfaces: ["none", "default", "flat", "outlined", "raised", "inset", "editorial", "color-blocked"],
4576
4702
  transitions: ["none", "soft-fade-short", "soft-fade-long"],
4577
4703
  emphases: ["low", "medium", "high"],
4578
4704
  detachedCustom: false
@@ -4584,8 +4710,15 @@ var userDesignOptionCatalog = {
4584
4710
  itemSurfaces: generatedDesignOptionCatalog.itemSurfaces,
4585
4711
  transitions: [
4586
4712
  ...generatedDesignOptionCatalog.transitions,
4713
+ "soft-fade-expansive",
4587
4714
  "wave-edge",
4588
- "angle-edge"
4715
+ "wave-edge-balanced",
4716
+ "wave-edge-gentle",
4717
+ "wave-edge-bold",
4718
+ "wave-edge-drift",
4719
+ "angle-edge",
4720
+ "angle-edge-subtle",
4721
+ "angle-edge-steep"
4589
4722
  ],
4590
4723
  emphases: generatedDesignOptionCatalog.emphases,
4591
4724
  detachedCustom: false
@@ -4766,6 +4899,29 @@ var boldDisplayTypography = {
4766
4899
  },
4767
4900
  scale: "balanced"
4768
4901
  };
4902
+ var originalJoyTypography = {
4903
+ body: {
4904
+ family: "DM Sans, system-ui, sans-serif",
4905
+ size: "md",
4906
+ weight: "regular",
4907
+ lineHeight: "relaxed",
4908
+ letterSpacing: "normal"
4909
+ },
4910
+ headings: {
4911
+ default: {
4912
+ family: "Bricolage Grotesque, system-ui, sans-serif",
4913
+ weight: "bold",
4914
+ lineHeight: "normal",
4915
+ letterSpacing: "tight",
4916
+ italic: null,
4917
+ case: null
4918
+ },
4919
+ h1: { size: "2xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
4920
+ h2: { size: "xl", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null },
4921
+ h3: { size: "lg", weight: "bold", lineHeight: "normal", letterSpacing: "tight", italic: null }
4922
+ },
4923
+ scale: "balanced"
4924
+ };
4769
4925
  var typographyPresets = [
4770
4926
  defineTypographyPreset({
4771
4927
  id: "typography-preset:modern-sans",
@@ -4852,6 +5008,32 @@ var typographyPresets = [
4852
5008
  mobile: { headlineSize: "4xl", subheadlineSize: "xl" }
4853
5009
  }
4854
5010
  }
5011
+ }),
5012
+ defineTypographyPreset({
5013
+ id: "typography-preset:original-joy",
5014
+ name: "Original Joy",
5015
+ description: "Bold Bricolage Grotesque display headings over a clean DM Sans body, editorial and warm.",
5016
+ defaultFonts: { body: "DM Sans, system-ui, sans-serif", heading: "Bricolage Grotesque, system-ui, sans-serif" },
5017
+ recommendedFonts: {
5018
+ body: ["DM Sans", "Inter", "Manrope"],
5019
+ heading: ["Bricolage Grotesque", "Space Grotesk", "Archivo"]
5020
+ },
5021
+ slotPolicies: { body: bodyReadablePolicy, heading: displayHeadingPolicy },
5022
+ typography: originalJoyTypography,
5023
+ heroTypography: {
5024
+ headlineSize: "6xl",
5025
+ headlineLineHeight: "tight",
5026
+ subheadlineSize: "xl",
5027
+ subheadlineLineHeight: "normal",
5028
+ microHeadlineSize: "6xl",
5029
+ microHeadlineLineHeight: "tight",
5030
+ microSubheadlineSize: "lg",
5031
+ microSubheadlineLineHeight: "normal",
5032
+ responsive: {
5033
+ tablet: { headlineSize: "5xl" },
5034
+ mobile: { headlineSize: "4xl", subheadlineSize: "lg" }
5035
+ }
5036
+ }
4855
5037
  })
4856
5038
  ];
4857
5039
  var typographyPresetsById = new Map(
@@ -5905,7 +6087,7 @@ var curatedSiteStyles = [
5905
6087
  "body-text-editorial-intro",
5906
6088
  "schedule-details-brand-depth",
5907
6089
  "testimonials-statement-cards",
5908
- "contact-form-brand-depth-card"
6090
+ "contact-form-panel"
5909
6091
  ],
5910
6092
  recommendedHeaderLookIds: [
5911
6093
  "brand-solid",
@@ -5928,6 +6110,74 @@ var curatedSiteStyles = [
5928
6110
  paletteChoice("brand-led-warm"),
5929
6111
  paletteChoice("high-contrast-ink")
5930
6112
  ]
6113
+ }),
6114
+ defineCuratedSiteStyle({
6115
+ id: "site-style:original-joy",
6116
+ name: "Original Joy",
6117
+ headingDecoration: { family: "organic-squiggle", colorToken: "primary" },
6118
+ description: "Warm, dark, and editorial: deep clay grounds, cream type, and bold burnt-orange accents for soulful community brands.",
6119
+ generationBrief: "Use a deep brown ground with cream text and burnt-orange accents, large display headings, generous spacing, organic rounded shapes, and bold colour-blocked feature sections. Lead with warmth and belonging; calls to action should feel strong but unhurried.",
6120
+ tokenRecipes: {
6121
+ palette: "brand-led",
6122
+ contrast: "maximum",
6123
+ radius: "rounded",
6124
+ shadow: "subtle",
6125
+ typography: "clean-sans",
6126
+ spacing: "airy",
6127
+ motion: "expressive"
6128
+ },
6129
+ compositionBudget: expressiveBudget,
6130
+ typographyPresetChoices: [
6131
+ typographyChoice("typography-preset:original-joy"),
6132
+ typographyChoice("typography-preset:bold-display"),
6133
+ typographyChoice("typography-preset:modern-sans")
6134
+ ],
6135
+ defaultTypographyPresetId: "typography-preset:original-joy",
6136
+ themeOverrides: {
6137
+ accordions: boldBorderedAccordionSystem,
6138
+ // Shared card system: warm rounded brown cards (event + testimonial cards
6139
+ // pick this up automatically) with a burnt-orange statement variant.
6140
+ cards: originalJoyCardSystem,
6141
+ testimonialQuote: accentGlyphQuote,
6142
+ bodyText: {
6143
+ intro: {
6144
+ paragraphSize: "editorial",
6145
+ headingSize: "editorial"
6146
+ }
6147
+ }
6148
+ },
6149
+ // Recommended block looks: the bold colour-blocked feature cards, a calm
6150
+ // band for the events spotlight, and statement testimonial cards.
6151
+ recommendedAppearancePresetIds: [
6152
+ "feature-cards-bold-colors",
6153
+ "offerings-calm-list",
6154
+ "testimonials-statement-cards"
6155
+ ],
6156
+ // Floating, transparent "Clear Split" header (no fill behind the nav links).
6157
+ defaultHeaderSelection: { layoutId: "floating", styleId: "minimal-surface" },
6158
+ recommendedHeaderLayoutChoices: [headerLayoutChoice("floating")],
6159
+ recommendedHeaderStyleChoicesByLayout: {
6160
+ floating: [
6161
+ headerStyleChoice("minimal-surface"),
6162
+ headerStyleChoice("split-glass"),
6163
+ headerStyleChoice("glass")
6164
+ ]
6165
+ },
6166
+ // Legacy bridge only (the real curation is the explicit selection above).
6167
+ // Kept to a reserved-space, non-overlay look on purpose: the split hero
6168
+ // flows below the Clear Split header, so we must NOT trigger the immersive
6169
+ // overlay-hero promotion that looks like `floating-glass` would force.
6170
+ recommendedHeaderLookIds: ["minimal-transparent"],
6171
+ recommendedFooterLookIds: [
6172
+ "site-footer-brand-two-band",
6173
+ "footer-muted-grounding"
6174
+ ],
6175
+ buttonPersonalityChoices: [
6176
+ buttonChoice("joy-stamp"),
6177
+ buttonChoice("ink-stamp"),
6178
+ buttonChoice("showtime-pill")
6179
+ ],
6180
+ paletteVariantChoices: [paletteChoice("warm-dark-ember")]
5931
6181
  })
5932
6182
  ];
5933
6183
  var curatedSiteStylesById = new Map(
@@ -6120,9 +6370,21 @@ var NAV_DROPDOWN_CONTAINER_RAIL_CSS_RULES = [
6120
6370
  ];
6121
6371
 
6122
6372
  // ../theme-core/src/layout/generateLayoutCss.ts
6123
- var waveTransitionMask = svgDataUrl(
6373
+ var classicWaveTransitionMask = svgDataUrl(
6124
6374
  "<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V46C130 55 260 24 420 30C590 36 690 62 860 42C1035 21 1160 47 1305 36C1365 31 1415 33 1440 38V72H0Z' fill='white'/></svg>"
6125
6375
  );
6376
+ var balancedWaveTransitionMask = svgDataUrl(
6377
+ "<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V42C120 24 240 24 360 42C480 60 600 60 720 42C840 24 960 24 1080 42C1200 60 1320 60 1440 42V72H0Z' fill='white'/></svg>"
6378
+ );
6379
+ var gentleWaveTransitionMask = svgDataUrl(
6380
+ "<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V43C180 32 300 32 480 43C660 54 780 54 960 43C1140 32 1260 32 1440 43V72H0Z' fill='white'/></svg>"
6381
+ );
6382
+ var boldWaveTransitionMask = svgDataUrl(
6383
+ "<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V44C90 14 270 14 360 44C450 74 630 74 720 44C810 14 990 14 1080 44C1170 74 1350 74 1440 44V72H0Z' fill='white'/></svg>"
6384
+ );
6385
+ var driftWaveTransitionMask = svgDataUrl(
6386
+ "<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V39C115 31 205 54 340 48C505 41 610 16 760 33C920 51 1015 64 1160 44C1280 27 1375 35 1440 50V72H0Z' fill='white'/></svg>"
6387
+ );
6126
6388
  function svgDataUrl(svg) {
6127
6389
  return `data:image/svg+xml,${encodeURIComponent(svg)}`;
6128
6390
  }
@@ -8475,27 +8737,27 @@ var containerResponsiveThemeCss = `/*
8475
8737
 
8476
8738
  .rb-container-pad-none {
8477
8739
  --rb-card-pad: 0rem;
8478
- padding: var(--rb-card-pad);
8740
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
8479
8741
  }
8480
8742
  .rb-container-pad-compact {
8481
8743
  --rb-card-pad: 1rem;
8482
- padding: var(--rb-card-pad);
8744
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
8483
8745
  }
8484
8746
  .rb-container-pad-cozy {
8485
8747
  --rb-card-pad: 1.5rem;
8486
- padding: var(--rb-card-pad);
8748
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
8487
8749
  }
8488
8750
  .rb-container-pad-medium {
8489
8751
  --rb-card-pad: 1.5rem;
8490
- padding: var(--rb-card-pad);
8752
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
8491
8753
  }
8492
8754
  .rb-container-pad-comfortable {
8493
8755
  --rb-card-pad: 2rem;
8494
- padding: var(--rb-card-pad);
8756
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
8495
8757
  }
8496
8758
  .rb-container-pad-spacious {
8497
8759
  --rb-card-pad: 2.5rem;
8498
- padding: var(--rb-card-pad);
8760
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
8499
8761
  }
8500
8762
 
8501
8763
  @container rb-site (min-width: 640px) {
@@ -8503,23 +8765,23 @@ var containerResponsiveThemeCss = `/*
8503
8765
  @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
8504
8766
  .rb-container-pad-compact {
8505
8767
  --rb-card-pad: 1.5rem;
8506
- padding: var(--rb-card-pad);
8768
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
8507
8769
  }
8508
8770
  .rb-container-pad-cozy {
8509
8771
  --rb-card-pad: 2rem;
8510
- padding: var(--rb-card-pad);
8772
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
8511
8773
  }
8512
8774
  .rb-container-pad-medium {
8513
8775
  --rb-card-pad: 2rem;
8514
- padding: var(--rb-card-pad);
8776
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
8515
8777
  }
8516
8778
  .rb-container-pad-comfortable {
8517
8779
  --rb-card-pad: 2.5rem;
8518
- padding: var(--rb-card-pad);
8780
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
8519
8781
  }
8520
8782
  .rb-container-pad-spacious {
8521
8783
  --rb-card-pad: 3.5rem;
8522
- padding: var(--rb-card-pad);
8784
+ padding: calc(var(--rb-card-pad) + var(--rb-opening-content-clearance, 0px)) var(--rb-card-pad) var(--rb-card-pad);
8523
8785
  }
8524
8786
  }
8525
8787
 
@@ -8696,15 +8958,32 @@ var containerResponsiveThemeCss = `/*
8696
8958
 
8697
8959
  :where(.theme-scope)
8698
8960
  :where([data-site-document-overlay-content='true'])
8699
- :where([data-block]):first-of-type
8961
+ :where([data-page-block-position='first'], [data-page-block-position='only'])
8700
8962
  > :where([data-slot='section'])
8701
- > :where(.rb-container) {
8702
- padding-top: calc(
8963
+ > .rb-container {
8964
+ --rb-opening-content-clearance: calc(
8703
8965
  var(--site-overlay-header-clearance, 0px) +
8704
- var(--site-overlay-opening-content-extra-pad, 0px)
8966
+ var(--site-overlay-opening-content-extra-pad, clamp(1rem, 2vw, 1.75rem))
8705
8967
  );
8706
8968
  }
8707
8969
 
8970
+ :where(.theme-scope)
8971
+ :where([data-site-document-overlay-content='true'])
8972
+ :where([data-page-block-position='first'], [data-page-block-position='only'])
8973
+ > :where([data-slot='section'])
8974
+ > .rb-container:not([class*='rb-container-pad-']) {
8975
+ padding-top: var(--rb-opening-content-clearance, 0px);
8976
+ }
8977
+
8978
+ :where(.theme-scope)
8979
+ :where([data-site-document-overlay-content='true'])
8980
+ :where([data-page-block-position='first'], [data-page-block-position='only'])
8981
+ > :where([data-slot='section'])
8982
+ > .rb-container
8983
+ :where([class*='rb-container-pad-']) {
8984
+ --rb-opening-content-clearance: 0px;
8985
+ }
8986
+
8708
8987
  /* -------------------------------------------------------------------------- */
8709
8988
  /* Header: Mobile nav overlay transitions */
8710
8989
  /* -------------------------------------------------------------------------- */
@@ -8801,7 +9080,7 @@ var containerResponsiveThemeCss = `/*
8801
9080
  border: 1px solid rgb(var(--tb-border) / 0.82);
8802
9081
  background: rgb(var(--tb-surface) / 0.96);
8803
9082
  color: rgb(var(--tb-text));
8804
- box-shadow: 0 10px 28px rgb(var(--tb-neutral-950) / 0.12);
9083
+ box-shadow: none;
8805
9084
  }
8806
9085
 
8807
9086
  /*
@@ -8976,7 +9255,7 @@ var containerResponsiveThemeCss = `/*
8976
9255
 
8977
9256
  /* Neutral prose uses theme text color by default */
8978
9257
  :where(.theme-scope) .rb-prose-neutral {
8979
- color: rgb(var(--tb-text));
9258
+ color: var(--section-text-color, rgb(var(--tb-text)));
8980
9259
  }
8981
9260
 
8982
9261
  :where(.theme-scope) .rb-prose p,
@@ -9009,8 +9288,11 @@ var containerResponsiveThemeCss = `/*
9009
9288
  }
9010
9289
 
9011
9290
  :where(.theme-scope) .rb-prose a {
9012
- /* Global prose link style with theme-level overrides */
9013
- color: var(--rb-prose-link-color, rgb(var(--tb-primary)));
9291
+ --rb-prose-effective-link-color: var(
9292
+ --section-link-color,
9293
+ var(--rb-prose-link-color, rgb(var(--tb-primary)))
9294
+ );
9295
+ color: var(--rb-prose-effective-link-color);
9014
9296
  text-decoration-line: var(--rb-prose-link-decoration-line, underline);
9015
9297
  text-decoration-style: var(--rb-prose-link-underline-style, solid);
9016
9298
  text-decoration-thickness: var(
@@ -9019,8 +9301,15 @@ var containerResponsiveThemeCss = `/*
9019
9301
  );
9020
9302
  text-underline-offset: var(--rb-prose-link-underline-offset, 0.14em);
9021
9303
  text-decoration-color: var(
9022
- --rb-prose-link-decoration-color,
9023
- rgba(var(--tb-primary), 0.3)
9304
+ --section-link-decoration-color,
9305
+ var(
9306
+ --rb-prose-link-decoration-color,
9307
+ color-mix(
9308
+ in srgb,
9309
+ var(--rb-prose-effective-link-color) 35%,
9310
+ transparent
9311
+ )
9312
+ )
9024
9313
  );
9025
9314
  transition:
9026
9315
  color 150ms ease,
@@ -9030,20 +9319,20 @@ var containerResponsiveThemeCss = `/*
9030
9319
  :where(.theme-scope) .rb-prose a:hover {
9031
9320
  color: var(
9032
9321
  --rb-prose-link-hover-color,
9033
- var(--rb-prose-link-color, rgb(var(--tb-primary)))
9322
+ var(--rb-prose-effective-link-color)
9034
9323
  );
9035
9324
  text-decoration-color: var(
9036
9325
  --rb-prose-link-hover-decoration-color,
9037
9326
  var(
9038
9327
  --rb-prose-link-hover-color,
9039
- var(--rb-prose-link-color, rgb(var(--tb-primary)))
9328
+ var(--rb-prose-effective-link-color)
9040
9329
  )
9041
9330
  );
9042
9331
  }
9043
9332
 
9044
9333
  :where(.theme-scope) .rb-prose blockquote {
9045
9334
  /* Blockquotes use muted text color */
9046
- color: rgb(var(--tb-mutedText));
9335
+ color: var(--section-supporting-color, rgb(var(--tb-mutedText)));
9047
9336
  border-left-color: rgb(var(--tb-border));
9048
9337
  }
9049
9338
 
@@ -9680,6 +9969,13 @@ var containerResponsiveThemeCss = `/*
9680
9969
  transition: padding 300ms var(--motion-ease, ease);
9681
9970
  }
9682
9971
 
9972
+ :where(.theme-scope)
9973
+ .header-variant-classic
9974
+ .rb-header-layout:has(.header-logo-accommodation-popout-badge) {
9975
+ padding-top: 0.5rem;
9976
+ padding-bottom: 0.5rem;
9977
+ }
9978
+
9683
9979
  /* Vertical variants need more breathing room
9684
9980
  Note: header-variant-* is on Section (ancestor), rb-header-layout on inner div */
9685
9981
  :where(.theme-scope) .header-variant-centered .rb-header-layout {
@@ -9773,17 +10069,46 @@ var containerResponsiveThemeCss = `/*
9773
10069
  background: var(--color-surface, #fff);
9774
10070
  box-shadow: var(--shadow-sm, 0 1px 2px rgb(0 0 0 / 0.08));
9775
10071
  padding: 0.5rem;
10072
+ transition:
10073
+ margin 300ms var(--motion-ease, ease),
10074
+ padding 300ms var(--motion-ease, ease);
9776
10075
  }
9777
10076
 
9778
10077
  :where(.theme-scope) .header-logo-accommodation-popout-badge {
9779
10078
  position: relative;
9780
10079
  z-index: 1;
9781
- margin-block: -0.35rem -0.9rem;
10080
+ margin-block: 0 -1.25rem;
9782
10081
  }
9783
10082
 
9784
10083
  :where(.theme-scope)
9785
10084
  .header-logo-size-display.header-logo-accommodation-popout-badge {
9786
- margin-block: -0.75rem -2rem;
10085
+ margin-block: 0 -4rem;
10086
+ }
10087
+
10088
+ :where(.theme-scope)
10089
+ .rb-header-shrink.header-scrolled.header-variant-classic
10090
+ .header-logo-size-display.header-logo-accommodation-plate,
10091
+ :where(.theme-scope)
10092
+ .rb-header-shrink.header-scrolled.header-variant-classic
10093
+ .header-logo-size-display.header-logo-accommodation-popout-badge,
10094
+ :where(.theme-scope)
10095
+ .rb-header-shrink.header-scrolled.header-variant-classic
10096
+ .header-logo-size-display.header-logo-accommodation-centered-masthead,
10097
+ :where(.theme-scope)
10098
+ .rb-header-shrink.header-scrolled.header-variant-centered
10099
+ .header-logo-size-display.header-logo-accommodation-centered-badge,
10100
+ :where(.theme-scope)
10101
+ .rb-header-shrink.header-scrolled.header-variant-centered
10102
+ .header-logo-size-display.header-logo-accommodation-centered-masthead {
10103
+ position: relative;
10104
+ z-index: 1;
10105
+ margin-block: 0 -2.75rem;
10106
+ }
10107
+
10108
+ :where(.theme-scope)
10109
+ .rb-header-shrink.header-scrolled.header-variant-centered
10110
+ .rb-header-layout {
10111
+ gap: 0.75rem;
9787
10112
  }
9788
10113
 
9789
10114
  :where(.theme-scope) .header-logo-accommodation-centered-masthead {
@@ -9844,7 +10169,7 @@ var containerResponsiveThemeCss = `/*
9844
10169
  :where(.theme-scope)
9845
10170
  .rb-header-shrink.header-scrolled
9846
10171
  .header-logo-size-display.rb-header-logo-lg {
9847
- height: 5rem;
10172
+ height: 3.75rem;
9848
10173
  }
9849
10174
  :where(.theme-scope) .rb-header-shrink.header-scrolled .header-logo-text {
9850
10175
  font-size: 0.875rem;
@@ -9862,10 +10187,39 @@ var containerResponsiveThemeCss = `/*
9862
10187
  height: 5.5rem;
9863
10188
  }
9864
10189
 
10190
+ :where(.theme-scope)
10191
+ .rb-header-shrink.header-scrolled
10192
+ .header-logo-size-display.rb-header-logo-sm,
10193
+ :where(.theme-scope)
10194
+ .rb-header-shrink.header-scrolled
10195
+ .header-logo-size-display.rb-header-logo-lg {
10196
+ height: 3.5rem;
10197
+ }
10198
+
9865
10199
  :where(.theme-scope) .header-logo-accommodation-popout-badge {
9866
10200
  margin-block: 0;
9867
10201
  }
9868
10202
 
10203
+ :where(.theme-scope)
10204
+ .rb-header-shrink.header-scrolled
10205
+ .header-logo-size-display.header-logo-accommodation-plate,
10206
+ :where(.theme-scope)
10207
+ .rb-header-shrink.header-scrolled
10208
+ .header-logo-size-display.header-logo-accommodation-popout-badge,
10209
+ :where(.theme-scope)
10210
+ .rb-header-shrink.header-scrolled
10211
+ .header-logo-size-display.header-logo-accommodation-centered-masthead,
10212
+ :where(.theme-scope)
10213
+ .rb-header-shrink.header-scrolled
10214
+ .header-logo-size-display.header-logo-accommodation-centered-badge,
10215
+ :where(.theme-scope)
10216
+ .rb-header-shrink.header-scrolled
10217
+ .header-logo-size-display.header-logo-accommodation-centered-masthead {
10218
+ position: relative;
10219
+ z-index: 1;
10220
+ margin-block: 0 -2.75rem;
10221
+ }
10222
+
9869
10223
  :where(.theme-scope) .rb-header-shrink.header-scrolled .header-logo-text {
9870
10224
  font-size: 0.75rem;
9871
10225
  }
@@ -13142,7 +13496,7 @@ var containerResponsiveThemeCss = `/*
13142
13496
  /* Subheadline - supporting text below headline */
13143
13497
  :where(.theme-scope) :where([data-block="hero"]) .hero-subheadline {
13144
13498
  font-size: 1.125rem;
13145
- color: var(--section-text-color, rgb(var(--tb-text)));
13499
+ color: var(--section-supporting-color, var(--section-text-color, rgb(var(--tb-text))));
13146
13500
  }
13147
13501
 
13148
13502
  @container rb-site (min-width: 640px) {
@@ -13233,7 +13587,7 @@ var containerResponsiveThemeCss = `/*
13233
13587
 
13234
13588
  /* CTA content/body text */
13235
13589
  :where(.theme-scope) :where([data-block="cta-full"]) .cta-content {
13236
- color: rgb(var(--tb-mutedText));
13590
+ color: var(--section-supporting-color, rgb(var(--tb-mutedText)));
13237
13591
  }
13238
13592
 
13239
13593
  /* CTA button row container */
@@ -13333,7 +13687,7 @@ var containerResponsiveThemeCss = `/*
13333
13687
  /* Form intro text */
13334
13688
  :where(.theme-scope) :where([data-block="form"]) .form-copy-intro {
13335
13689
  font-size: 1rem;
13336
- color: rgb(var(--tb-text));
13690
+ color: var(--section-text-color, rgb(var(--tb-text)));
13337
13691
  }
13338
13692
 
13339
13693
  /* =============================================================================
@@ -15876,7 +16230,7 @@ var containerResponsiveThemeCss = `/*
15876
16230
 
15877
16231
  :where(.theme-scope) :where([data-block="newsletter-signup"]) .newsletter-copy-subtitle {
15878
16232
  font-size: 1rem;
15879
- color: rgb(var(--tb-text));
16233
+ color: var(--section-text-color, rgb(var(--tb-text)));
15880
16234
  opacity: 0.85;
15881
16235
  }
15882
16236
 
@@ -15924,7 +16278,7 @@ var containerResponsiveThemeCss = `/*
15924
16278
  :where(.theme-scope) .newsletter-privacy-note {
15925
16279
  margin-top: 0.75rem;
15926
16280
  font-size: 0.75rem;
15927
- color: rgb(var(--tb-muted-text));
16281
+ color: var(--section-supporting-color, rgb(var(--tb-mutedText)));
15928
16282
  text-align: center;
15929
16283
  }
15930
16284
 
@@ -16191,10 +16545,16 @@ var containerResponsiveThemeCss = `/*
16191
16545
  rgb(var(--tb-border, 229 231 235)),
16192
16546
  rgb(var(--tb-text, 17 24 39)) 4%
16193
16547
  );
16548
+ --event-compact-secondary-text: color-mix(
16549
+ in oklab,
16550
+ rgb(var(--tb-text, 17 24 39)),
16551
+ rgb(var(--tb-background, 255 255 255)) 28%
16552
+ );
16194
16553
 
16195
16554
  width: min(100%, 92rem);
16196
16555
  margin-inline: auto;
16197
16556
  overflow: hidden;
16557
+ container: event-compact-list / inline-size;
16198
16558
  border: 1px solid var(--event-compact-divider-color);
16199
16559
  border-radius: 1rem;
16200
16560
  background: rgb(var(--tb-background, 255 255 255));
@@ -16211,10 +16571,10 @@ var containerResponsiveThemeCss = `/*
16211
16571
 
16212
16572
  :where(.theme-scope) .event-compact-row {
16213
16573
  display: grid;
16214
- grid-template-columns: clamp(5rem, 7vw, 7rem) minmax(0, 1fr) clamp(15rem, 24vw, 21rem);
16574
+ grid-template-columns: clamp(4.5rem, 6vw, 6.25rem) minmax(0, 1fr);
16215
16575
  align-items: center;
16216
- min-height: 6.75rem;
16217
- padding: 1.35rem clamp(1.5rem, 3vw, 2.6rem);
16576
+ min-height: 6rem;
16577
+ padding: 1rem clamp(1.25rem, 2.6vw, 2.25rem);
16218
16578
  border-bottom: 1px solid var(--event-compact-divider-color);
16219
16579
  transition: background-color 150ms ease;
16220
16580
  }
@@ -16231,13 +16591,21 @@ var containerResponsiveThemeCss = `/*
16231
16591
  display: grid;
16232
16592
  grid-template-rows: 1rem minmax(2.7rem, auto) 1rem;
16233
16593
  place-items: center;
16234
- gap: 0.35rem;
16594
+ gap: 0;
16235
16595
  min-width: 0;
16236
- padding-right: clamp(1rem, 2vw, 1.75rem);
16596
+ padding-right: clamp(0.8rem, 1.6vw, 1.35rem);
16237
16597
  text-align: center;
16238
16598
  text-decoration: none;
16239
16599
  }
16240
16600
 
16601
+ :where(.theme-scope) .event-compact-row-body {
16602
+ min-width: 0;
16603
+ display: flex;
16604
+ align-items: center;
16605
+ height: 100%;
16606
+ border-left: 1px solid var(--event-compact-divider-color);
16607
+ }
16608
+
16241
16609
  :where(.theme-scope) .event-compact-row-date-weekday,
16242
16610
  :where(.theme-scope) .event-compact-row-date-month {
16243
16611
  display: grid;
@@ -16264,20 +16632,19 @@ var containerResponsiveThemeCss = `/*
16264
16632
  :where(.theme-scope) .event-compact-row-content {
16265
16633
  min-width: 0;
16266
16634
  display: flex;
16635
+ flex: 1 1 18rem;
16267
16636
  flex-direction: column;
16268
- gap: 1rem;
16637
+ gap: 0.625rem;
16269
16638
  height: 100%;
16270
16639
  justify-content: center;
16271
- padding-inline: clamp(1.4rem, 3vw, 3.2rem);
16272
- border-left: 1px solid var(--event-compact-divider-color);
16640
+ padding-inline: clamp(1rem, 2.4vw, 2.4rem);
16273
16641
  }
16274
16642
 
16275
16643
  :where(.theme-scope) .event-compact-row-title {
16276
16644
  margin: 0;
16277
16645
  color: rgb(var(--tb-text, 17 24 39));
16278
16646
  font-family: var(--font-heading, var(--font-body, inherit));
16279
- /* Row titles sit at the theme's h3 scale so section headings stay dominant */
16280
- font-size: var(--fs-h3-fluid, clamp(1.1rem, 1rem + 0.7vw, 1.5rem));
16647
+ font-size: clamp(1.05rem, 1rem + 0.35vw, 1.3rem);
16281
16648
  font-weight: 400;
16282
16649
  line-height: 1.2;
16283
16650
  overflow: hidden;
@@ -16290,8 +16657,8 @@ var containerResponsiveThemeCss = `/*
16290
16657
  align-items: center;
16291
16658
  gap: 0.9rem;
16292
16659
  min-width: 0;
16293
- color: rgb(var(--tb-text, 17 24 39));
16294
- font-size: clamp(0.9375rem, 1.4vw, 1.0625rem);
16660
+ color: var(--event-compact-secondary-text);
16661
+ font-size: 0.875rem;
16295
16662
  line-height: 1.35;
16296
16663
  }
16297
16664
 
@@ -16324,16 +16691,17 @@ var containerResponsiveThemeCss = `/*
16324
16691
  }
16325
16692
 
16326
16693
  :where(.theme-scope) .event-compact-row-price {
16327
- color: rgb(var(--tb-secondary, var(--tb-primary, 0 0 0)));
16328
- font-weight: 600;
16694
+ color: inherit;
16695
+ font-weight: inherit;
16329
16696
  }
16330
16697
 
16331
16698
  :where(.theme-scope) .event-compact-row-action {
16332
16699
  display: grid;
16700
+ flex: 0 1 clamp(14rem, 22vw, 19rem);
16333
16701
  align-content: center;
16334
- gap: 1rem;
16702
+ gap: 0.75rem;
16335
16703
  height: 100%;
16336
- padding-left: clamp(1.5rem, 3vw, 3.2rem);
16704
+ padding-left: clamp(1.1rem, 2.4vw, 2.4rem);
16337
16705
  border-left: 1px solid var(--event-compact-divider-color);
16338
16706
  }
16339
16707
 
@@ -16341,8 +16709,8 @@ var containerResponsiveThemeCss = `/*
16341
16709
  display: inline-flex;
16342
16710
  align-items: center;
16343
16711
  gap: 0.65rem;
16344
- color: rgb(var(--tb-text, 17 24 39));
16345
- font-size: clamp(0.9375rem, 1.45vw, 1.0625rem);
16712
+ color: var(--event-compact-secondary-text);
16713
+ font-size: 0.875rem;
16346
16714
  line-height: 1.3;
16347
16715
  white-space: nowrap;
16348
16716
  }
@@ -16353,6 +16721,10 @@ var containerResponsiveThemeCss = `/*
16353
16721
  flex-shrink: 0;
16354
16722
  }
16355
16723
 
16724
+ :where(.theme-scope) .event-compact-row-action-price {
16725
+ display: none;
16726
+ }
16727
+
16356
16728
  :where(.theme-scope) .event-compact-row-status {
16357
16729
  color: rgb(var(--tb-muted, var(--tb-text, 17 24 39)));
16358
16730
  font-weight: 500;
@@ -16381,56 +16753,217 @@ var containerResponsiveThemeCss = `/*
16381
16753
  }
16382
16754
 
16383
16755
  :where(.theme-scope) .event-compact-row {
16384
- grid-template-columns: 4.75rem minmax(0, 1fr);
16756
+ grid-template-columns: 4.25rem minmax(0, 1fr);
16385
16757
  min-height: 0;
16386
- padding: 1.25rem;
16387
- row-gap: 1.1rem;
16758
+ padding: 1rem;
16759
+ row-gap: 0.85rem;
16388
16760
  }
16389
16761
 
16390
16762
  :where(.theme-scope) .event-compact-row-date {
16391
- padding-right: 0.9rem;
16763
+ align-self: start;
16764
+ grid-row: 1;
16765
+ padding-right: 0.75rem;
16766
+ }
16767
+
16768
+ :where(.theme-scope) .event-compact-row-body {
16769
+ flex-direction: column;
16770
+ align-items: stretch;
16771
+ gap: 0.85rem;
16772
+ height: auto;
16773
+ padding-left: 0.9rem;
16392
16774
  }
16393
16775
 
16394
16776
  :where(.theme-scope) .event-compact-row-date-day {
16395
- font-size: 1.85rem;
16777
+ font-size: 1.65rem;
16396
16778
  }
16397
16779
 
16398
16780
  :where(.theme-scope) .event-compact-row-content {
16399
- gap: 0.75rem;
16400
- padding-left: 1.1rem;
16401
- padding-right: 0;
16781
+ flex: none;
16782
+ gap: 0.625rem;
16783
+ height: auto;
16784
+ padding-inline: 0;
16402
16785
  }
16403
16786
 
16404
16787
  :where(.theme-scope) .event-compact-row-title {
16405
- font-size: clamp(1.15rem, 5vw, 1.35rem);
16788
+ font-size: 1.15rem;
16789
+ overflow: visible;
16790
+ text-overflow: clip;
16406
16791
  white-space: normal;
16792
+ overflow-wrap: break-word;
16793
+ }
16794
+
16795
+ :where(.theme-scope) .event-compact-row-venue {
16796
+ max-width: 100%;
16797
+ }
16798
+
16799
+ :where(.theme-scope) .event-compact-row-venue svg {
16800
+ flex-shrink: 0;
16407
16801
  }
16408
16802
 
16409
16803
  :where(.theme-scope) .event-compact-row-meta {
16804
+ flex-direction: column;
16805
+ align-items: flex-start;
16410
16806
  flex-wrap: wrap;
16411
- gap: 0.5rem 0.8rem;
16807
+ gap: 0.35rem;
16808
+ }
16809
+
16810
+ :where(.theme-scope) .event-compact-row-meta .event-compact-row-price {
16811
+ display: none;
16812
+ }
16813
+
16814
+ :where(.theme-scope) .event-compact-row-teacher::before,
16815
+ :where(.theme-scope) .event-compact-row-price::before {
16816
+ content: none;
16412
16817
  }
16413
16818
 
16414
16819
  :where(.theme-scope) .event-compact-row-action {
16415
- grid-column: 1 / -1;
16820
+ flex: none;
16416
16821
  grid-template-columns: minmax(0, 1fr);
16417
- gap: 0.85rem;
16822
+ gap: 0.7rem;
16823
+ height: auto;
16824
+ width: 100%;
16418
16825
  padding-left: 0;
16419
- padding-top: 1rem;
16420
- border-left: none;
16421
- border-top: 1px solid var(--event-compact-divider-color);
16826
+ padding-top: 0;
16827
+ border-left: 0;
16828
+ border-top: 0;
16422
16829
  }
16423
16830
 
16424
16831
  :where(.theme-scope) .event-compact-row-datetime {
16832
+ display: flex;
16833
+ flex-wrap: wrap;
16425
16834
  white-space: normal;
16426
16835
  }
16427
16836
 
16837
+ :where(.theme-scope) .event-compact-row-action-price {
16838
+ display: inline-flex;
16839
+ align-items: center;
16840
+ gap: 0.55rem;
16841
+ }
16842
+
16843
+ :where(.theme-scope) .event-compact-row-action-price::before {
16844
+ content: "\\00b7";
16845
+ }
16846
+
16428
16847
  :where(.theme-scope) .event-compact-row-cta {
16429
- width: 100%;
16848
+ width: min(100%, 12rem);
16849
+ min-height: 2.65rem;
16850
+ justify-content: space-between;
16851
+ gap: 0.65rem;
16852
+ padding-inline: 1rem;
16853
+ }
16854
+
16855
+ :where(.theme-scope) .event-compact-row-cta span {
16856
+ min-width: 0;
16430
16857
  }
16431
16858
  }
16432
16859
  }
16433
16860
 
16861
+ @container event-compact-list (max-width: 48rem) {
16862
+ :where(.theme-scope) .event-compact-row {
16863
+ grid-template-columns: 4.25rem minmax(0, 1fr);
16864
+ min-height: 0;
16865
+ padding: 1rem;
16866
+ row-gap: 0.85rem;
16867
+ }
16868
+
16869
+ :where(.theme-scope) .event-compact-row-date {
16870
+ align-self: start;
16871
+ grid-row: 1;
16872
+ padding-right: 0.75rem;
16873
+ }
16874
+
16875
+ :where(.theme-scope) .event-compact-row-body {
16876
+ flex-direction: column;
16877
+ align-items: stretch;
16878
+ gap: 0.85rem;
16879
+ height: auto;
16880
+ padding-left: 0.9rem;
16881
+ }
16882
+
16883
+ :where(.theme-scope) .event-compact-row-date-day {
16884
+ font-size: 1.65rem;
16885
+ }
16886
+
16887
+ :where(.theme-scope) .event-compact-row-content {
16888
+ flex: none;
16889
+ gap: 0.625rem;
16890
+ height: auto;
16891
+ padding-inline: 0;
16892
+ }
16893
+
16894
+ :where(.theme-scope) .event-compact-row-title {
16895
+ font-size: 1.15rem;
16896
+ overflow: visible;
16897
+ text-overflow: clip;
16898
+ white-space: normal;
16899
+ overflow-wrap: break-word;
16900
+ }
16901
+
16902
+ :where(.theme-scope) .event-compact-row-venue {
16903
+ max-width: 100%;
16904
+ }
16905
+
16906
+ :where(.theme-scope) .event-compact-row-venue svg {
16907
+ flex-shrink: 0;
16908
+ }
16909
+
16910
+ :where(.theme-scope) .event-compact-row-meta {
16911
+ flex-direction: column;
16912
+ align-items: flex-start;
16913
+ flex-wrap: wrap;
16914
+ gap: 0.35rem;
16915
+ }
16916
+
16917
+ :where(.theme-scope) .event-compact-row-meta .event-compact-row-price {
16918
+ display: none;
16919
+ }
16920
+
16921
+ :where(.theme-scope) .event-compact-row-teacher::before,
16922
+ :where(.theme-scope) .event-compact-row-price::before {
16923
+ content: none;
16924
+ }
16925
+
16926
+ :where(.theme-scope) .event-compact-row-action {
16927
+ flex: none;
16928
+ grid-template-columns: minmax(0, 1fr);
16929
+ gap: 0.7rem;
16930
+ height: auto;
16931
+ width: 100%;
16932
+ padding-left: 0;
16933
+ padding-top: 0;
16934
+ border-left: 0;
16935
+ border-top: 0;
16936
+ }
16937
+
16938
+ :where(.theme-scope) .event-compact-row-datetime {
16939
+ display: flex;
16940
+ flex-wrap: wrap;
16941
+ white-space: normal;
16942
+ }
16943
+
16944
+ :where(.theme-scope) .event-compact-row-action-price {
16945
+ display: inline-flex;
16946
+ align-items: center;
16947
+ gap: 0.55rem;
16948
+ }
16949
+
16950
+ :where(.theme-scope) .event-compact-row-action-price::before {
16951
+ content: "\\00b7";
16952
+ }
16953
+
16954
+ :where(.theme-scope) .event-compact-row-cta {
16955
+ width: min(100%, 12rem);
16956
+ min-height: 2.65rem;
16957
+ justify-content: space-between;
16958
+ gap: 0.65rem;
16959
+ padding-inline: 1rem;
16960
+ }
16961
+
16962
+ :where(.theme-scope) .event-compact-row-cta span {
16963
+ min-width: 0;
16964
+ }
16965
+ }
16966
+
16434
16967
  :where(.theme-scope) .section-state__callout {
16435
16968
  text-align: center;
16436
16969
  padding: 2rem;
@@ -16490,15 +17023,23 @@ var containerResponsiveThemeCss = `/*
16490
17023
  * is what carries the alignment, and the inline-block mark follows it. Alignment
16491
17024
  * is never configured directly; it follows the heading.
16492
17025
  */
17026
+ :where(.theme-scope) .rb-heading-decoration-group {
17027
+ display: flex;
17028
+ flex-direction: column;
17029
+ gap: 0;
17030
+ }
17031
+
16493
17032
  :where(.theme-scope) .rb-heading-decoration-row {
16494
17033
  display: block;
16495
17034
  width: 100%;
16496
17035
  margin-top: 0.35rem;
17036
+ line-height: 0;
16497
17037
  pointer-events: none;
16498
17038
  }
16499
17039
 
16500
17040
  :where(.theme-scope) .rb-heading-decoration {
16501
17041
  display: inline-block;
17042
+ vertical-align: top;
16502
17043
  }
16503
17044
 
16504
17045
  :where(.theme-scope) .rb-heading-decoration-organic-squiggle {
@@ -16596,6 +17137,47 @@ var containerResponsiveThemeCss = `/*
16596
17137
  height: 1.5rem;
16597
17138
  }
16598
17139
 
17140
+ /* --- Card marker mode (icons / numbers / none) -----------------------------
17141
+ *
17142
+ * The icon zone and the number zone both sit in the DOM; the grid's
17143
+ * \`data-card-marker\` attribute decides which shows. The default (legacy
17144
+ * content with no attribute) shows icons and hides the number zone.
17145
+ */
17146
+ :where(.theme-scope) .rb-feature-card-number-zone {
17147
+ display: none; /* shown only in numbers mode */
17148
+ align-items: center;
17149
+ justify-content: center;
17150
+ flex: 0 0 auto;
17151
+ width: 2.5rem;
17152
+ height: 2.5rem;
17153
+ margin-bottom: 0.125rem;
17154
+ border-radius: var(--rb-block-radius, 0.75rem);
17155
+ background-color: rgb(var(--tb-primary) / 10%);
17156
+ color: rgb(var(--tb-primary));
17157
+ counter-increment: rb-feature-card-number;
17158
+ }
17159
+ :where(.theme-scope) .rb-feature-card-number-zone::before {
17160
+ content: counter(rb-feature-card-number, decimal-leading-zero);
17161
+ font-weight: 700;
17162
+ font-size: 0.95rem;
17163
+ line-height: 1;
17164
+ }
17165
+
17166
+ :where(.theme-scope) .rb-feature-cards-grid {
17167
+ counter-reset: rb-feature-card-number;
17168
+ }
17169
+
17170
+ :where(.theme-scope) [data-card-marker="numbers"] .rb-feature-card-number-zone {
17171
+ display: inline-flex;
17172
+ }
17173
+ :where(.theme-scope) [data-card-marker="numbers"] .rb-feature-card-icon-zone {
17174
+ display: none;
17175
+ }
17176
+ :where(.theme-scope) [data-card-marker="none"] .rb-feature-card-icon-zone,
17177
+ :where(.theme-scope) [data-card-marker="none"] .rb-feature-card-number-zone {
17178
+ display: none;
17179
+ }
17180
+
16599
17181
  /* =============================================================================
16600
17182
  * Shared: Card treatments
16601
17183
  *
@@ -16684,6 +17266,96 @@ var containerResponsiveThemeCss = `/*
16684
17266
 
16685
17267
  :where(.theme-scope) .rb-card-treatment-editorial-rule .cta-row .button-ghost {
16686
17268
  padding-inline: 0;
17269
+ }
17270
+
17271
+ /* --- Colour-blocked --------------------------------------------------------- */
17272
+
17273
+ /*
17274
+ * Bold, flat cards that each take a different palette colour by position,
17275
+ * cycled across the grid, with a staggered vertical offset on wider screens.
17276
+ * The background layer (\`.rb-bg-surface\`) is recoloured per card; the card's
17277
+ * text colour is set to the matching on-colour so content stays readable.
17278
+ */
17279
+ :where(.theme-scope) .rb-card-treatment-color-blocked {
17280
+ box-shadow: none;
17281
+ }
17282
+
17283
+ /* Per-card colour cycle. The \`on*\` colours are always derived by the palette
17284
+ * (expandPalette emits onSurface/onSecondary/onPrimary), so no fallback. */
17285
+ :where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 1) > .rb-bg-surface {
17286
+ background: rgb(var(--tb-surface));
17287
+ }
17288
+ :where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 1) {
17289
+ color: rgb(var(--tb-onSurface));
17290
+ }
17291
+
17292
+ :where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 2) > .rb-bg-surface {
17293
+ background: rgb(var(--tb-secondary));
17294
+ }
17295
+ :where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 2) {
17296
+ color: rgb(var(--tb-onSecondary));
17297
+ }
17298
+
17299
+ :where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 3) > .rb-bg-surface {
17300
+ background: rgb(var(--tb-primary));
17301
+ }
17302
+ :where(.theme-scope) .rb-card-treatment-color-blocked:nth-child(3n + 3) {
17303
+ color: rgb(var(--tb-onPrimary));
17304
+ }
17305
+
17306
+ /* Body copy carries an inline muted colour from the block; force it to the
17307
+ * card's on-colour so it reads on every block (inline style needs !important). */
17308
+ :where(.theme-scope) .rb-card-treatment-color-blocked .rb-feature-card-body {
17309
+ color: inherit !important;
17310
+ opacity: 0.9;
17311
+ }
17312
+
17313
+ /* The number marker defaults to the brand accent, which collides with the
17314
+ * primary-coloured card in the cycle. On colour-blocked cards use the card's
17315
+ * own on-colour (the palette guarantees it's legible on that background) and a
17316
+ * faint tint of it for the badge, so the number always contrasts. */
17317
+ :where(.theme-scope) .rb-card-treatment-color-blocked .rb-feature-card-number-zone {
17318
+ color: inherit;
17319
+ background-color: color-mix(in oklab, currentColor, transparent 88%);
17320
+ }
17321
+
17322
+ /* Staggered offset: drop the middle column on wider screens. Scoped to a 3-up
17323
+ * grid (\`.rb-grid-cols-3\`) so 2-/4-column grids don't get a misaligned stagger;
17324
+ * the colour cycle still reads as a diagonal at any column count. */
17325
+ @container rb-site (min-width: 768px) {
17326
+ @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
17327
+ :where(.theme-scope) .rb-grid-cols-3 .rb-card-treatment-color-blocked:nth-child(3n + 2) {
17328
+ margin-top: 2.75rem;
17329
+ /* Override the card's \`h-full\` so the grid's stretch shrinks the card by the
17330
+ * margin (a genuinely shorter card) instead of keeping full height and
17331
+ * overflowing the section, which clips the rounded bottom corners. */
17332
+ height: auto;
17333
+ }
17334
+ }
17335
+ }
17336
+
17337
+ :where(.theme-scope) [data-block="intro"][data-block-look="intro-portrait-bio"][data-block-variant="media-copy"] .rb-intro-media-wrap {
17338
+ max-width: min(100%, 24rem);
17339
+ margin-inline: auto;
17340
+ }
17341
+
17342
+ :where(.theme-scope) [data-block="intro"][data-block-look="intro-portrait-bio"][data-block-variant="media-copy"] .rb-intro-media {
17343
+ aspect-ratio: 1 / 1 !important;
17344
+ border-radius: 9999px;
17345
+ }
17346
+
17347
+ :where(.theme-scope) [data-block="intro"][data-block-look="intro-editorial-statement"] .rb-intro-title {
17348
+ font-size: clamp(2rem, 1.56rem + 1.4vw, 3rem);
17349
+ line-height: 1.14;
17350
+ }
17351
+
17352
+ :where(.theme-scope) [data-block="intro"][data-block-look="intro-editorial-statement"] .rb-intro-copy {
17353
+ gap: var(--rb-space-5, 1.25rem);
17354
+ }
17355
+
17356
+ :where(.theme-scope) [data-block="intro"][data-block-look="intro-editorial-statement"] .rb-intro-copy .rb-prose {
17357
+ font-size: clamp(1.125rem, 1.02rem + 0.35vw, 1.375rem);
17358
+ line-height: 1.65;
16687
17359
  }`;
16688
17360
 
16689
17361
  // ../theme-core/src/ThemeScopeCore.tsx