@riverbankcms/sdk 0.151.0 → 0.152.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 (226) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/{EventEmbeddedCheckoutStep-BBHbM22D.mjs → EventEmbeddedCheckoutStep-DVQXWFm6.mjs} +10 -9
  3. package/dist/{PreviewEditorSidebar-BHplI9HE.mjs → PreviewEditorSidebar-Dr4NJi3Q.mjs} +4 -3
  4. package/dist/{PreviewEditorUI-DuyN8nsD.mjs → PreviewEditorUI-DSZXQbyh.mjs} +5 -4
  5. package/dist/{SdkPreviewModeRuntime-CR5ypwxJ.mjs → SdkPreviewModeRuntime-Dl4GyMc3.mjs} +124 -53
  6. package/dist/{SiteChromeCustomizeContext-D5t6joF_.mjs → SiteChromeCustomizeContext-DgBe-FlM.mjs} +20418 -32298
  7. package/dist/ThemedButton-B8ViBnLK.mjs +16350 -0
  8. package/dist/_dts/api/src/bookingOperations.d.ts +5 -3
  9. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +4 -0
  10. package/dist/_dts/api/src/endpoints.d.ts +7 -0
  11. package/dist/_dts/api/src/index.d.ts +1 -1
  12. package/dist/_dts/api/src/navigation/types.d.ts +7 -0
  13. package/dist/_dts/api/src/navigation.d.ts +1 -1
  14. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +10 -1
  15. package/dist/_dts/api/src/siteAssets.d.ts +1 -0
  16. package/dist/_dts/blocks/src/definitions.d.ts +1 -1
  17. package/dist/_dts/blocks/src/index.d.ts +1 -0
  18. package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +1 -0
  19. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +1 -1
  20. package/dist/_dts/blocks/src/primitives/content/utils/sanitizeHref.d.ts +1 -1
  21. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +4 -4
  22. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +16 -0
  23. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +5 -0
  24. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -0
  25. package/dist/_dts/blocks/src/system/helpers/normalizeMailingListBlockContent.d.ts +2 -0
  26. package/dist/_dts/blocks/src/system/registry.d.ts +14 -2
  27. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -5
  28. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +2 -0
  29. package/dist/_dts/blocks/src/system/runtime/api/schemas/events.d.ts +971 -0
  30. package/dist/_dts/blocks/src/system/runtime/api/schemas/waitlist-claims.d.ts +42 -0
  31. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +10 -2
  32. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +10 -136
  33. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -6
  34. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -3
  35. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingSubmission.state.d.ts +2 -0
  36. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +3 -1
  37. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +23 -0
  39. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +6 -2
  40. package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.hooks.d.ts +6 -0
  41. package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.state.d.ts +7 -0
  42. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/BookingEntryViews.d.ts +42 -0
  43. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventEmbeddedCheckoutStep.d.ts +4 -1
  44. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +19 -9
  45. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationPayment.d.ts +4 -2
  46. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +24 -9
  47. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardContent.d.ts +4 -2
  48. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventSelectionStep.d.ts +5 -4
  49. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/GuestDetailsSection.d.ts +1 -1
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentStatusStep.d.ts +2 -0
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SingleTicketEntitlementNote.d.ts +11 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +4 -0
  53. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +5 -0
  54. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/VerifyingTimeoutStep.d.ts +2 -0
  55. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingCardDisplay.d.ts +31 -0
  56. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingEntry.d.ts +154 -0
  57. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingFocus.d.ts +12 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -2
  59. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +2 -2
  60. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +9 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/finishedBooking.d.ts +77 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/index.d.ts +0 -1
  63. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/offeringNoun.d.ts +12 -0
  64. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentResponse.d.ts +2 -1
  65. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +33 -1
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +11 -0
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDisplay.d.ts +31 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDraft.state.d.ts +60 -0
  69. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -1
  70. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +3 -0
  71. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +58 -10
  72. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +17 -0
  73. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +23 -7
  74. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useBookingBarFacts.d.ts +12 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationRecoveryRequest.d.ts +3 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +4 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +4 -11
  78. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +1563 -31
  79. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +2 -12
  80. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +147 -4
  81. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +50 -2
  82. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/waitlistClaimRestoration.d.ts +6 -5
  83. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/wizardSteps.d.ts +85 -15
  84. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +53 -8
  85. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/MonthLookView.d.ts +10 -3
  86. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +16 -0
  87. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptionCopy.d.ts +5 -1
  88. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +37 -1
  89. package/dist/_dts/blocks/src/system/runtime/shared/components/ModalShell.d.ts +9 -2
  90. package/dist/_dts/blocks/src/system/runtime/shared/components/PaymentChoiceRows.d.ts +28 -0
  91. package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +6 -8
  92. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -2
  93. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  94. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +9 -12
  95. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +15 -0
  96. package/dist/_dts/blocks/src/system/runtime/shared/utils/themePortalRoot.d.ts +10 -15
  97. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
  98. package/dist/_dts/blocks/src/system/transforms/registry/links.d.ts +3 -1
  99. package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +2 -0
  100. package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +6 -0
  101. package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +14 -14
  102. package/dist/_dts/commerce/src/purchase/confirmationPayment.d.ts +65 -0
  103. package/dist/_dts/commerce/src/purchase/confirmationPaymentSchema.d.ts +66 -0
  104. package/dist/_dts/commerce/src/purchase/index.d.ts +2 -0
  105. package/dist/_dts/commerce/src/purchase/orderPaymentState.d.ts +8 -0
  106. package/dist/_dts/content-model/src/templates/defaults.d.ts +2 -2
  107. package/dist/_dts/core/src/appointment-booking-terms.d.ts +20 -0
  108. package/dist/_dts/core/src/booking-payment-schemas.d.ts +70 -0
  109. package/dist/_dts/core/src/branded.d.ts +0 -2
  110. package/dist/_dts/core/src/demo-claim-access.d.ts +1 -1
  111. package/dist/_dts/core/src/demo-claim-readiness.d.ts +18 -0
  112. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +1 -1
  113. package/dist/_dts/core/src/demo-warm-pool-target.d.ts +1 -1
  114. package/dist/_dts/core/src/index.d.ts +4 -0
  115. package/dist/_dts/core/src/mailing-list-targeting-availability.d.ts +68 -0
  116. package/dist/_dts/core/src/mailing-list-targeting.d.ts +2 -0
  117. package/dist/_dts/core/src/ticket-quantity.d.ts +13 -0
  118. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +51 -32
  119. package/dist/_dts/editor/src/chrome/chromeLayers.d.ts +7 -0
  120. package/dist/_dts/editor/src/index.d.ts +1 -0
  121. package/dist/_dts/editor-blocks/src/widgets/link/LinkAddressInput.d.ts +8 -0
  122. package/dist/_dts/editor-blocks/src/widgets/link/LinkContentList.d.ts +12 -0
  123. package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +5 -1
  124. package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +3 -3
  125. package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +8 -2
  126. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +4 -3
  127. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +2 -1
  128. package/dist/_dts/editor-blocks/src/widgets/link/draft.d.ts +44 -0
  129. package/dist/_dts/editor-blocks/src/widgets/link/presentation.d.ts +13 -0
  130. package/dist/_dts/editor-blocks/src/widgets/link/types.d.ts +14 -0
  131. package/dist/_dts/editor-blocks/src/widgets/link/useRoutableContent.d.ts +2 -0
  132. package/dist/_dts/editor-blocks/src/widgets/link/utils.d.ts +5 -4
  133. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +1 -1
  134. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +13 -8
  135. package/dist/_dts/media-core/src/fileStorage.d.ts +4 -3
  136. package/dist/_dts/media-core/src/index.d.ts +1 -0
  137. package/dist/_dts/media-core/src/storageObjectKey.d.ts +12 -0
  138. package/dist/_dts/media-react/src/hooks/useSupabaseMediaUploader.d.ts +1 -1
  139. package/dist/_dts/media-react/src/internal/supabaseResumableUpload.d.ts +13 -0
  140. package/dist/_dts/preview-next/src/client/preview/previewModeRootAttribute.d.ts +11 -0
  141. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +0 -1
  142. package/dist/_dts/sdk/src/rendering/image.d.ts +10 -0
  143. package/dist/_dts/sdk/src/rendering/index.d.ts +3 -1
  144. package/dist/_dts/sdk/src/rendering/link.d.ts +9 -0
  145. package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
  146. package/dist/_dts/sdk/src/version.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/blocks/opaquePanels.d.ts +3 -3
  148. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  149. package/dist/client/BookingMailingListNote-CBuMKN0w.mjs +386 -0
  150. package/dist/client/{CardListItem-ZDLYh6dL.mjs → CardListItem-Dc9XTXhB.mjs} +3 -4
  151. package/dist/client/CheckIcon-CpyXr-Kg.mjs +35 -0
  152. package/dist/client/{CheckboxChoice-M-3HycLw.mjs → CheckboxChoice-CIqx_o0E.mjs} +1 -1
  153. package/dist/client/{DemoBookingPortalAccess-BMtvPTWE.mjs → DemoBookingPortalAccess-D3VQ_kLj.mjs} +85 -85
  154. package/dist/client/{EventCombined.client-DUm_DOxW.mjs → EventCombined.client-BHGEKise.mjs} +8 -9
  155. package/dist/client/{EventEmbeddedCheckoutStep-DsNNzgRm.mjs → EventEmbeddedCheckoutStep-Bo1Cm23R.mjs} +11 -10
  156. package/dist/client/{EventListing.client-DjNYGUVm.mjs → EventListing.client-D5OQgVPr.mjs} +2 -2
  157. package/dist/client/{LeafletStaticMap-DuFiOHq_.mjs → LeafletStaticMap-CLL5cWrr.mjs} +1 -1
  158. package/dist/client/{ModalShell-CqkBvBIC.mjs → ModalShell-BXzucfR6.mjs} +83 -12
  159. package/dist/client/{RichText-LjPCUGGi.mjs → RichText-BoDmnopf.mjs} +6 -3
  160. package/dist/client/{ThemedButton-DZKjtaDD.mjs → ThemedButton-Ciltp0IK.mjs} +2 -2
  161. package/dist/client/{accordion-Qe--SILD.mjs → accordion-DOkRS64-.mjs} +1 -1
  162. package/dist/client/aspectTransforms-D-TnDdq4.mjs +93 -0
  163. package/dist/client/{bookingForm-3BCl4g_f.mjs → bookingForm-wlMVwo9h.mjs} +289 -149
  164. package/dist/client/bookings.mjs +12212 -10832
  165. package/dist/client/{carousel-h2YjKOS2.mjs → carousel-CGWk-Z0u.mjs} +2 -2
  166. package/dist/client/{carousel.client-BLrd4hmY.mjs → carousel.client-kX5mN1Eg.mjs} +46 -41
  167. package/dist/client/{cart-5NeiigVd.mjs → cart-OBBPlaH4.mjs} +3 -3
  168. package/dist/client/{checkout-G4UWjOEw.mjs → checkout-Bmw2WjQX.mjs} +3 -3
  169. package/dist/client/client.mjs +9541 -6039
  170. package/dist/client/{colorStyles-DTunOThj.mjs → colorStyles-ECDNPE_P.mjs} +23 -86
  171. package/dist/client/{context-GK4-AVAh.mjs → context-BI77UFAn.mjs} +275 -10
  172. package/dist/client/{eventCalendar-Prw3Yo_L.mjs → eventCalendar-qkej2Edn.mjs} +19 -17
  173. package/dist/client/{eventCombined-BUugi6__.mjs → eventCombined-DApKHvat.mjs} +4 -4
  174. package/dist/client/{eventDetails-CBHUda-R.mjs → eventDetails-BQyUDPH0.mjs} +3 -4
  175. package/dist/client/{eventListing-CQeG45Dg.mjs → eventListing-CeAnshlZ.mjs} +4 -4
  176. package/dist/client/{eventRegistration-Dif3p3oJ.mjs → eventRegistration-C3A3NyBO.mjs} +2209 -2144
  177. package/dist/client/{form-Cf0WMtfG.mjs → form-DW8rU7jO.mjs} +6 -6
  178. package/dist/client/{headerSection-Bqdr3JWp.mjs → headerSection-CkIhsoNm.mjs} +9 -9
  179. package/dist/client/hooks.mjs +1289 -380
  180. package/dist/client/{locationMap-BVvPou4O.mjs → locationMap-D4O8wbli.mjs} +4 -4
  181. package/dist/client/{media-47fcnhzD.mjs → media-C5K_0xPd.mjs} +2 -2
  182. package/dist/client/{newsletterForm-Cx-1dnic.mjs → newsletterForm-B7IxSPuz.mjs} +5 -5
  183. package/dist/client/{productDetail-DaUMaJYk.mjs → productDetail-Bqxpwy5N.mjs} +3 -3
  184. package/dist/client/{productList-BKQlWEKE.mjs → productList-u9Lz8V15.mjs} +3 -3
  185. package/dist/client/{propsDecoder-DO5iXphQ.mjs → propsDecoder-Bf1jucUp.mjs} +17333 -14489
  186. package/dist/client/rendering/client.mjs +58216 -55133
  187. package/dist/client/rendering/islands.mjs +19 -19
  188. package/dist/client/rendering.mjs +9099 -5636
  189. package/dist/client/{routeIslandApiConfig-BNm0Z3-g.mjs → routeIslandApiConfig-BgP-aPMl.mjs} +1 -1
  190. package/dist/client/{shop-D7ytcFBC.mjs → shop-B_eykR-_.mjs} +16 -14
  191. package/dist/client/{shop-commerce-D68-hHy2.mjs → shop-commerce-CT0APkFV.mjs} +9 -9
  192. package/dist/client/{shop-commerce-store-Cu7X2lyu.mjs → shop-commerce-store-DcvZxdEK.mjs} +1 -1
  193. package/dist/client/{shopShared-D12rxE69.mjs → shopShared-BVJOiUiJ.mjs} +5 -5
  194. package/dist/client/themePortalRoot-DS92SRVZ.mjs +47 -0
  195. package/dist/client/{TerminalPanel-DOTSUCO0.mjs → useDiscountCodeUi-DPmYDunz.mjs} +60 -77
  196. package/dist/client/{useEventPagination-jgKa67KV.mjs → useEventPagination-8-U55vH5.mjs} +7 -8
  197. package/dist/preview-next/before-render.mjs +7 -0
  198. package/dist/preview-next/client/runtime.mjs +3 -3
  199. package/dist/preview-next/keepAlive.mjs +7 -0
  200. package/dist/preview-next/middleware.mjs +7 -0
  201. package/dist/{sdk-runtime-4cCWO_3i.mjs → sdk-runtime-C5jPdSrk.mjs} +1 -1
  202. package/dist/server/components.mjs +3138 -1373
  203. package/dist/server/config-validation.mjs +1395 -486
  204. package/dist/server/config.mjs +1395 -486
  205. package/dist/server/data.mjs +1289 -380
  206. package/dist/server/index.mjs +8 -1
  207. package/dist/server/next.mjs +3362 -1538
  208. package/dist/server/page-converter.mjs +1357 -453
  209. package/dist/server/prebuild.mjs +1 -1
  210. package/dist/server/rendering/server.mjs +2335 -1044
  211. package/dist/server/rendering.mjs +3152 -1370
  212. package/dist/server/routing.mjs +1437 -490
  213. package/dist/server/server.mjs +1297 -381
  214. package/dist/server/theme-bridge.mjs +1135 -795
  215. package/dist/{spinner-tSdG9YvG.mjs → spinner-B-ab2rJp.mjs} +1 -1
  216. package/dist/styles/index.css +1088 -721
  217. package/package.json +1 -1
  218. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/OrderSummary.d.ts +0 -15
  219. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +0 -22
  220. package/dist/_dts/blocks/src/system/runtime/shared/components/SelectableOptionCard.d.ts +0 -30
  221. package/dist/client/BookingMailingListNote-DlDSs5Vm.mjs +0 -567
  222. package/dist/client/pricing-CMD0kADd.mjs +0 -314
  223. package/dist/client/result-DRW7JWXz.mjs +0 -30
  224. package/dist/client/scrollToBlock-C86BYkyV.mjs +0 -17
  225. package/dist/client/themePortalRoot-AGs4cE7t.mjs +0 -30
  226. package/dist/spinner-BL3kW9Uh.mjs +0 -803
@@ -10530,7 +10530,7 @@ const opaquePanels = [
10530
10530
  }
10531
10531
  },
10532
10532
  {
10533
- selector: ":where([data-block='event-registration']) .er-booking-teaser",
10533
+ selector: ":where([data-block='event-registration']) .er-booking-card",
10534
10534
  paint: {
10535
10535
  kind: "solid",
10536
10536
  token: "surface"
@@ -10540,7 +10540,7 @@ const opaquePanels = [
10540
10540
  selector: ":where([data-block='event-registration']) .er-booking-bar",
10541
10541
  paint: {
10542
10542
  kind: "solid",
10543
- token: "background"
10543
+ token: "surface"
10544
10544
  }
10545
10545
  },
10546
10546
  {
@@ -10554,7 +10554,7 @@ const opaquePanels = [
10554
10554
  selector: ":where([data-block='event-registration']) .er-booking-overlay__panel",
10555
10555
  paint: {
10556
10556
  kind: "solid",
10557
- token: "background"
10557
+ token: "surface"
10558
10558
  }
10559
10559
  },
10560
10560
  {
@@ -18369,25 +18369,25 @@ ${root} .alert {
18369
18369
 
18370
18370
  ${root} .alert-error {
18371
18371
  border-color: rgb(var(--tb-destructive));
18372
- background-color: rgba(var(--tb-destructive), 0.1);
18372
+ background-color: rgb(var(--tb-destructive) / 0.1);
18373
18373
  color: rgb(var(--tb-destructive));
18374
18374
  }
18375
18375
 
18376
18376
  ${root} .alert-success {
18377
18377
  border-color: rgb(var(--tb-success));
18378
- background-color: rgba(var(--tb-success), 0.1);
18378
+ background-color: rgb(var(--tb-success) / 0.1);
18379
18379
  color: rgb(var(--tb-success));
18380
18380
  }
18381
18381
 
18382
18382
  ${root} .alert-warning {
18383
18383
  border-color: rgb(var(--tb-warning));
18384
- background-color: rgba(var(--tb-warning), 0.1);
18384
+ background-color: rgb(var(--tb-warning) / 0.1);
18385
18385
  color: rgb(var(--tb-warning));
18386
18386
  }
18387
18387
 
18388
18388
  ${root} .alert-info {
18389
18389
  border-color: rgb(var(--tb-info));
18390
- background-color: rgba(var(--tb-info), 0.1);
18390
+ background-color: rgb(var(--tb-info) / 0.1);
18391
18391
  color: rgb(var(--tb-info));
18392
18392
  }`);
18393
18393
  cssBlocks.push(`/* Field-note feedback treatment */
@@ -18501,7 +18501,7 @@ ${root} .step-dot-active {
18501
18501
  }
18502
18502
 
18503
18503
  ${root} .step-dot-complete {
18504
- background-color: rgba(var(--tb-primary), 0.6);
18504
+ background-color: rgb(var(--tb-primary) / 0.6);
18505
18505
  }`);
18506
18506
  cssBlocks.push(`/* Step circles (numbered) */
18507
18507
  ${root} .step-circle {
@@ -18524,7 +18524,7 @@ ${root} .step-circle-active {
18524
18524
  }
18525
18525
 
18526
18526
  ${root} .step-circle-complete {
18527
- background-color: rgba(var(--tb-primary), 0.6);
18527
+ background-color: rgb(var(--tb-primary) / 0.6);
18528
18528
  color: rgb(var(--tb-primaryForeground));
18529
18529
  }`);
18530
18530
  cssBlocks.push(`/* Step connector */
@@ -18692,62 +18692,52 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="event-registratio
18692
18692
  --er-control-bg: rgb(var(--tb-background, var(--tb-surface)));
18693
18693
  --er-control-text: rgb(var(--tb-foreground, var(--tb-text)));
18694
18694
  --er-radius: var(--rb-block-radius);
18695
- --er-surface-muted: rgba(var(--tb-muted, 241 245 249), 0.42);
18696
- --er-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
18695
+ --er-surface-muted: rgb(var(--tb-muted, 241 245 249) / 0.42);
18696
+ --er-shell-line: rgb(var(--tb-mutedText, 100 116 139) / 0.22);
18697
18697
 
18698
18698
  /* Step indicator */
18699
18699
  --er-step-active: rgb(var(--tb-primary));
18700
- --er-step-inactive: rgb(var(--tb-mutedText));
18701
- --er-step-completed: rgb(var(--tb-success));
18702
- --er-step-text: rgb(255 255 255);
18703
- --er-step-text-active: rgb(var(--tb-onPrimary, 255 255 255));
18704
- --er-step-connector: rgba(var(--tb-border), 0.5);
18705
18700
 
18706
18701
  /* Step title */
18707
- --er-step-title-size: 1.5rem;
18702
+ --er-step-title-size: 1.75rem;
18708
18703
 
18709
18704
  /* State backgrounds with alpha */
18710
- --er-success-bg: rgba(var(--tb-success), 0.1);
18711
- --er-success-text: rgb(var(--tb-success));
18712
- --er-info-bg: rgba(var(--tb-primary), 0.1);
18705
+ --er-info-bg: rgb(var(--tb-primary) / 0.1);
18713
18706
  --er-info-text: rgb(var(--tb-primary));
18714
- --er-error-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
18707
+ --er-error-bg: rgb(var(--tb-destructive, 239 68 68) / 0.1);
18715
18708
  --er-error-text: rgb(var(--tb-destructive, 239 68 68));
18716
- --er-waitlist-bg: rgba(var(--tb-warning), 0.1);
18709
+ --er-waitlist-bg: rgb(var(--tb-warning) / 0.1);
18717
18710
  --er-waitlist-text: rgb(var(--tb-warning));
18718
18711
 
18719
18712
  /* Capacity badges */
18720
- --er-capacity-available-bg: rgba(var(--tb-success), 0.1);
18713
+ --er-capacity-available-bg: rgb(var(--tb-success) / 0.1);
18721
18714
  --er-capacity-available-text: rgb(var(--tb-success));
18722
- --er-capacity-low-bg: rgba(var(--tb-warning), 0.1);
18715
+ --er-capacity-low-bg: rgb(var(--tb-warning) / 0.1);
18723
18716
  --er-capacity-low-text: rgb(var(--tb-warning));
18724
- --er-capacity-soldout-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
18717
+ --er-capacity-soldout-bg: rgb(var(--tb-destructive, 239 68 68) / 0.1);
18725
18718
  --er-capacity-soldout-text: rgb(var(--tb-destructive, 239 68 68));
18726
18719
 
18727
18720
  /* Borders */
18728
18721
  --er-border: rgb(var(--tb-border));
18729
- --er-border-hover: rgba(var(--tb-primary), 0.5);
18722
+ --er-border-hover: rgb(var(--tb-primary) / 0.5);
18730
18723
  --er-border-selected: rgb(var(--tb-primary));
18731
18724
  --er-border-error: rgb(var(--tb-destructive, 239 68 68));
18732
18725
 
18733
18726
  /* Input focus */
18734
- --er-focus-ring: rgba(var(--tb-primary), 0.3);
18735
-
18736
- /* Required marker */
18737
- --er-required: rgb(var(--tb-destructive, 239 68 68));
18727
+ --er-focus-ring: rgb(var(--tb-primary) / 0.3);
18738
18728
 
18739
18729
  /* Payment option cards */
18740
18730
  --er-payment-border: rgb(var(--tb-border));
18741
- --er-payment-border-hover: rgba(var(--tb-primary), 0.5);
18731
+ --er-payment-border-hover: rgb(var(--tb-primary) / 0.5);
18742
18732
  --er-payment-border-selected: rgb(var(--tb-primary));
18743
- --er-payment-bg-selected: rgba(var(--tb-primary), 0.08);
18733
+ --er-payment-bg-selected: rgb(var(--tb-primary) / 0.08);
18744
18734
 
18745
18735
  /* Checkmark indicator */
18746
18736
  --er-check-bg: rgb(var(--tb-primary));
18747
18737
  --er-check-text: rgb(var(--tb-onPrimary, 255 255 255));
18748
18738
 
18749
18739
  /* Order summary */
18750
- --er-summary-bg: rgba(var(--tb-primary), 0.1);
18740
+ --er-summary-bg: rgb(var(--tb-primary) / 0.1);
18751
18741
  --er-summary-border: rgb(var(--tb-border));
18752
18742
 
18753
18743
  /* Shared registration-surface mappings (issue 1174).
@@ -18759,7 +18749,7 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="event-registratio
18759
18749
  --rb-reg-border-selected: var(--er-border-selected);
18760
18750
  --rb-reg-bg-selected: var(--er-payment-bg-selected);
18761
18751
  --rb-reg-option-bg: var(--er-control-bg);
18762
- --rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
18752
+ --rb-reg-option-hover-shadow: 0 8px 18px rgb(var(--tb-shadow, 15 23 42) / 0.08);
18763
18753
  --rb-reg-surface-bg: rgb(var(--tb-surface));
18764
18754
  --rb-reg-on-surface: var(--er-on-surface);
18765
18755
  --rb-reg-on-surface-muted: var(--er-on-surface-muted);
@@ -18768,11 +18758,6 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="event-registratio
18768
18758
  --rb-reg-check-bg: var(--er-check-bg);
18769
18759
  --rb-reg-check-text: var(--er-check-text);
18770
18760
  --rb-reg-step-active: var(--er-step-active);
18771
- --rb-reg-step-completed: var(--er-step-completed);
18772
- --rb-reg-step-inactive: var(--er-step-inactive);
18773
- --rb-reg-step-text: var(--er-step-text);
18774
- --rb-reg-step-text-active: var(--er-step-text-active);
18775
- --rb-reg-step-connector: var(--er-step-connector);
18776
18761
  --rb-reg-summary-bg: var(--er-surface-muted);
18777
18762
  --rb-reg-summary-border: var(--er-border);
18778
18763
  --rb-reg-focus-ring: var(--er-focus-ring);
@@ -18819,13 +18804,13 @@ function generateEventCalendarVars({ themeId }) {
18819
18804
  return `
18820
18805
  ${`:where([data-theme-scope="${themeId}"]) :where([data-block="event-calendar"])`} {
18821
18806
  /* Day cell states */
18822
- --ec-today-bg: rgba(var(--tb-primary), 0.05);
18807
+ --ec-today-bg: rgb(var(--tb-primary) / 0.05);
18823
18808
  --ec-today-text: rgb(var(--tb-primary));
18824
18809
  --ec-other-month-opacity: 0.4;
18825
18810
 
18826
18811
  /* Event items - subtle style (legacy) */
18827
- --ec-event-bg: rgba(var(--tb-primary), 0.1);
18828
- --ec-event-hover-bg: rgba(var(--tb-primary), 0.2);
18812
+ --ec-event-bg: rgb(var(--tb-primary) / 0.1);
18813
+ --ec-event-hover-bg: rgb(var(--tb-primary) / 0.2);
18829
18814
 
18830
18815
  /* Event items - solid style (default) */
18831
18816
  --ec-event-solid-bg: rgb(var(--tb-primary));
@@ -18833,15 +18818,15 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="event-calendar"])
18833
18818
  --ec-event-solid-text: rgb(var(--tb-neutral-50, 255 255 255));
18834
18819
 
18835
18820
  /* Navigation */
18836
- --ec-nav-hover-bg: rgba(var(--tb-text), 0.1);
18821
+ --ec-nav-hover-bg: rgb(var(--tb-text) / 0.1);
18837
18822
 
18838
18823
  /* Day headers */
18839
- --ec-header-bg: rgba(var(--tb-text), 0.05);
18824
+ --ec-header-bg: rgb(var(--tb-text) / 0.05);
18840
18825
  --ec-header-opacity: 0.7;
18841
18826
 
18842
18827
  /* Borders */
18843
18828
  --ec-border: rgb(var(--tb-border));
18844
- --ec-border-subtle: rgba(var(--tb-border), 0.5);
18829
+ --ec-border-subtle: rgb(var(--tb-border) / 0.5);
18845
18830
 
18846
18831
  /* Surface and text (for inputs/dropdowns) */
18847
18832
  --ec-surface: rgb(var(--tb-surface));
@@ -18910,29 +18895,27 @@ function generateAppointmentBookingVars({ themeId }) {
18910
18895
  ${`:where([data-theme-scope="${themeId}"]) :where([data-block="appointment-booking"])`} {
18911
18896
  /* Selection cards (service/resource/time) */
18912
18897
  --ab-card-border: rgb(var(--tb-border));
18913
- --ab-card-border-hover: rgba(var(--tb-primary), 0.5);
18898
+ --ab-card-border-hover: rgb(var(--tb-primary) / 0.5);
18914
18899
  --ab-card-border-selected: rgb(var(--tb-primary));
18915
- --ab-card-bg-selected: rgba(var(--tb-primary), 0.05);
18900
+ --ab-card-bg-selected: rgb(var(--tb-primary) / 0.05);
18916
18901
 
18917
18902
  /* Checkmark indicator */
18918
18903
  --ab-check-bg: rgb(var(--tb-primary));
18919
18904
  --ab-check-text: rgb(var(--tb-background));
18920
18905
 
18921
18906
  /* State backgrounds */
18922
- --ab-success-bg: rgba(var(--tb-success), 0.1);
18923
- --ab-success-text: rgb(var(--tb-success));
18924
- --ab-error-bg: rgba(var(--tb-destructive), 0.1);
18907
+ --ab-error-bg: rgb(var(--tb-destructive) / 0.1);
18925
18908
  --ab-error-text: rgb(var(--tb-destructive));
18926
- --ab-warning-bg: rgba(var(--tb-warning), 0.1);
18909
+ --ab-warning-bg: rgb(var(--tb-warning) / 0.1);
18927
18910
  --ab-warning-text: rgb(var(--tb-warning));
18928
- --ab-info-bg: rgba(var(--tb-info), 0.1);
18911
+ --ab-info-bg: rgb(var(--tb-info) / 0.1);
18929
18912
  --ab-info-text: rgb(var(--tb-info));
18930
18913
 
18931
18914
  /* Muted summary state */
18932
- --ab-muted-bg: rgba(var(--tb-text), 0.05);
18915
+ --ab-muted-bg: rgb(var(--tb-text) / 0.05);
18933
18916
 
18934
18917
  /* Focus ring used by shared registration-surface controls */
18935
- --ab-input-focus-ring: rgba(var(--tb-primary), 0.3);
18918
+ --ab-input-focus-ring: rgb(var(--tb-primary) / 0.3);
18936
18919
 
18937
18920
  /* Shared registration-surface mappings (issue 1174).
18938
18921
  Route the shared --rb-reg-* contract through this block's Tier 3 vars
@@ -18944,24 +18927,19 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="appointment-booki
18944
18927
  --rb-reg-border-selected: var(--ab-card-border-selected);
18945
18928
  --rb-reg-bg-selected: var(--ab-card-bg-selected);
18946
18929
  --rb-reg-option-bg: transparent;
18947
- --rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
18930
+ --rb-reg-option-hover-shadow: 0 8px 18px rgb(var(--tb-shadow, 15 23 42) / 0.08);
18948
18931
  --rb-reg-surface-bg: rgb(var(--tb-surface));
18949
18932
  --rb-reg-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
18950
- --rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
18951
- --rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
18952
- --rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
18933
+ --rb-reg-on-surface-muted: rgb(var(--tb-onSurface, var(--tb-text)) / 0.7);
18934
+ --rb-reg-on-surface-subtle: rgb(var(--tb-onSurface, var(--tb-text)) / 0.6);
18935
+ --rb-reg-on-surface-faint: rgb(var(--tb-onSurface, var(--tb-text)) / 0.5);
18953
18936
  --rb-reg-check-bg: var(--ab-check-bg);
18954
18937
  --rb-reg-check-text: var(--ab-check-text);
18955
18938
  --rb-reg-step-active: rgb(var(--tb-primary));
18956
- --rb-reg-step-completed: rgb(var(--tb-success));
18957
- --rb-reg-step-inactive: rgb(var(--tb-mutedText));
18958
- --rb-reg-step-text: rgb(255 255 255);
18959
- --rb-reg-step-text-active: rgb(var(--tb-onPrimary, 255 255 255));
18960
- --rb-reg-step-connector: rgba(var(--tb-border), 0.5);
18961
18939
  --rb-reg-summary-bg: var(--ab-muted-bg);
18962
18940
  --rb-reg-summary-border: var(--ab-card-border);
18963
18941
  --rb-reg-focus-ring: var(--ab-input-focus-ring);
18964
- --rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
18942
+ --rb-reg-shell-line: rgb(var(--tb-mutedText, 100 116 139) / 0.22);
18965
18943
  }
18966
18944
  `;
18967
18945
  }
@@ -18980,14 +18958,14 @@ function generateFormBlockVars({ themeId }) {
18980
18958
  return `
18981
18959
  ${`:where([data-theme-scope="${themeId}"]) :where([data-block="form"])`} {
18982
18960
  /* Success state */
18983
- --fb-success-bg: rgba(var(--tb-success), 0.1);
18961
+ --fb-success-bg: rgb(var(--tb-success) / 0.1);
18984
18962
  --fb-success-text: rgb(var(--tb-success));
18985
- --fb-success-border: rgba(var(--tb-success), 0.3);
18963
+ --fb-success-border: rgb(var(--tb-success) / 0.3);
18986
18964
 
18987
18965
  /* Error state */
18988
- --fb-error-bg: rgba(var(--tb-destructive), 0.1);
18966
+ --fb-error-bg: rgb(var(--tb-destructive) / 0.1);
18989
18967
  --fb-error-text: rgb(var(--tb-destructive));
18990
- --fb-error-border: rgba(var(--tb-destructive), 0.3);
18968
+ --fb-error-border: rgb(var(--tb-destructive) / 0.3);
18991
18969
 
18992
18970
  /* Empty state */
18993
18971
  --fb-empty-bg: rgb(var(--tb-surface));
@@ -19048,23 +19026,23 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="customer-portal"]
19048
19026
  --rb-tab-opacity: 0.7;
19049
19027
 
19050
19028
  /* Badge - Success (active, confirmed) */
19051
- --cp-badge-success-bg: rgba(var(--tb-success), 0.1);
19029
+ --cp-badge-success-bg: rgb(var(--tb-success) / 0.1);
19052
19030
  --cp-badge-success-text: rgb(var(--tb-success));
19053
19031
 
19054
19032
  /* Badge - Warning (paused, low credits, waitlist) */
19055
- --cp-badge-warning-bg: rgba(var(--tb-warning), 0.1);
19033
+ --cp-badge-warning-bg: rgb(var(--tb-warning) / 0.1);
19056
19034
  --cp-badge-warning-text: rgb(var(--tb-warning));
19057
19035
 
19058
19036
  /* Badge - Error (canceled, expired, past_due) */
19059
- --cp-badge-error-bg: rgba(var(--tb-destructive), 0.1);
19037
+ --cp-badge-error-bg: rgb(var(--tb-destructive) / 0.1);
19060
19038
  --cp-badge-error-text: rgb(var(--tb-destructive));
19061
19039
 
19062
19040
  /* Badge - Info (trialing, scheduled) */
19063
- --cp-badge-info-bg: rgba(var(--tb-primary), 0.1);
19041
+ --cp-badge-info-bg: rgb(var(--tb-primary) / 0.1);
19064
19042
  --cp-badge-info-text: rgb(var(--tb-primary));
19065
19043
 
19066
19044
  /* Badge - Default (neutral states) */
19067
- --cp-badge-default-bg: rgba(var(--tb-mutedText), 0.1);
19045
+ --cp-badge-default-bg: rgb(var(--tb-mutedText) / 0.1);
19068
19046
  --cp-badge-default-text: rgb(var(--tb-mutedText));
19069
19047
 
19070
19048
  /* Progress bar (for credit display) */
@@ -19076,10 +19054,10 @@ ${`:where([data-theme-scope="${themeId}"]) :where([data-block="customer-portal"]
19076
19054
  --cp-card-border: rgb(var(--tb-border));
19077
19055
 
19078
19056
  /* Alert/notification */
19079
- --cp-alert-success-bg: rgba(var(--tb-success), 0.1);
19057
+ --cp-alert-success-bg: rgb(var(--tb-success) / 0.1);
19080
19058
  --cp-alert-success-text: rgb(var(--tb-success));
19081
19059
  --cp-alert-success-border: rgb(var(--tb-success));
19082
- --cp-alert-error-bg: rgba(var(--tb-destructive), 0.1);
19060
+ --cp-alert-error-bg: rgb(var(--tb-destructive) / 0.1);
19083
19061
  --cp-alert-error-text: rgb(var(--tb-destructive));
19084
19062
  --cp-alert-error-border: rgb(var(--tb-destructive));
19085
19063
 
@@ -19176,7 +19154,7 @@ ${root} {
19176
19154
  --rb-testimonial-carousel-arrow-bg: rgb(var(--tb-secondary));
19177
19155
  --rb-testimonial-carousel-arrow-bg-hover: color-mix(in oklab, rgb(var(--tb-secondary)), rgb(var(--tb-text)) 14%);
19178
19156
  --rb-testimonial-carousel-arrow-color: rgb(var(--tb-onSecondary));
19179
- --rb-testimonial-carousel-arrow-border-color: rgba(var(--tb-onSecondary), 0.22);
19157
+ --rb-testimonial-carousel-arrow-border-color: rgb(var(--tb-onSecondary) / 0.22);
19180
19158
  --rb-testimonial-carousel-arrow-size: 2.75rem;
19181
19159
  --rb-testimonial-carousel-arrow-icon-size: 1.25rem;
19182
19160
  --rb-testimonial-carousel-arrow-icon-stroke-width: 2.5;
@@ -20141,6 +20119,13 @@ const containerResponsiveThemeCss = `/*
20141
20119
  var(--site-overlay-opening-content-extra-pad, clamp(1rem, 2vw, 1.75rem))
20142
20120
  );
20143
20121
  }
20122
+ /* Floating site overlays (a booking bar, a cookie banner, a sticky promo)
20123
+ mark themselves [data-rb-site-overlay]. While a preview is in edit mode
20124
+ (the preview shell sets the root attribute) they step aside, out of the
20125
+ focus order too; switching back to viewing restores them as they were. */
20126
+ :root[data-rb-preview-mode="edit"] [data-rb-site-overlay] {
20127
+ display: none;
20128
+ }
20144
20129
  .rb-preview-editor-offset {
20145
20130
  padding-bottom: calc(
20146
20131
  var(--builder-editor-chrome-offset, 0px) +
@@ -20726,7 +20711,7 @@ const containerResponsiveThemeCss = `/*
20726
20711
  .rb-spinner {
20727
20712
  --rb-spinner-size: 2rem;
20728
20713
  --rb-spinner-duration: 0.9s;
20729
- --rb-spinner-track-color: rgba(var(--tb-foreground), 0.15);
20714
+ --rb-spinner-track-color: rgb(var(--tb-foreground) / 0.15);
20730
20715
 
20731
20716
  display: inline-flex;
20732
20717
  align-items: center;
@@ -21229,12 +21214,12 @@ const containerResponsiveThemeCss = `/*
21229
21214
 
21230
21215
  :where(.theme-scope) .rb-modal__close:hover {
21231
21216
  color: var(--rb-surface-text-color, rgb(var(--tb-text, 17 24 39)));
21232
- background: rgba(var(--tb-border), 0.2);
21217
+ background: rgb(var(--tb-border) / 0.2);
21233
21218
  }
21234
21219
 
21235
21220
  :where(.theme-scope) .rb-modal__close:focus-visible {
21236
21221
  outline: none;
21237
- box-shadow: 0 0 0 3px rgba(var(--tb-primary), 0.15);
21222
+ box-shadow: 0 0 0 3px rgb(var(--tb-primary) / 0.15);
21238
21223
  }
21239
21224
 
21240
21225
  :where(.theme-scope) .rb-modal__body {
@@ -21719,7 +21704,7 @@ const containerResponsiveThemeCss = `/*
21719
21704
  :where(.theme-scope) .rb-prose code {
21720
21705
  /* Inline code uses text color with surface background */
21721
21706
  color: inherit;
21722
- background-color: rgba(var(--tb-surface), 0.5);
21707
+ background-color: rgb(var(--tb-surface) / 0.5);
21723
21708
  padding: 0.125rem 0.25rem;
21724
21709
  border-radius: 0.25rem;
21725
21710
  font-size: 0.875em;
@@ -22711,17 +22696,17 @@ const containerResponsiveThemeCss = `/*
22711
22696
 
22712
22697
  /* All badges use a subtle theme-aware style by default */
22713
22698
  :where(.theme-scope) .badge-status-available {
22714
- background-color: rgba(var(--tb-secondary), 0.15);
22699
+ background-color: rgb(var(--tb-secondary) / 0.15);
22715
22700
  color: rgb(var(--tb-secondary-700, var(--tb-secondary)));
22716
22701
  }
22717
22702
 
22718
22703
  :where(.theme-scope) .badge-status-low {
22719
- background-color: rgba(var(--tb-accent), 0.15);
22704
+ background-color: rgb(var(--tb-accent) / 0.15);
22720
22705
  color: rgb(var(--tb-accent-700, var(--tb-accent)));
22721
22706
  }
22722
22707
 
22723
22708
  :where(.theme-scope) .badge-status-sold-out {
22724
- background-color: rgba(var(--tb-text), 0.1);
22709
+ background-color: rgb(var(--tb-text) / 0.1);
22725
22710
  color: rgb(var(--tb-mutedText));
22726
22711
  }
22727
22712
 
@@ -22790,7 +22775,7 @@ const containerResponsiveThemeCss = `/*
22790
22775
  * here too; block CSS provides the \`.rb-state-icon--{variant}\` colors.
22791
22776
  *
22792
22777
  * Naming: component-like primitives follow the existing bare \`rb-\` shared
22793
- * precedent (\`.rb-state-icon\`, \`.rb-tile\`): \`.rb-option-card\`, \`.rb-step-*\`,
22778
+ * precedent (\`.rb-state-icon\`, \`.rb-tile\`): \`.rb-option-card\`, \`.rb-progress*\`,
22794
22779
  * \`.rb-wizard-actions\`, \`.rb-on-surface\`, \`.rb-shell-*\`. Container/layout
22795
22780
  * pieces that would otherwise collide with the global \`.rb-*\` utility layer
22796
22781
  * are namespaced \`rb-reg-*\` (\`.rb-reg-surface\`, \`.rb-reg-stack\`, ...). All of
@@ -22813,6 +22798,13 @@ const containerResponsiveThemeCss = `/*
22813
22798
  height: 2rem;
22814
22799
  }
22815
22800
 
22801
+ /* The success tick reads as a mark inside its disc, not a line drawing */
22802
+ :where(.theme-scope) .rb-state-icon--success svg {
22803
+ width: 1.75rem;
22804
+ height: 1.75rem;
22805
+ stroke-width: 3;
22806
+ }
22807
+
22816
22808
  /* Surface container */
22817
22809
  :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-reg-surface {
22818
22810
  border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
@@ -22849,18 +22841,18 @@ const containerResponsiveThemeCss = `/*
22849
22841
  }
22850
22842
 
22851
22843
  :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card:hover:not(:disabled):not([aria-disabled="true"]) {
22852
- border-color: var(--rb-reg-border-hover, rgba(var(--tb-primary, 17 24 39), 0.5));
22853
- box-shadow: var(--rb-reg-option-hover-shadow, 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08));
22844
+ border-color: var(--rb-reg-border-hover, rgb(var(--tb-primary, 17 24 39) / 0.5));
22845
+ box-shadow: var(--rb-reg-option-hover-shadow, 0 8px 18px rgb(var(--tb-shadow, 15 23 42) / 0.08));
22854
22846
  }
22855
22847
 
22856
22848
  :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card:focus-visible {
22857
- outline: 2px solid var(--rb-reg-focus-ring, rgba(var(--tb-primary, 17 24 39), 0.3));
22849
+ outline: 2px solid var(--rb-reg-focus-ring, rgb(var(--tb-primary, 17 24 39) / 0.3));
22858
22850
  outline-offset: 2px;
22859
22851
  }
22860
22852
 
22861
22853
  :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-option-card--selected {
22862
22854
  border-color: var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
22863
- background-color: var(--rb-reg-bg-selected, rgba(var(--tb-primary, 17 24 39), 0.08));
22855
+ background-color: var(--rb-reg-bg-selected, rgb(var(--tb-primary, 17 24 39) / 0.08));
22864
22856
  box-shadow: 0 0 0 1px var(--rb-reg-border-selected, rgb(var(--tb-primary, 17 24 39)));
22865
22857
  }
22866
22858
 
@@ -22892,78 +22884,45 @@ const containerResponsiveThemeCss = `/*
22892
22884
  color: var(--rb-reg-check-text, rgb(var(--tb-onPrimary, var(--tb-primaryForeground, 255 255 255))));
22893
22885
  }
22894
22886
 
22895
- /* Step indicator */
22896
- :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-steps-nav {
22897
- margin-bottom: 1.5rem;
22898
- }
22899
-
22900
- :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-steps {
22901
- display: flex;
22902
- align-items: center;
22903
- justify-content: center;
22904
- gap: 0.5rem;
22905
- list-style: none;
22906
- padding: 0;
22907
- margin: 0;
22908
- }
22909
-
22910
- :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step {
22887
+ /* Progress: the current step's label, "Step N of M" and a thin bar (issue 1581) */
22888
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-progress {
22911
22889
  display: flex;
22912
- align-items: center;
22890
+ flex-direction: column;
22913
22891
  gap: 0.5rem;
22892
+ margin-bottom: 1.5rem;
22914
22893
  }
22915
22894
 
22916
- :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle {
22917
- width: 1.75rem;
22918
- height: 1.75rem;
22919
- border-radius: 50%;
22895
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-progress__head {
22920
22896
  display: flex;
22921
- align-items: center;
22922
- justify-content: center;
22923
- font-size: 0.75rem;
22924
- font-weight: 600;
22925
- background: var(--rb-reg-step-inactive, rgb(var(--tb-mutedText, 100 116 139)));
22926
- color: var(--rb-reg-step-text, rgb(var(--tb-primaryForeground, 255 255 255)));
22927
- transition: background-color var(--rb-block-transition, 150ms) ease;
22928
- }
22929
-
22930
- :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--active {
22931
- background: var(--rb-reg-step-active, rgb(var(--tb-primary, 17 24 39)));
22932
- color: var(--rb-reg-step-text-active, rgb(var(--tb-onPrimary, var(--tb-primaryForeground, 255 255 255))));
22933
- }
22934
-
22935
- :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-circle--completed {
22936
- background: var(--rb-reg-step-completed, rgb(var(--tb-success, 22 163 74)));
22937
- color: var(--rb-reg-step-text-active, rgb(var(--tb-onPrimary, var(--tb-primaryForeground, 255 255 255))));
22938
- }
22939
-
22940
- :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-check {
22941
- width: 0.75rem;
22942
- height: 0.75rem;
22943
- }
22944
-
22945
- :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-connector {
22946
- width: 2rem;
22947
- height: 2px;
22948
- background: var(--rb-reg-step-connector, rgba(var(--tb-border, 226 232 240), 0.5));
22897
+ align-items: baseline;
22898
+ justify-content: space-between;
22899
+ gap: 1rem;
22900
+ font-size: 0.8125rem;
22901
+ line-height: 1.3;
22949
22902
  }
22950
22903
 
22951
- :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label {
22952
- font-size: 0.75rem;
22904
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-progress__label {
22905
+ font-weight: 700;
22953
22906
  color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
22954
- display: none;
22955
22907
  }
22956
22908
 
22957
- :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label--active {
22958
- font-weight: 500;
22909
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-progress__count {
22910
+ margin-inline-start: auto;
22911
+ color: var(--rb-reg-on-surface-muted, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42)) / 0.7));
22959
22912
  }
22960
22913
 
22961
- @container rb-site (min-width: 640px) {
22962
- @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
22963
- :where(.theme-scope:is(*, :scope)) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-step-label {
22964
- display: inline;
22965
- }
22914
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-progress__track {
22915
+ height: 4px;
22916
+ border-radius: 4px;
22917
+ background: rgb(var(--tb-onSurface, var(--tb-text, 15 23 42)) / 0.12);
22918
+ overflow: hidden;
22966
22919
  }
22920
+
22921
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-progress__fill {
22922
+ height: 100%;
22923
+ border-radius: 4px;
22924
+ background: var(--rb-reg-step-active, rgb(var(--tb-primary, 17 24 39)));
22925
+ transition: width var(--rb-block-transition, 150ms) ease;
22967
22926
  }
22968
22927
 
22969
22928
  /* Wizard actions row */
@@ -22980,21 +22939,26 @@ const containerResponsiveThemeCss = `/*
22980
22939
  margin-inline-start: auto;
22981
22940
  }
22982
22941
 
22942
+ /* A footer with only Back keeps it bottom-left, like every other step */
22943
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-wizard-actions--back-only > :only-child {
22944
+ margin-inline-start: 0;
22945
+ }
22946
+
22983
22947
  /* On-surface text ramp */
22984
22948
  :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface {
22985
22949
  color: var(--rb-reg-on-surface, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42))));
22986
22950
  }
22987
22951
 
22988
22952
  :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--muted {
22989
- color: var(--rb-reg-on-surface-muted, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.7));
22953
+ color: var(--rb-reg-on-surface-muted, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42)) / 0.7));
22990
22954
  }
22991
22955
 
22992
22956
  :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--subtle {
22993
- color: var(--rb-reg-on-surface-subtle, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.6));
22957
+ color: var(--rb-reg-on-surface-subtle, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42)) / 0.6));
22994
22958
  }
22995
22959
 
22996
22960
  :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-on-surface--faint {
22997
- color: var(--rb-reg-on-surface-faint, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.5));
22961
+ color: var(--rb-reg-on-surface-faint, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42)) / 0.5));
22998
22962
  }
22999
22963
 
23000
22964
  /* Layout stacks */
@@ -23029,7 +22993,7 @@ const containerResponsiveThemeCss = `/*
23029
22993
  padding: 1rem;
23030
22994
  border-radius: calc(var(--rb-reg-radius, var(--rb-block-radius, 1rem)) * 0.75);
23031
22995
  border: 1px solid var(--rb-reg-summary-border, rgb(var(--tb-border, 226 232 240)));
23032
- background: var(--rb-reg-summary-bg, rgba(var(--tb-muted, 241 245 249), 0.42));
22996
+ background: var(--rb-reg-summary-bg, rgb(var(--tb-muted, 241 245 249) / 0.42));
23033
22997
  }
23034
22998
 
23035
22999
  /* Skeleton shell lines */
@@ -23038,9 +23002,9 @@ const containerResponsiveThemeCss = `/*
23038
23002
  border-radius: 9999px;
23039
23003
  background: linear-gradient(
23040
23004
  90deg,
23041
- var(--rb-reg-shell-line, rgba(var(--tb-mutedText, 100 116 139), 0.22)),
23042
- rgba(var(--tb-primary, 17 24 39), 0.12),
23043
- var(--rb-reg-shell-line, rgba(var(--tb-mutedText, 100 116 139), 0.22))
23005
+ var(--rb-reg-shell-line, rgb(var(--tb-mutedText, 100 116 139) / 0.22)),
23006
+ rgb(var(--tb-primary, 17 24 39) / 0.12),
23007
+ var(--rb-reg-shell-line, rgb(var(--tb-mutedText, 100 116 139) / 0.22))
23044
23008
  );
23045
23009
  }
23046
23010
 
@@ -23065,7 +23029,7 @@ const containerResponsiveThemeCss = `/*
23065
23029
  height: 2.5rem;
23066
23030
  width: 100%;
23067
23031
  border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
23068
- background: var(--rb-reg-shell-line, rgba(var(--tb-mutedText, 100 116 139), 0.22));
23032
+ background: var(--rb-reg-shell-line, rgb(var(--tb-mutedText, 100 116 139) / 0.22));
23069
23033
  animation: rb-reg-pulse 1.5s ease-in-out infinite;
23070
23034
  }
23071
23035
 
@@ -23084,6 +23048,101 @@ const containerResponsiveThemeCss = `/*
23084
23048
  }
23085
23049
  }
23086
23050
 
23051
+ /* Payment choices (issue 1581): one full-width radio row per way to pay, the
23052
+ * label and detail on the left, the price on the right. Shared by event and
23053
+ * appointment booking (PaymentChoiceRows). */
23054
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choices {
23055
+ display: flex;
23056
+ flex-direction: column;
23057
+ gap: 0.625rem;
23058
+ }
23059
+
23060
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choice {
23061
+ display: flex;
23062
+ align-items: flex-start;
23063
+ gap: 0.875rem;
23064
+ padding: 1rem 1.125rem;
23065
+ border: 1px solid var(--rb-reg-border, rgb(var(--tb-border)));
23066
+ border-radius: var(--rb-reg-radius, var(--rb-block-radius, 1rem));
23067
+ background: var(--rb-reg-option-bg, transparent);
23068
+ color: var(--rb-surface-text-color, rgb(var(--tb-text)));
23069
+ cursor: pointer;
23070
+ transition:
23071
+ border-color var(--rb-block-transition, 150ms) ease,
23072
+ background-color var(--rb-block-transition, 150ms) ease;
23073
+ }
23074
+
23075
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choice:hover:not(.rb-pay-choice--disabled) {
23076
+ border-color: var(--rb-reg-border-hover, rgb(var(--tb-primary) / 0.5));
23077
+ }
23078
+
23079
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choice:focus-within {
23080
+ box-shadow: 0 0 0 3px rgb(var(--tb-primary) / 0.25);
23081
+ }
23082
+
23083
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choice--selected {
23084
+ border-color: rgb(var(--tb-primary));
23085
+ box-shadow: inset 0 0 0 1px rgb(var(--tb-primary));
23086
+ background: rgb(var(--tb-primary) / 0.06);
23087
+ }
23088
+
23089
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choice--selected:focus-within {
23090
+ box-shadow:
23091
+ inset 0 0 0 1px rgb(var(--tb-primary)),
23092
+ 0 0 0 3px rgb(var(--tb-primary) / 0.25);
23093
+ }
23094
+
23095
+ /* Disabled stays readable: a dashed edge and quieter text, with its reason */
23096
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choice--disabled {
23097
+ border-style: dashed;
23098
+ cursor: not-allowed;
23099
+ }
23100
+
23101
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choice--disabled :is(.rb-pay-choice__label, .rb-pay-choice__detail, .rb-pay-choice__price) {
23102
+ opacity: 0.65;
23103
+ }
23104
+
23105
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choice__radio {
23106
+ flex: 0 0 auto;
23107
+ width: 1.25rem;
23108
+ height: 1.25rem;
23109
+ margin: 0.125rem 0 0;
23110
+ accent-color: rgb(var(--tb-primary));
23111
+ cursor: inherit;
23112
+ }
23113
+
23114
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choice__body {
23115
+ flex: 1 1 auto;
23116
+ min-width: 0;
23117
+ display: flex;
23118
+ flex-direction: column;
23119
+ gap: 0.125rem;
23120
+ }
23121
+
23122
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choice__label {
23123
+ font-weight: 700;
23124
+ line-height: 1.35;
23125
+ }
23126
+
23127
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choice__detail {
23128
+ font-size: 0.875rem;
23129
+ line-height: 1.4;
23130
+ color: var(--rb-surface-supporting-color, rgb(var(--tb-text) / 0.7));
23131
+ }
23132
+
23133
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choice__reason {
23134
+ font-size: 0.8125rem;
23135
+ line-height: 1.4;
23136
+ color: var(--rb-surface-text-color, rgb(var(--tb-text)));
23137
+ }
23138
+
23139
+ :where(.theme-scope) :where([data-block="event-registration"], [data-block="appointment-booking"]) .rb-pay-choice__price {
23140
+ flex: 0 0 auto;
23141
+ font-weight: 700;
23142
+ text-align: end;
23143
+ white-space: nowrap;
23144
+ }
23145
+
23087
23146
  /* =============================================================================
23088
23147
  * Block: Event Registration (pilot #76)
23089
23148
  * Uses CSS vars: --er-* (Tier 3) and --rb-block-* (Tier 2)
@@ -23098,17 +23157,14 @@ const containerResponsiveThemeCss = `/*
23098
23157
  --rb-event-tile-border-hover: var(--er-border-hover);
23099
23158
  --rb-event-tile-border-selected: var(--er-border-selected);
23100
23159
  --rb-event-tile-hover-opacity: var(--er-event-card-hover-opacity);
23101
- --rb-event-tile-bg-selected: rgba(var(--tb-primary), 0.1);
23160
+ --rb-event-tile-bg-selected: rgb(var(--tb-primary) / 0.1);
23102
23161
  --er-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
23103
- --er-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
23104
- --er-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
23105
- --er-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
23106
- --er-on-surface-hover-bg: rgba(var(--tb-onSurface, var(--tb-text)), 0.05);
23107
- --er-on-surface-disabled: rgba(var(--tb-onSurface, var(--tb-text)), 0.78);
23108
- --er-on-surface-disabled-detail: rgba(
23109
- var(--tb-onSurface, var(--tb-text)),
23110
- 0.68
23111
- );
23162
+ --er-on-surface-muted: rgb(var(--tb-onSurface, var(--tb-text)) / 0.7);
23163
+ --er-on-surface-subtle: rgb(var(--tb-onSurface, var(--tb-text)) / 0.6);
23164
+ --er-on-surface-faint: rgb(var(--tb-onSurface, var(--tb-text)) / 0.5);
23165
+ --er-on-surface-hover-bg: rgb(var(--tb-onSurface, var(--tb-text)) / 0.05);
23166
+ --er-on-surface-disabled: rgb(var(--tb-onSurface, var(--tb-text)) / 0.78);
23167
+ --er-on-surface-disabled-detail: rgb(var(--tb-onSurface, var(--tb-text)) / 0.68);
23112
23168
  }
23113
23169
 
23114
23170
  /* Container: styled by the shared .rb-reg-surface (registration-surface.css);
@@ -23236,6 +23292,109 @@ const containerResponsiveThemeCss = `/*
23236
23292
  opacity: 0.6;
23237
23293
  }
23238
23294
 
23295
+ /* Date step (issue 1581): one radio row per date, on the shared event tile */
23296
+ :where(.theme-scope)
23297
+ :where([data-block='event-registration'])
23298
+ .er-date-list {
23299
+ display: flex;
23300
+ flex-direction: column;
23301
+ gap: 0.625rem;
23302
+ }
23303
+
23304
+ :where(.theme-scope)
23305
+ :where([data-block='event-registration'])
23306
+ .er-date-list__month {
23307
+ margin: 0.5rem 0 0;
23308
+ font-size: 0.75rem;
23309
+ font-weight: 700;
23310
+ letter-spacing: 0.08em;
23311
+ text-transform: uppercase;
23312
+ color: var(--rb-surface-supporting-color, var(--er-on-surface-muted));
23313
+ }
23314
+
23315
+ :where(.theme-scope)
23316
+ :where([data-block='event-registration'])
23317
+ .er-date-list__month:first-child {
23318
+ margin-top: 0;
23319
+ }
23320
+
23321
+ :where(.theme-scope)
23322
+ :where([data-block='event-registration'])
23323
+ .er-event-card.er-date-option {
23324
+ display: flex;
23325
+ align-items: center;
23326
+ gap: 0.875rem;
23327
+ padding: 0.875rem 1rem;
23328
+ color: var(--rb-surface-text-color, rgb(var(--tb-text)));
23329
+ }
23330
+
23331
+ :where(.theme-scope)
23332
+ :where([data-block='event-registration'])
23333
+ .er-date-option:focus-within {
23334
+ box-shadow: 0 0 0 3px rgb(var(--tb-primary) / 0.25);
23335
+ }
23336
+
23337
+ :where(.theme-scope)
23338
+ :where([data-block='event-registration'])
23339
+ .er-date-option__radio {
23340
+ flex: 0 0 auto;
23341
+ width: 1.25rem;
23342
+ height: 1.25rem;
23343
+ margin: 0;
23344
+ accent-color: rgb(var(--tb-primary));
23345
+ cursor: pointer;
23346
+ }
23347
+
23348
+ :where(.theme-scope)
23349
+ :where([data-block='event-registration'])
23350
+ .er-date-option__main {
23351
+ flex: 1 1 auto;
23352
+ min-width: 0;
23353
+ display: flex;
23354
+ flex-direction: column;
23355
+ gap: 0.125rem;
23356
+ }
23357
+
23358
+ :where(.theme-scope)
23359
+ :where([data-block='event-registration'])
23360
+ .er-date-option__date {
23361
+ font-weight: 700;
23362
+ line-height: 1.3;
23363
+ }
23364
+
23365
+ :where(.theme-scope)
23366
+ :where([data-block='event-registration'])
23367
+ .er-date-option__time {
23368
+ font-size: 0.875rem;
23369
+ color: var(--rb-surface-supporting-color, var(--er-on-surface-muted));
23370
+ }
23371
+
23372
+ :where(.theme-scope)
23373
+ :where([data-block='event-registration'])
23374
+ .er-date-option__places {
23375
+ flex: 0 0 auto;
23376
+ padding: 0.125rem 0.5rem;
23377
+ border: 1px solid var(--er-border);
23378
+ border-radius: 999px;
23379
+ font-size: 0.75rem;
23380
+ font-weight: 700;
23381
+ white-space: nowrap;
23382
+ }
23383
+
23384
+ /* Full dates stay selectable (a guest can still reach recovery) but read as quiet */
23385
+ :where(.theme-scope)
23386
+ :where([data-block='event-registration'])
23387
+ .er-date-option--full {
23388
+ border-style: dashed;
23389
+ }
23390
+
23391
+ :where(.theme-scope)
23392
+ :where([data-block='event-registration'])
23393
+ .er-date-option--full
23394
+ :is(.er-date-option__main, .er-date-option__places) {
23395
+ opacity: 0.6;
23396
+ }
23397
+
23239
23398
  /* Capacity badges */
23240
23399
  :where(.theme-scope)
23241
23400
  :where([data-block='event-registration'])
@@ -23441,63 +23600,31 @@ const containerResponsiveThemeCss = `/*
23441
23600
  }
23442
23601
  }
23443
23602
 
23444
- /* Form inputs */
23445
- :where(.theme-scope) :where([data-block='event-registration']) .er-input {
23446
- width: 100%;
23447
- min-height: 2.75rem;
23448
- padding: 0.625rem 0.75rem;
23449
- border-radius: calc(var(--rb-block-radius) * 0.5);
23450
- border: 1px solid var(--er-border);
23451
- background: var(--er-control-bg);
23452
- color: var(--er-control-text);
23453
- font: inherit;
23454
- line-height: 1.4;
23455
- transition:
23456
- border-color var(--rb-block-transition) ease,
23457
- background-color var(--rb-block-transition) ease,
23458
- box-shadow var(--rb-block-transition) ease;
23459
- }
23460
-
23461
- :where(.theme-scope)
23462
- :where([data-block='event-registration'])
23463
- .er-input::placeholder {
23464
- color: var(--er-on-surface-faint);
23465
- }
23466
-
23467
- :where(.theme-scope) :where([data-block='event-registration']) .er-input:focus {
23468
- outline: none;
23469
- border-color: var(--er-border-selected);
23470
- box-shadow: 0 0 0 3px var(--er-focus-ring);
23471
- }
23603
+ /* Fields use the theme's own form-label / form-input / form-textarea
23604
+ (theme-core/src/inputs/generateInputCss.ts), like the site's form block. */
23472
23605
 
23473
23606
  :where(.theme-scope)
23474
23607
  :where([data-block='event-registration'])
23475
- .er-input--error {
23476
- border-color: var(--er-border-error);
23608
+ .er-label-optional {
23609
+ font-weight: 400;
23610
+ text-transform: none;
23611
+ letter-spacing: normal;
23612
+ color: var(--rb-surface-supporting-color, var(--er-on-surface-muted));
23477
23613
  }
23478
23614
 
23479
23615
  :where(.theme-scope)
23480
23616
  :where([data-block='event-registration'])
23481
- .er-input--error:focus {
23482
- box-shadow: 0 0 0 3px rgba(var(--tb-destructive), 0.2);
23483
- }
23484
-
23485
- /* Form labels and errors */
23486
- :where(.theme-scope) :where([data-block='event-registration']) .er-label {
23487
- display: block;
23488
- font-size: 0.875rem;
23489
- font-weight: 500;
23490
- margin-bottom: 0.25rem;
23617
+ .er-field-hint {
23618
+ margin: 0.375rem 0 0;
23619
+ font-size: 0.8125rem;
23620
+ line-height: 1.4;
23621
+ color: var(--rb-surface-supporting-color, var(--er-on-surface-muted));
23491
23622
  }
23492
23623
 
23493
23624
  :where(.theme-scope) :where([data-block='event-registration']) .er-consent-check {
23494
23625
  margin-top: 0.75rem;
23495
23626
  }
23496
23627
 
23497
- :where(.theme-scope) :where([data-block='event-registration']) .er-required {
23498
- color: var(--er-required);
23499
- }
23500
-
23501
23628
  :where(.theme-scope) :where([data-block='event-registration']) .er-error {
23502
23629
  font-size: 0.875rem;
23503
23630
  color: var(--er-error-text);
@@ -23506,12 +23633,14 @@ const containerResponsiveThemeCss = `/*
23506
23633
 
23507
23634
  /* Back button */
23508
23635
  :where(.theme-scope) :where([data-block='event-registration']) .er-back-btn {
23509
- font-size: 0.875rem;
23510
- opacity: 0.7;
23636
+ font-size: 0.9375rem;
23637
+ font-weight: 700;
23638
+ opacity: 0.8;
23511
23639
  background: none;
23512
23640
  border: none;
23513
23641
  cursor: pointer;
23514
- padding: 0;
23642
+ padding: 0 0.25rem;
23643
+ min-height: 2.75rem;
23515
23644
  transition: opacity var(--rb-block-transition) ease;
23516
23645
  }
23517
23646
 
@@ -23522,11 +23651,12 @@ const containerResponsiveThemeCss = `/*
23522
23651
  }
23523
23652
 
23524
23653
  /* State icon color variants (layout from registration-surface.css) */
23654
+ /* Success: a solid primary disc with an on-primary tick (issue 1581) */
23525
23655
  :where(.theme-scope)
23526
23656
  :where([data-block='event-registration'])
23527
23657
  .rb-state-icon--success {
23528
- background: var(--er-success-bg);
23529
- color: var(--er-success-text);
23658
+ background: rgb(var(--tb-primary));
23659
+ color: rgb(var(--tb-onPrimary));
23530
23660
  }
23531
23661
 
23532
23662
  :where(.theme-scope)
@@ -23575,14 +23705,15 @@ const containerResponsiveThemeCss = `/*
23575
23705
 
23576
23706
  /* Typography */
23577
23707
  :where(.theme-scope) :where([data-block='event-registration']) .er-title {
23578
- font-size: var(--er-step-title-size, 1.5rem);
23579
- font-weight: 600;
23580
- line-height: 1.3;
23581
- }
23708
+ font-family: var(--font-heading, inherit);
23709
+ font-size: var(--er-step-title-size, 1.75rem);
23710
+ line-height: 1.15;
23711
+ }
23582
23712
 
23713
+ /* Confirmation and error titles: never smaller than a step's heading */
23583
23714
  :where(.theme-scope) :where([data-block='event-registration']) .er-title--lg {
23584
- font-size: 1.25rem;
23585
- line-height: 1.75rem;
23715
+ font-size: calc(var(--er-step-title-size, 1.75rem) * 1.15);
23716
+ line-height: 1.1;
23586
23717
  }
23587
23718
 
23588
23719
  :where(.theme-scope) :where([data-block='event-registration']) .er-text {
@@ -23808,7 +23939,7 @@ const containerResponsiveThemeCss = `/*
23808
23939
  padding: 1.25rem;
23809
23940
  border: 1px solid var(--er-border);
23810
23941
  border-radius: var(--rb-block-radius);
23811
- background: rgba(var(--tb-surface), 0.5);
23942
+ background: rgb(var(--tb-surface) / 0.5);
23812
23943
  text-align: center;
23813
23944
  }
23814
23945
 
@@ -23913,7 +24044,7 @@ const containerResponsiveThemeCss = `/*
23913
24044
  :where([data-block='event-registration'])
23914
24045
  .er-payment-option:hover {
23915
24046
  border-color: var(--er-payment-border-hover);
23916
- box-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
24047
+ box-shadow: 0 8px 18px rgb(var(--tb-shadow, 15 23 42) / 0.08);
23917
24048
  }
23918
24049
 
23919
24050
  :where(.theme-scope)
@@ -24113,103 +24244,6 @@ const containerResponsiveThemeCss = `/*
24113
24244
  color: var(--er-on-surface);
24114
24245
  }
24115
24246
 
24116
- /* Two-column layout (Desktop: sidebar, Mobile: stacked) */
24117
- :where(.theme-scope) :where([data-block='event-registration']) .er-layout {
24118
- display: grid;
24119
- gap: 1.5rem;
24120
- /* Mobile: single column, summary at top */
24121
- grid-template-columns: 1fr;
24122
- grid-template-areas:
24123
- 'summary'
24124
- 'main';
24125
- }
24126
-
24127
- @container rb-site (min-width: 768px) {
24128
- @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
24129
- :where(.theme-scope:is(*, :scope)) :where([data-block='event-registration']) .er-layout {
24130
- /* Desktop: main + sidebar */
24131
- grid-template-columns: 1fr 300px;
24132
- grid-template-areas: 'main summary';
24133
- }
24134
- }
24135
- }
24136
-
24137
- :where(.theme-scope) :where([data-block='event-registration']) .er-layout-main {
24138
- grid-area: main;
24139
- }
24140
-
24141
- /* OrderSummary positions via grid area */
24142
- :where(.theme-scope)
24143
- :where([data-block='event-registration'])
24144
- .er-layout
24145
- > .er-summary {
24146
- grid-area: summary;
24147
- }
24148
-
24149
- /* Step indicator */
24150
- :where(.theme-scope) :where([data-block='event-registration']) .er-steps-nav {
24151
- margin-bottom: 1.5rem;
24152
- }
24153
-
24154
- /* Step indicator internals: styled by the shared .rb-steps / .rb-step-*
24155
- family (registration-surface.css) via the --rb-reg-step-* mappings in the
24156
- event-registration var generator; er-* classes remain in markup as hooks.
24157
- Note: .er-steps-nav above is intentionally retained — its source position
24158
- keeps the wizard's 1.5rem step margin winning over the SSR shell's
24159
- 1.25rem .er-registration-shell__steps override. */
24160
-
24161
- /* Sticky order summary */
24162
- :where(.theme-scope) :where([data-block='event-registration']) .er-summary {
24163
- padding: 1.25rem;
24164
- background: var(--er-summary-bg);
24165
- border: 1px solid var(--er-summary-border);
24166
- border-radius: var(--rb-block-radius);
24167
- display: flex;
24168
- flex-direction: column;
24169
- justify-content: center;
24170
- align-items: center;
24171
- text-align: center;
24172
- min-height: 140px;
24173
- }
24174
-
24175
- @container rb-site (min-width: 768px) {
24176
- @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
24177
- :where(.theme-scope:is(*, :scope)) :where([data-block='event-registration']) .er-summary {
24178
- position: sticky;
24179
- top: 1rem;
24180
- }
24181
- }
24182
- }
24183
-
24184
- :where(.theme-scope)
24185
- :where([data-block='event-registration'])
24186
- .er-summary-event {
24187
- font-weight: 600;
24188
- margin-bottom: 0.25rem;
24189
- }
24190
-
24191
- :where(.theme-scope)
24192
- :where([data-block='event-registration'])
24193
- .er-summary-date {
24194
- font-size: 0.875rem;
24195
- color: rgba(var(--tb-text), 0.7);
24196
- }
24197
-
24198
- :where(.theme-scope)
24199
- :where([data-block='event-registration'])
24200
- .er-summary-tickets {
24201
- font-size: 0.875rem;
24202
- margin-top: 0.75rem;
24203
- }
24204
-
24205
- :where(.theme-scope)
24206
- :where([data-block='event-registration'])
24207
- .er-summary-price {
24208
- font-size: 1.25rem;
24209
- font-weight: 700;
24210
- margin-top: 0.5rem;
24211
- }
24212
-
24213
24247
  /* Guest details section */
24214
24248
  :where(.theme-scope)
24215
24249
  :where([data-block='event-registration'])
@@ -24270,17 +24304,6 @@ const containerResponsiveThemeCss = `/*
24270
24304
  border-top: 1px solid var(--er-border);
24271
24305
  }
24272
24306
 
24273
- @container rb-site (min-width: 768px) {
24274
- @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
24275
- :where(.theme-scope:is(*, :scope))
24276
- :where([data-block='event-registration'])
24277
- .er-guest-card {
24278
- grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
24279
- column-gap: 1rem;
24280
- align-items: start;
24281
- }
24282
- }
24283
- }
24284
24307
 
24285
24308
  /* Shake animation for validation errors */
24286
24309
  @keyframes er-shake {
@@ -24604,8 +24627,8 @@ const containerResponsiveThemeCss = `/*
24604
24627
  :where(.theme-scope)
24605
24628
  :where([data-block='event-registration'])
24606
24629
  .er-notice--info {
24607
- background-color: rgba(var(--tb-primary-100), 0.5);
24608
- border: 1px solid rgba(var(--tb-primary-300), 0.5);
24630
+ background-color: rgb(var(--tb-primary-100) / 0.5);
24631
+ border: 1px solid rgb(var(--tb-primary-300) / 0.5);
24609
24632
  color: rgb(var(--tb-primary-800));
24610
24633
  }
24611
24634
 
@@ -24691,12 +24714,40 @@ const containerResponsiveThemeCss = `/*
24691
24714
  :where([data-block='event-registration'])
24692
24715
  .er-payment-layout-main {
24693
24716
  grid-area: main;
24717
+ /* A column, so an optional sign-in line can settle at the foot of the step. */
24718
+ display: flex;
24719
+ flex-direction: column;
24720
+ }
24721
+
24722
+ :where(.theme-scope)
24723
+ :where([data-block='event-registration'])
24724
+ .er-payment-layout-main
24725
+ > * {
24726
+ flex-shrink: 0;
24727
+ }
24728
+
24729
+ :where(.theme-scope)
24730
+ :where([data-block='event-registration'])
24731
+ .er-payment-layout-main
24732
+ > .er-portal-auth[data-placement='before'] {
24733
+ margin-bottom: 1.5rem;
24734
+ }
24735
+
24736
+ /* The optional sign-in line: pinned to the foot of the step behind a hairline,
24737
+ and never closer than 1.5rem to the step's content. */
24738
+ :where(.theme-scope)
24739
+ :where([data-block='event-registration'])
24740
+ .er-payment-layout-main
24741
+ > .er-portal-auth[data-placement='after'] {
24742
+ margin-top: auto;
24743
+ padding-top: 1rem;
24744
+ border-top: 1px solid var(--er-border);
24694
24745
  }
24695
24746
 
24696
24747
  :where(.theme-scope)
24697
24748
  :where([data-block='event-registration'])
24698
24749
  .er-payment-layout-main
24699
- > .er-portal-auth {
24750
+ > :has(+ .er-portal-auth[data-placement='after']) {
24700
24751
  margin-bottom: 1.5rem;
24701
24752
  }
24702
24753
 
@@ -24716,7 +24767,7 @@ const containerResponsiveThemeCss = `/*
24716
24767
  }
24717
24768
 
24718
24769
  /* =============================================================================
24719
- * Payment Tiles Grid
24770
+ * Attendance mode tiles (in person / online)
24720
24771
  * =============================================================================
24721
24772
  */
24722
24773
 
@@ -24761,9 +24812,9 @@ const containerResponsiveThemeCss = `/*
24761
24812
 
24762
24813
  :where(.theme-scope)
24763
24814
  :where([data-block='event-registration'])
24764
- .er-payment-tile:hover:not([aria-disabled='true']) {
24815
+ .er-payment-tile:hover {
24765
24816
  border-color: var(--er-payment-border-hover);
24766
- box-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
24817
+ box-shadow: 0 8px 18px rgb(var(--tb-shadow, 15 23 42) / 0.08);
24767
24818
  }
24768
24819
 
24769
24820
  :where(.theme-scope)
@@ -24774,89 +24825,6 @@ const containerResponsiveThemeCss = `/*
24774
24825
  box-shadow: 0 0 0 1px var(--er-payment-border-selected);
24775
24826
  }
24776
24827
 
24777
- :where(.theme-scope)
24778
- :where([data-block='event-registration'])
24779
- .er-payment-tile--disabled {
24780
- cursor: not-allowed;
24781
- }
24782
-
24783
- :where(.theme-scope)
24784
- :where([data-block='event-registration'])
24785
- .er-payment-tile--disabled
24786
- > :not(.er-payment-tooltip) {
24787
- opacity: 0.5;
24788
- }
24789
-
24790
- :where(.theme-scope)
24791
- :where([data-block='event-registration'])
24792
- .er-payment-tile--disabled.er-payment-tile--selected {
24793
- border-color: var(--er-payment-border);
24794
- background-color: transparent;
24795
- }
24796
-
24797
- :where(.theme-scope)
24798
- :where([data-block='event-registration'])
24799
- .er-payment-tile--disabled:hover {
24800
- border-color: var(--er-payment-border);
24801
- }
24802
-
24803
- /* Tooltip styling for disabled payment tiles */
24804
- :where(.theme-scope)
24805
- :where([data-block='event-registration'])
24806
- .er-payment-tile[aria-disabled='true'] {
24807
- position: relative;
24808
- }
24809
-
24810
- :where(.theme-scope)
24811
- :where([data-block='event-registration'])
24812
- .er-payment-tooltip {
24813
- display: none;
24814
- position: absolute;
24815
- bottom: 100%;
24816
- left: 50%;
24817
- transform: translateX(-50%);
24818
- margin-bottom: 0.5rem;
24819
- padding: 0.5rem 0.75rem;
24820
- background: rgb(var(--tb-text));
24821
- color: rgb(var(--tb-background));
24822
- font-size: 0.8125rem;
24823
- font-weight: 500;
24824
- border-radius: calc(var(--rb-block-radius) * 0.5);
24825
- white-space: normal;
24826
- max-width: 16rem;
24827
- line-height: 1.35;
24828
- text-align: center;
24829
- box-shadow: 0 8px 20px rgba(var(--tb-shadow), 0.28);
24830
- z-index: 10;
24831
- }
24832
-
24833
- :where(.theme-scope)
24834
- :where([data-block='event-registration'])
24835
- .er-payment-tile--disabled:hover
24836
- .er-payment-tooltip {
24837
- display: block;
24838
- }
24839
-
24840
- :where(.theme-scope)
24841
- :where([data-block='event-registration'])
24842
- .er-payment-tile-icon {
24843
- font-size: 1.5rem;
24844
- line-height: 1;
24845
- /* SVG icon sizing */
24846
- display: flex;
24847
- align-items: center;
24848
- justify-content: center;
24849
- }
24850
-
24851
- :where(.theme-scope)
24852
- :where([data-block='event-registration'])
24853
- .er-payment-tile-icon
24854
- svg {
24855
- width: 24px;
24856
- height: 24px;
24857
- color: currentColor;
24858
- }
24859
-
24860
24828
  :where(.theme-scope)
24861
24829
  :where([data-block='event-registration'])
24862
24830
  .er-payment-tile-label {
@@ -24873,27 +24841,6 @@ const containerResponsiveThemeCss = `/*
24873
24841
  line-height: 1.25;
24874
24842
  }
24875
24843
 
24876
- :where(.theme-scope)
24877
- :where([data-block='event-registration'])
24878
- .er-payment-tile-check {
24879
- position: absolute;
24880
- top: 0.5rem;
24881
- right: 0.5rem;
24882
- }
24883
-
24884
- /* Upsell tiles have a subtle indicator */
24885
- :where(.theme-scope)
24886
- :where([data-block='event-registration'])
24887
- .er-payment-tile--upsell {
24888
- border-style: dashed;
24889
- }
24890
-
24891
- :where(.theme-scope)
24892
- :where([data-block='event-registration'])
24893
- .er-payment-tile--upsell.er-payment-tile--selected {
24894
- border-style: solid;
24895
- }
24896
-
24897
24844
  /* =============================================================================
24898
24845
  * Order Summary Bar (horizontal, in footer)
24899
24846
  * Layout: [Title + meta on left] [Price on right]
@@ -24901,14 +24848,12 @@ const containerResponsiveThemeCss = `/*
24901
24848
  */
24902
24849
 
24903
24850
  :where(.theme-scope) :where([data-block='event-registration']) .er-summary-bar {
24851
+ /* One row under the footer's hairline: what's booked, then the total
24852
+ (issue 1581). */
24904
24853
  display: flex;
24905
24854
  justify-content: space-between;
24906
- align-items: flex-start;
24855
+ align-items: baseline;
24907
24856
  gap: 1rem;
24908
- padding: 0.875rem 1rem;
24909
- background: var(--er-surface-muted);
24910
- border: 1px solid var(--er-summary-border);
24911
- border-radius: calc(var(--rb-block-radius) * 0.75);
24912
24857
  }
24913
24858
 
24914
24859
  :where(.theme-scope)
@@ -24931,18 +24876,30 @@ const containerResponsiveThemeCss = `/*
24931
24876
  :where(.theme-scope)
24932
24877
  :where([data-block='event-registration'])
24933
24878
  .er-summary-bar-meta {
24934
- font-size: 0.8125rem;
24935
- color: rgba(var(--tb-text), 0.7);
24879
+ font-size: 0.9375rem;
24936
24880
  line-height: 1.35;
24937
24881
  }
24938
24882
 
24883
+ :where(.theme-scope)
24884
+ :where([data-block='event-registration'])
24885
+ .er-summary-bar-meta
24886
+ > span
24887
+ + span::before {
24888
+ content: ' · ';
24889
+ }
24890
+
24891
+ :where(.theme-scope)
24892
+ :where([data-block='event-registration'])
24893
+ .er-summary-bar-schedule {
24894
+ color: var(--rb-surface-supporting-color, rgb(var(--tb-text) / 0.7));
24895
+ }
24896
+
24939
24897
  :where(.theme-scope)
24940
24898
  :where([data-block='event-registration'])
24941
24899
  .er-summary-bar-price {
24942
- font-size: 1rem;
24900
+ font-size: 1.125rem;
24943
24901
  font-weight: 700;
24944
24902
  flex-shrink: 0;
24945
- display: block;
24946
24903
  text-align: right;
24947
24904
  }
24948
24905
 
@@ -24950,12 +24907,22 @@ const containerResponsiveThemeCss = `/*
24950
24907
  :where([data-block='event-registration'])
24951
24908
  .er-summary-bar-pricing {
24952
24909
  display: flex;
24953
- flex-direction: column;
24954
- align-items: flex-end;
24955
- gap: 0.125rem;
24910
+ flex-wrap: wrap;
24911
+ justify-content: flex-end;
24912
+ align-items: baseline;
24913
+ column-gap: 0.5rem;
24914
+ row-gap: 0.125rem;
24956
24915
  text-align: right;
24957
24916
  }
24958
24917
 
24918
+ /* Notes under the total take their own line */
24919
+ :where(.theme-scope)
24920
+ :where([data-block='event-registration'])
24921
+ .er-summary-bar-pricing
24922
+ > div {
24923
+ flex-basis: 100%;
24924
+ }
24925
+
24959
24926
  /* Product section in summary bar (for pass/membership selection) */
24960
24927
  :where(.theme-scope)
24961
24928
  :where([data-block='event-registration'])
@@ -25001,7 +24968,7 @@ const containerResponsiveThemeCss = `/*
25001
24968
  :where([data-block='event-registration'])
25002
24969
  .er-summary-bar-product-detail {
25003
24970
  font-size: 0.8125rem;
25004
- color: rgba(var(--tb-text), 0.6);
24971
+ color: rgb(var(--tb-text) / 0.6);
25005
24972
  margin-top: 0.125rem;
25006
24973
  }
25007
24974
 
@@ -25018,9 +24985,8 @@ const containerResponsiveThemeCss = `/*
25018
24985
  :where(.theme-scope)
25019
24986
  :where([data-block='event-registration'])
25020
24987
  .er-summary-bar-price--struck {
25021
- display: block;
25022
24988
  text-decoration: line-through;
25023
- color: rgba(var(--tb-text), 0.5);
24989
+ color: rgb(var(--tb-text) / 0.5);
25024
24990
  font-size: 0.9375rem;
25025
24991
  font-weight: 500;
25026
24992
  text-align: right;
@@ -25042,19 +25008,25 @@ const containerResponsiveThemeCss = `/*
25042
25008
  */
25043
25009
 
25044
25010
  :where(.theme-scope) :where([data-block='event-registration']) .er-portal-auth {
25045
- padding: 1.25rem;
25046
- background: rgba(var(--tb-surface), 0.5);
25047
- border: 1px solid var(--er-border);
25048
- border-radius: var(--rb-block-radius);
25049
- color: var(--er-on-surface);
25011
+ /* The surface the panel paints publishes its own foreground; --tb-onSurface
25012
+ can be a different (near-black) colour from the site's text. */
25013
+ color: var(--rb-surface-text-color, rgb(var(--tb-text)));
25014
+ font-size: 0.9375rem;
25015
+ line-height: 1.5;
25050
25016
  }
25051
25017
 
25052
25018
  :where(.theme-scope)
25053
25019
  :where([data-block='event-registration'])
25054
25020
  .er-portal-auth-title {
25055
25021
  font-weight: 600;
25056
- font-size: 1rem;
25057
- margin: 0 0 0.5rem 0;
25022
+ margin: 0 0 0.25rem 0;
25023
+ }
25024
+
25025
+ :where(.theme-scope)
25026
+ :where([data-block='event-registration'])
25027
+ .er-portal-auth[data-placement='after']
25028
+ .er-portal-auth-title {
25029
+ margin: 0;
25058
25030
  }
25059
25031
 
25060
25032
  :where(.theme-scope)
@@ -25066,6 +25038,15 @@ const containerResponsiveThemeCss = `/*
25066
25038
  line-height: 1.4;
25067
25039
  }
25068
25040
 
25041
+ :where(.theme-scope)
25042
+ :where([data-block='event-registration'])
25043
+ .er-portal-auth
25044
+ .er-portal-auth-text {
25045
+ color: inherit;
25046
+ margin: 0;
25047
+ line-height: inherit;
25048
+ }
25049
+
25069
25050
  :where(.theme-scope)
25070
25051
  :where([data-block='event-registration'])
25071
25052
  .er-portal-auth-link {
@@ -25115,7 +25096,7 @@ const containerResponsiveThemeCss = `/*
25115
25096
  left: 0;
25116
25097
  right: 0;
25117
25098
  bottom: 0;
25118
- background: rgba(var(--tb-scrim), 0.5);
25099
+ background: var(--rb-modal-overlay-bg);
25119
25100
  display: flex;
25120
25101
  align-items: center;
25121
25102
  justify-content: center;
@@ -25130,7 +25111,7 @@ const containerResponsiveThemeCss = `/*
25130
25111
  max-width: 400px;
25131
25112
  width: 100%;
25132
25113
  position: relative;
25133
- box-shadow: 0 10px 25px rgba(var(--tb-shadow), 0.2);
25114
+ box-shadow: 0 10px 25px rgb(var(--tb-shadow) / 0.2);
25134
25115
  }
25135
25116
 
25136
25117
  :where(.theme-scope) :where([data-block='event-registration']) .er-modal-close {
@@ -25142,7 +25123,7 @@ const containerResponsiveThemeCss = `/*
25142
25123
  font-size: 1.5rem;
25143
25124
  line-height: 1;
25144
25125
  cursor: pointer;
25145
- color: rgba(var(--tb-text), 0.5);
25126
+ color: rgb(var(--tb-text) / 0.5);
25146
25127
  padding: 0.25rem;
25147
25128
  }
25148
25129
 
@@ -25208,97 +25189,246 @@ const containerResponsiveThemeCss = `/*
25208
25189
  :where(.theme-scope)
25209
25190
  :where([data-block='event-registration'])
25210
25191
  .er-modal-btn--secondary:hover {
25211
- background: rgba(var(--tb-text), 0.05);
25192
+ background: rgb(var(--tb-text) / 0.05);
25212
25193
  }
25213
25194
 
25214
- /* In-flow booking teaser (sits at the block's position in the page) */
25195
+ /* Booking card: in the page where the editor placed the block (issue 1581) */
25215
25196
  :where(.theme-scope)
25216
25197
  :where([data-block='event-registration'])
25217
- .er-booking-teaser {
25198
+ .er-booking-card {
25218
25199
  display: flex;
25219
- flex-wrap: wrap;
25220
- align-items: center;
25221
- justify-content: space-between;
25222
- gap: 1rem 1.5rem;
25223
- padding: 1.25rem 1.5rem;
25200
+ flex-direction: column;
25201
+ gap: 1.125rem;
25202
+ padding: 1.5rem 1.75rem;
25224
25203
  border: 1px solid var(--er-border);
25225
- border-radius: var(--rb-block-radius);
25226
- background: var(--er-event-card-bg);
25204
+ border-radius: calc(var(--rb-block-radius) * 1.25);
25205
+ background: rgb(var(--tb-surface));
25227
25206
  /* Foreground and button context: theme-core/src/blocks/opaquePanels.ts. */
25228
25207
  }
25229
25208
 
25230
25209
  :where(.theme-scope)
25231
25210
  :where([data-block='event-registration'])
25232
- .er-booking-teaser__info {
25211
+ .er-booking-card__row {
25233
25212
  display: flex;
25234
- flex-direction: column;
25235
- gap: 0.25rem;
25236
- min-width: 0;
25213
+ align-items: center;
25214
+ gap: 1.25rem 1.75rem;
25215
+ flex-wrap: wrap;
25237
25216
  }
25238
25217
 
25239
25218
  :where(.theme-scope)
25240
25219
  :where([data-block='event-registration'])
25241
- .er-booking-teaser__title {
25242
- font-size: 1.0625rem;
25243
- font-weight: 700;
25244
- line-height: 1.2;
25220
+ .er-booking-card__tile {
25221
+ flex: 0 0 auto;
25222
+ display: flex;
25223
+ flex-direction: column;
25224
+ align-items: center;
25225
+ justify-content: center;
25226
+ gap: 0.125rem;
25227
+ width: 4.25rem;
25228
+ height: 4.75rem;
25229
+ border-radius: var(--rb-block-radius);
25230
+ background: rgb(var(--tb-primary));
25231
+ color: rgb(var(--tb-onPrimary, var(--tb-primaryForeground)));
25245
25232
  }
25246
25233
 
25247
25234
  :where(.theme-scope)
25248
25235
  :where([data-block='event-registration'])
25249
- .er-booking-teaser__meta {
25250
- font-size: 0.9375rem;
25251
- line-height: 1.3;
25252
- opacity: 0.75;
25236
+ .er-booking-card__tile-month {
25237
+ font-size: 0.75rem;
25238
+ font-weight: 800;
25239
+ letter-spacing: 0.1em;
25240
+ }
25241
+
25242
+ :where(.theme-scope)
25243
+ :where([data-block='event-registration'])
25244
+ .er-booking-card__tile-day {
25245
+ font-family: var(--font-heading, inherit);
25246
+ font-size: 2rem;
25247
+ line-height: 1;
25253
25248
  }
25254
25249
 
25255
25250
  :where(.theme-scope)
25256
25251
  :where([data-block='event-registration'])
25257
- .er-booking-teaser__tickets {
25252
+ .er-booking-card__badge {
25253
+ flex: 0 0 auto;
25254
+ display: inline-flex;
25255
+ align-items: center;
25256
+ justify-content: center;
25257
+ width: 3rem;
25258
+ height: 3rem;
25259
+ border-radius: 999px;
25260
+ background: rgb(var(--tb-primary));
25261
+ color: rgb(var(--tb-onPrimary, var(--tb-primaryForeground)));
25262
+ }
25263
+
25264
+ :where(.theme-scope)
25265
+ :where([data-block='event-registration'])
25266
+ .er-booking-card__body {
25267
+ flex: 1 1 16rem;
25268
+ min-width: 0;
25258
25269
  display: flex;
25259
25270
  flex-direction: column;
25260
- gap: 0.375rem;
25261
- margin-top: 0.5rem;
25262
- padding-top: 0.625rem;
25263
- border-top: 1px solid var(--er-border);
25271
+ gap: 0.25rem;
25264
25272
  }
25265
25273
 
25266
25274
  :where(.theme-scope)
25267
25275
  :where([data-block='event-registration'])
25268
- .er-booking-teaser__ticket {
25269
- display: flex;
25270
- align-items: baseline;
25271
- justify-content: space-between;
25272
- gap: 1rem;
25276
+ .er-booking-card__when {
25277
+ margin: 0;
25278
+ font-size: 1.125rem;
25279
+ font-weight: 700;
25280
+ line-height: 1.3;
25281
+ }
25282
+
25283
+ :where(.theme-scope)
25284
+ :where([data-block='event-registration'])
25285
+ .er-booking-card__venue,
25286
+ :where(.theme-scope)
25287
+ :where([data-block='event-registration'])
25288
+ .er-booking-card__facts {
25289
+ margin: 0;
25273
25290
  font-size: 0.9375rem;
25274
- line-height: 1.35;
25291
+ line-height: 1.45;
25292
+ color: var(--rb-reg-on-surface-muted, rgb(var(--tb-text) / 0.75));
25275
25293
  }
25276
25294
 
25277
25295
  :where(.theme-scope)
25278
25296
  :where([data-block='event-registration'])
25279
- .er-booking-teaser__ticket-name {
25280
- min-width: 0;
25297
+ .er-booking-card__facts {
25298
+ margin-top: 0.25rem;
25299
+ font-weight: 600;
25300
+ color: inherit;
25281
25301
  }
25282
25302
 
25283
25303
  :where(.theme-scope)
25284
25304
  :where([data-block='event-registration'])
25285
- .er-booking-teaser__cta {
25305
+ .er-booking-card__cta {
25286
25306
  flex: 0 0 auto;
25287
25307
  }
25288
25308
 
25289
- /* Fixed, full-width sticky booking bar (content-agnostic; sits above page flow) */
25290
- :where(.theme-scope) :where([data-block='event-registration']) .er-booking-bar {
25309
+ :where(.theme-scope)
25310
+ :where([data-block='event-registration'])
25311
+ .er-booking-card__dates {
25312
+ display: flex;
25313
+ flex-wrap: wrap;
25314
+ align-items: center;
25315
+ gap: 0.625rem;
25316
+ padding-top: 1.125rem;
25317
+ border-top: 1px solid var(--er-border);
25318
+ }
25319
+
25320
+ :where(.theme-scope)
25321
+ :where([data-block='event-registration'])
25322
+ .er-booking-card__dates-label {
25323
+ margin-right: 0.375rem;
25324
+ font-size: 0.8125rem;
25325
+ font-weight: 800;
25326
+ letter-spacing: 0.08em;
25327
+ text-transform: uppercase;
25328
+ color: var(--rb-reg-on-surface-muted, rgb(var(--tb-text) / 0.75));
25329
+ }
25330
+
25331
+ :where(.theme-scope)
25332
+ :where([data-block='event-registration'])
25333
+ .er-booking-card__date {
25334
+ min-height: 2.75rem;
25335
+ padding: 0 1rem;
25336
+ border: 1px solid var(--er-border);
25337
+ border-radius: 999px;
25338
+ background: var(--er-control-bg);
25339
+ color: inherit;
25340
+ font: inherit;
25341
+ font-size: 0.875rem;
25342
+ font-weight: 700;
25343
+ cursor: pointer;
25344
+ transition: border-color var(--rb-block-transition) ease;
25345
+ }
25346
+
25347
+ :where(.theme-scope)
25348
+ :where([data-block='event-registration'])
25349
+ .er-booking-card__date:hover {
25350
+ border-color: rgb(var(--tb-primary));
25351
+ }
25352
+
25353
+ :where(.theme-scope)
25354
+ :where([data-block='event-registration'])
25355
+ .er-booking-card__date[data-full] {
25356
+ border-style: dashed;
25357
+ background: transparent;
25358
+ color: var(--rb-reg-on-surface-muted, rgb(var(--tb-text) / 0.75));
25359
+ }
25360
+
25361
+ :where(.theme-scope)
25362
+ :where([data-block='event-registration'])
25363
+ .er-booking-card__more {
25364
+ font-size: 0.875rem;
25365
+ color: var(--rb-reg-on-surface-muted, rgb(var(--tb-text) / 0.75));
25366
+ }
25367
+
25368
+ /* Booking bar: fixed to the bottom once the visitor is past the first screen.
25369
+ It stays mounted and slides: the card pushes it down in step as it rises
25370
+ from the bottom of the screen (--er-bar-push, set per frame), and it slides
25371
+ back up when the visitor scrolls past the card (issue 1581). */
25372
+ :where(.theme-scope)
25373
+ :where([data-block='event-registration'])
25374
+ .er-booking-bar {
25291
25375
  position: fixed;
25292
25376
  left: 0;
25293
25377
  right: 0;
25294
25378
  bottom: 0;
25295
25379
  z-index: 12000;
25296
- padding: 0.75rem max(1rem, env(safe-area-inset-right))
25297
- max(0.75rem, env(safe-area-inset-bottom))
25380
+ padding: 0.625rem max(1rem, env(safe-area-inset-right))
25381
+ max(0.625rem, env(safe-area-inset-bottom))
25298
25382
  max(1rem, env(safe-area-inset-left));
25299
- background: rgb(var(--tb-background));
25383
+ background: rgb(var(--tb-surface));
25300
25384
  border-top: 1px solid var(--er-border);
25301
- box-shadow: 0 -10px 30px rgba(var(--tb-shadow), 0.16);
25385
+ box-shadow: 0 -8px 28px rgb(var(--tb-shadow) / 0.14);
25386
+ /* Set per frame on the element while the card pushes the bar off. */
25387
+ --er-bar-push: 0px;
25388
+ transform: translateY(var(--er-bar-push));
25389
+ transition:
25390
+ transform 220ms ease,
25391
+ visibility 0s linear 0s;
25392
+ /* Foreground and button context: theme-core/src/blocks/opaquePanels.ts. */
25393
+ }
25394
+
25395
+ :where(.theme-scope)
25396
+ :where([data-block='event-registration'])
25397
+ .er-booking-bar[data-state='hidden'] {
25398
+ transform: translateY(calc(100% + 1.75rem));
25399
+ visibility: hidden;
25400
+ transition:
25401
+ transform 220ms ease,
25402
+ visibility 0s linear 220ms;
25403
+ }
25404
+
25405
+ :where(.theme-scope)
25406
+ :where([data-block='event-registration'])
25407
+ .er-booking-bar[data-pushing='true'] {
25408
+ /* Following the card frame by frame: no easing to lag behind. */
25409
+ transition: none;
25410
+ }
25411
+
25412
+ @media (prefers-reduced-motion: reduce) {
25413
+ :where(.theme-scope)
25414
+ :where([data-block='event-registration'])
25415
+ .er-booking-bar {
25416
+ transform: none;
25417
+ transition:
25418
+ opacity 150ms ease,
25419
+ visibility 0s linear 0s;
25420
+ }
25421
+
25422
+ :where(.theme-scope)
25423
+ :where([data-block='event-registration'])
25424
+ .er-booking-bar[data-state='hidden'] {
25425
+ transform: none;
25426
+ opacity: 0;
25427
+ transition:
25428
+ opacity 150ms ease,
25429
+ visibility 0s linear 150ms;
25430
+ }
25431
+
25302
25432
  }
25303
25433
 
25304
25434
  :where(.theme-scope)
@@ -25306,27 +25436,28 @@ const containerResponsiveThemeCss = `/*
25306
25436
  .er-booking-bar__inner {
25307
25437
  display: flex;
25308
25438
  align-items: center;
25309
- justify-content: space-between;
25310
- gap: 1rem;
25439
+ gap: 0.75rem 1.5rem;
25311
25440
  width: 100%;
25312
- max-width: 72rem;
25441
+ max-width: 77rem;
25442
+ min-height: 2.75rem;
25313
25443
  margin-inline: auto;
25314
25444
  }
25315
25445
 
25316
25446
  :where(.theme-scope)
25317
25447
  :where([data-block='event-registration'])
25318
25448
  .er-booking-bar__info {
25449
+ flex: 1 1 auto;
25319
25450
  display: flex;
25320
- flex-direction: column;
25321
- gap: 0.125rem;
25451
+ align-items: center;
25452
+ gap: 0.25rem 0.875rem;
25322
25453
  min-width: 0;
25323
25454
  }
25324
25455
 
25325
25456
  :where(.theme-scope)
25326
25457
  :where([data-block='event-registration'])
25327
25458
  .er-booking-bar__title {
25328
- font-size: 0.95rem;
25329
- font-weight: 700;
25459
+ font-family: var(--font-heading, inherit);
25460
+ font-size: 1.25rem;
25330
25461
  line-height: 1.2;
25331
25462
  white-space: nowrap;
25332
25463
  overflow: hidden;
@@ -25336,18 +25467,202 @@ const containerResponsiveThemeCss = `/*
25336
25467
  :where(.theme-scope)
25337
25468
  :where([data-block='event-registration'])
25338
25469
  .er-booking-bar__meta {
25339
- font-size: 0.8125rem;
25340
- line-height: 1.25;
25341
- opacity: 0.75;
25470
+ display: block;
25471
+ min-width: 0;
25472
+ font-size: 0.9375rem;
25473
+ line-height: 1.3;
25474
+ color: var(--rb-surface-supporting-color, rgb(var(--tb-text) / 0.75));
25342
25475
  white-space: nowrap;
25343
25476
  overflow: hidden;
25344
25477
  text-overflow: ellipsis;
25345
25478
  }
25346
25479
 
25480
+ /* Facts are set apart by a thin muted rule rather than a dot (issue 1581) */
25481
+ :where(.theme-scope)
25482
+ :where([data-block='event-registration'])
25483
+ .er-booking-bar__divider {
25484
+ display: inline-block;
25485
+ width: 0;
25486
+ height: 0.875em;
25487
+ margin-inline: 0.75rem;
25488
+ border-left: 1px solid var(--er-border);
25489
+ vertical-align: -0.0625em;
25490
+ }
25491
+
25492
+ :where(.theme-scope)
25493
+ :where([data-block='event-registration'])
25494
+ .er-booking-bar__fact--price {
25495
+ font-weight: 600;
25496
+ color: var(--rb-surface-text-color, rgb(var(--tb-text)));
25497
+ }
25498
+
25499
+ :where(.theme-scope)
25500
+ :where([data-block='event-registration'])
25501
+ .er-booking-bar[data-entry='inProgress'] .er-booking-bar__meta {
25502
+ font-weight: 600;
25503
+ color: rgb(var(--tb-primary));
25504
+ }
25505
+
25506
+ :where(.theme-scope)
25507
+ :where([data-block='event-registration'])
25508
+ .er-booking-bar__progress {
25509
+ flex: 0 0 7.5rem;
25510
+ height: 4px;
25511
+ border-radius: 4px;
25512
+ background: rgb(var(--tb-text) / 0.12);
25513
+ overflow: hidden;
25514
+ }
25515
+
25516
+ :where(.theme-scope)
25517
+ :where([data-block='event-registration'])
25518
+ .er-booking-bar__progress-fill {
25519
+ display: block;
25520
+ height: 100%;
25521
+ border-radius: 4px;
25522
+ background: rgb(var(--tb-primary));
25523
+ }
25524
+
25347
25525
  :where(.theme-scope)
25348
25526
  :where([data-block='event-registration'])
25349
25527
  .er-booking-bar__cta {
25350
25528
  flex: 0 0 auto;
25529
+ white-space: nowrap;
25530
+ }
25531
+
25532
+ /* Booked or waitlisted: one quiet status line; the whole bar leads back to the card */
25533
+ :where(.theme-scope)
25534
+ :where([data-block='event-registration'])
25535
+ .er-booking-bar__status {
25536
+ display: flex;
25537
+ align-items: center;
25538
+ gap: 0.625rem;
25539
+ width: 100%;
25540
+ min-width: 0;
25541
+ min-height: 2.75rem;
25542
+ padding: 0;
25543
+ border: 0;
25544
+ background: transparent;
25545
+ color: inherit;
25546
+ font: inherit;
25547
+ font-size: 0.9375rem;
25548
+ line-height: 1.3;
25549
+ text-align: start;
25550
+ cursor: pointer;
25551
+ }
25552
+
25553
+ :where(.theme-scope)
25554
+ :where([data-block='event-registration'])
25555
+ .er-booking-bar__status:focus-visible {
25556
+ outline: 2px solid rgb(var(--tb-primary));
25557
+ outline-offset: 4px;
25558
+ border-radius: 4px;
25559
+ }
25560
+
25561
+ :where(.theme-scope)
25562
+ :where([data-block='event-registration'])
25563
+ .er-booking-bar__check {
25564
+ flex: 0 0 auto;
25565
+ display: inline-flex;
25566
+ align-items: center;
25567
+ justify-content: center;
25568
+ width: 1.375rem;
25569
+ height: 1.375rem;
25570
+ border-radius: 999px;
25571
+ background: rgb(var(--tb-primary));
25572
+ color: rgb(var(--tb-onPrimary));
25573
+ }
25574
+
25575
+ :where(.theme-scope)
25576
+ :where([data-block='event-registration'])
25577
+ .er-booking-bar__status-text {
25578
+ display: flex;
25579
+ align-items: center;
25580
+ min-width: 0;
25581
+ white-space: nowrap;
25582
+ }
25583
+
25584
+ :where(.theme-scope)
25585
+ :where([data-block='event-registration'])
25586
+ .er-booking-bar__status-title {
25587
+ flex: 0 0 auto;
25588
+ font-weight: 700;
25589
+ color: var(--rb-surface-text-color, rgb(var(--tb-text)));
25590
+ }
25591
+
25592
+ @container rb-site (max-width: 639px) {
25593
+ @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
25594
+ /* Phones: the title or status on the first line, the facts smaller and
25595
+ quieter below it, beside a compact button (issue 1581). */
25596
+ :where(.theme-scope:is(*, :scope))
25597
+ :where([data-block='event-registration'])
25598
+ .er-booking-bar__info {
25599
+ flex-direction: column;
25600
+ align-items: flex-start;
25601
+ gap: 0.125rem;
25602
+ }
25603
+
25604
+ :where(.theme-scope:is(*, :scope))
25605
+ :where([data-block='event-registration'])
25606
+ .er-booking-bar__title {
25607
+ max-width: 100%;
25608
+ font-family: inherit;
25609
+ font-size: 0.9375rem;
25610
+ font-weight: 700;
25611
+ line-height: 1.25;
25612
+ }
25613
+
25614
+ :where(.theme-scope:is(*, :scope))
25615
+ :where([data-block='event-registration'])
25616
+ .er-booking-bar__meta {
25617
+ max-width: 100%;
25618
+ font-size: 0.8125rem;
25619
+ }
25620
+
25621
+ :where(.theme-scope:is(*, :scope))
25622
+ :where([data-block='event-registration'])
25623
+ .er-booking-bar__divider {
25624
+ margin-inline: 0.5rem;
25625
+ }
25626
+
25627
+ :where(.theme-scope:is(*, :scope))
25628
+ :where([data-block='event-registration'])
25629
+ .er-booking-bar__progress {
25630
+ flex-basis: auto;
25631
+ width: 6rem;
25632
+ }
25633
+
25634
+ :where(.theme-scope:is(*, :scope))
25635
+ :where([data-block='event-registration'])
25636
+ .er-booking-bar__status-text {
25637
+ flex-direction: column;
25638
+ align-items: flex-start;
25639
+ gap: 0.125rem;
25640
+ }
25641
+
25642
+ :where(.theme-scope:is(*, :scope))
25643
+ :where([data-block='event-registration'])
25644
+ .er-booking-overlay__header {
25645
+ row-gap: 0.625rem;
25646
+ padding: 0.875rem 1rem 0.75rem;
25647
+ }
25648
+
25649
+ /* The status and its facts are on separate lines: no rule between them */
25650
+ :where(.theme-scope:is(*, :scope))
25651
+ :where([data-block='event-registration'])
25652
+ .er-booking-bar__status-text > .er-booking-bar__divider {
25653
+ display: none;
25654
+ }
25655
+
25656
+ :where(.theme-scope:is(*, :scope))
25657
+ :where([data-block='event-registration'])
25658
+ .er-booking-bar
25659
+ .er-booking-bar__inner
25660
+ > .er-booking-bar__cta {
25661
+ min-height: 2.5rem;
25662
+ padding: 0.5rem 1rem;
25663
+ font-size: 0.875rem;
25664
+ }
25665
+ }
25351
25666
  }
25352
25667
 
25353
25668
  :where(.theme-scope)
@@ -25374,7 +25689,9 @@ const containerResponsiveThemeCss = `/*
25374
25689
  height: 100dvh;
25375
25690
  min-height: 0;
25376
25691
  overflow: hidden;
25377
- background: rgb(var(--tb-background));
25692
+ /* Surface, like the card, the bar and the system page's column, and what
25693
+ the embedded Stripe checkout is branded with (checkoutBranding.ts). */
25694
+ background: rgb(var(--tb-surface));
25378
25695
  /* Foreground and button context: theme-core/src/blocks/opaquePanels.ts. */
25379
25696
  }
25380
25697
 
@@ -25384,36 +25701,70 @@ const containerResponsiveThemeCss = `/*
25384
25701
  flex: 0 0 auto;
25385
25702
  z-index: 2;
25386
25703
  display: flex;
25387
- align-items: center;
25704
+ flex-wrap: wrap;
25705
+ align-items: flex-start;
25388
25706
  justify-content: space-between;
25389
- gap: 1rem;
25390
- padding: 1rem;
25391
- background: rgb(var(--tb-background));
25707
+ gap: 0.875rem 1rem;
25708
+ padding: 1.125rem 1.25rem 1rem;
25709
+ background: rgb(var(--tb-surface));
25392
25710
  border-bottom: 1px solid var(--er-border);
25393
25711
  }
25394
25712
 
25713
+ :where(.theme-scope)
25714
+ :where([data-block='event-registration'])
25715
+ .er-booking-overlay__progress {
25716
+ /* Pinned under the title, so the step stays in view while the step scrolls
25717
+ (issue 1581). It takes the header's full width, on its own row. */
25718
+ flex: 1 0 100%;
25719
+ }
25720
+
25721
+ :where(.theme-scope)
25722
+ :where([data-block='event-registration'])
25723
+ .er-booking-overlay__progress
25724
+ .rb-progress {
25725
+ margin-bottom: 0;
25726
+ }
25727
+
25728
+ :where(.theme-scope)
25729
+ :where([data-block='event-registration'])
25730
+ .er-booking-overlay__heading {
25731
+ display: flex;
25732
+ flex-direction: column;
25733
+ gap: 0.25rem;
25734
+ min-width: 0;
25735
+ }
25736
+
25395
25737
  :where(.theme-scope)
25396
25738
  :where([data-block='event-registration'])
25397
25739
  .er-booking-overlay__title {
25398
25740
  margin: 0;
25399
- font-size: 1rem;
25400
- line-height: 1.25;
25401
- font-weight: 700;
25741
+ font-family: var(--font-heading, inherit);
25742
+ font-size: 1.5rem;
25743
+ line-height: 1.15;
25744
+ }
25745
+
25746
+ :where(.theme-scope)
25747
+ :where([data-block='event-registration'])
25748
+ .er-booking-overlay__subtitle {
25749
+ margin: 0;
25750
+ font-size: 0.875rem;
25751
+ line-height: 1.4;
25752
+ color: var(--rb-reg-on-surface-muted, rgb(var(--tb-text) / 0.75));
25402
25753
  }
25403
25754
 
25404
25755
  :where(.theme-scope)
25405
25756
  :where([data-block='event-registration'])
25406
25757
  .er-booking-overlay__close {
25407
- width: 2rem;
25408
- height: 2rem;
25758
+ flex: 0 0 auto;
25759
+ width: 2.75rem;
25760
+ height: 2.75rem;
25409
25761
  display: inline-flex;
25410
25762
  align-items: center;
25411
25763
  justify-content: center;
25412
25764
  border: 1px solid var(--er-border);
25413
25765
  border-radius: 999px;
25414
25766
  background: transparent;
25415
- color: rgb(var(--tb-text));
25416
- font-size: 1.25rem;
25767
+ color: inherit;
25417
25768
  line-height: 1;
25418
25769
  cursor: pointer;
25419
25770
  }
@@ -25449,10 +25800,74 @@ const containerResponsiveThemeCss = `/*
25449
25800
  :where(.theme-scope)
25450
25801
  :where([data-block='event-registration'])
25451
25802
  .er-container--overlay
25452
- .er-payment-layout-main {
25453
- min-height: 0;
25454
- overflow: auto;
25455
- padding: 1rem;
25803
+ .er-payment-layout-main {
25804
+ min-height: 0;
25805
+ overflow: auto;
25806
+ padding: 1.25rem;
25807
+ }
25808
+
25809
+ /* Processing, confirmation and error take the whole panel (issue 1581) */
25810
+ :where(.theme-scope)
25811
+ :where([data-block='event-registration'])
25812
+ .er-container--overlay
25813
+ .er-whole-screen {
25814
+ flex: 1 1 auto;
25815
+ display: flex;
25816
+ flex-direction: column;
25817
+ min-height: 0;
25818
+ }
25819
+
25820
+ :where(.theme-scope)
25821
+ :where([data-block='event-registration'])
25822
+ .er-container--overlay
25823
+ .er-whole-screen__body {
25824
+ flex: 1 1 auto;
25825
+ min-height: 0;
25826
+ overflow: auto;
25827
+ padding: 1.5rem 1.25rem;
25828
+ }
25829
+
25830
+ /* The confirmation's one action sits where the steps' Continue does: pinned
25831
+ and full width in the panel, flowing under the content in the aside. */
25832
+ :where(.theme-scope)
25833
+ :where([data-block='event-registration'])
25834
+ .er-whole-screen__footer {
25835
+ margin-top: 1.5rem;
25836
+ }
25837
+
25838
+ :where(.theme-scope)
25839
+ :where([data-block='event-registration'])
25840
+ .er-container--overlay
25841
+ .er-whole-screen__footer {
25842
+ margin-top: 0;
25843
+ }
25844
+
25845
+ :where(.theme-scope)
25846
+ :where([data-block='event-registration'])
25847
+ .er-container--overlay
25848
+ .er-whole-screen__footer
25849
+ .er-whole-screen__action {
25850
+ width: 100%;
25851
+ justify-content: center;
25852
+ }
25853
+
25854
+ /* The header already names the event and its date, so the footer summary
25855
+ drops its title and schedule; the discount keeps just its name. */
25856
+ :where(.theme-scope)
25857
+ :where([data-block='event-registration'])
25858
+ .er-container--overlay
25859
+ :is(.er-summary-bar-event, .er-summary-bar-schedule, .er-summary-bar-discount-detail) {
25860
+ display: none;
25861
+ }
25862
+
25863
+ /* On the date step the chosen date is the news, so it stays. */
25864
+ :where(.theme-scope)
25865
+ :where([data-block='event-registration'])
25866
+ .er-container--overlay
25867
+ .er-summary-bar[data-step='select-event']
25868
+ .er-summary-bar-schedule {
25869
+ display: inline;
25870
+ color: inherit;
25456
25871
  }
25457
25872
 
25458
25873
  :where(.theme-scope)
@@ -25462,9 +25877,9 @@ const containerResponsiveThemeCss = `/*
25462
25877
  position: relative;
25463
25878
  z-index: 3;
25464
25879
  padding: 0.875rem 1rem max(0.875rem, env(safe-area-inset-bottom));
25465
- background: rgb(var(--tb-background));
25880
+ background: rgb(var(--tb-surface));
25466
25881
  border-top: 1px solid var(--er-border);
25467
- box-shadow: 0 -12px 26px rgba(var(--tb-shadow), 0.12);
25882
+ box-shadow: 0 -12px 26px rgb(var(--tb-shadow) / 0.12);
25468
25883
  }
25469
25884
 
25470
25885
  :where(.theme-scope)
@@ -25487,14 +25902,14 @@ const containerResponsiveThemeCss = `/*
25487
25902
  .er-booking-overlay__panel {
25488
25903
  width: min(32rem, 100vw);
25489
25904
  min-height: 100%;
25490
- box-shadow: -16px 0 40px rgba(var(--tb-shadow), 0.22);
25905
+ box-shadow: -16px 0 40px rgb(var(--tb-shadow) / 0.22);
25491
25906
  }
25492
25907
 
25493
25908
  :where(.theme-scope:is(*, :scope))
25494
25909
  :where([data-block='event-registration'])
25495
25910
  .er-container--overlay
25496
25911
  .er-payment-layout-main {
25497
- padding: 1.25rem;
25912
+ padding: 1.5rem;
25498
25913
  }
25499
25914
 
25500
25915
  :where(.theme-scope:is(*, :scope))
@@ -25506,6 +25921,125 @@ const containerResponsiveThemeCss = `/*
25506
25921
  }
25507
25922
  }
25508
25923
 
25924
+ /* The system event page hosts the same panel in its sticky column (issue 1581):
25925
+ from 1024px the steps scroll inside it and the footer stays pinned. */
25926
+ @container rb-site (min-width: 1024px) {
25927
+ @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
25928
+ :where(.theme-scope:is(*, :scope))
25929
+ :where([data-block='event-registration'].event-registration--embedded)
25930
+ .er-container {
25931
+ display: flex;
25932
+ max-height: calc(100dvh - 9rem);
25933
+ min-height: 0;
25934
+ }
25935
+
25936
+ :where(.theme-scope:is(*, :scope))
25937
+ :where([data-block='event-registration'].event-registration--embedded)
25938
+ .er-payment-layout {
25939
+ flex: 1 1 auto;
25940
+ min-height: 0;
25941
+ gap: 0;
25942
+ grid-template-rows: minmax(0, 1fr) auto;
25943
+ grid-template-areas:
25944
+ 'main'
25945
+ 'footer';
25946
+ }
25947
+
25948
+ :where(.theme-scope:is(*, :scope))
25949
+ :where([data-block='event-registration'].event-registration--embedded)
25950
+ .er-payment-layout-main {
25951
+ min-height: 0;
25952
+ overflow: auto;
25953
+ padding-bottom: 1rem;
25954
+ }
25955
+
25956
+ :where(.theme-scope:is(*, :scope))
25957
+ :where([data-block='event-registration'].event-registration--embedded)
25958
+ .er-payment-layout-footer {
25959
+ padding-top: 0.875rem;
25960
+ border-top: 1px solid var(--er-border);
25961
+ }
25962
+
25963
+ :where(.theme-scope:is(*, :scope))
25964
+ :where([data-block='event-registration'].event-registration--embedded)
25965
+ .er-whole-screen {
25966
+ flex: 1 1 auto;
25967
+ display: flex;
25968
+ flex-direction: column;
25969
+ min-height: 0;
25970
+ }
25971
+
25972
+ :where(.theme-scope:is(*, :scope))
25973
+ :where([data-block='event-registration'].event-registration--embedded)
25974
+ .er-whole-screen__body {
25975
+ flex: 1 1 auto;
25976
+ min-height: 0;
25977
+ overflow: auto;
25978
+ }
25979
+ }
25980
+ }
25981
+
25982
+ /* Confirmation summary: only the facts known for certain */
25983
+ :where(.theme-scope)
25984
+ :where([data-block='event-registration'])
25985
+ .er-confirmation-summary {
25986
+ display: flex;
25987
+ flex-direction: column;
25988
+ gap: 0.75rem;
25989
+ margin: 1.5rem 0 0;
25990
+ padding: 1.125rem 1.25rem;
25991
+ border: 1px solid var(--er-border);
25992
+ border-radius: var(--rb-block-radius);
25993
+ font-size: 0.9375rem;
25994
+ }
25995
+
25996
+ :where(.theme-scope)
25997
+ :where([data-block='event-registration'])
25998
+ .er-confirmation-summary__row {
25999
+ display: flex;
26000
+ justify-content: space-between;
26001
+ gap: 1rem;
26002
+ }
26003
+
26004
+ :where(.theme-scope)
26005
+ :where([data-block='event-registration'])
26006
+ .er-confirmation-summary__row dt {
26007
+ color: var(--rb-reg-on-surface-muted, rgb(var(--tb-text) / 0.75));
26008
+ }
26009
+
26010
+ :where(.theme-scope)
26011
+ :where([data-block='event-registration'])
26012
+ .er-confirmation-summary__row dd {
26013
+ margin: 0;
26014
+ font-weight: 700;
26015
+ text-align: end;
26016
+ }
26017
+
26018
+ /* Why passes and memberships are greyed out for more than one place */
26019
+ :where(.theme-scope)
26020
+ :where([data-block='event-registration'])
26021
+ .er-entitlement-note {
26022
+ margin: 0;
26023
+ padding-top: 0.75rem;
26024
+ border-top: 1px solid var(--er-border);
26025
+ font-size: 0.875rem;
26026
+ color: var(--rb-reg-on-surface-muted, rgb(var(--tb-text) / 0.75));
26027
+ }
26028
+
26029
+ :where(.theme-scope)
26030
+ :where([data-block='event-registration'])
26031
+ .er-entitlement-note__action {
26032
+ padding: 0;
26033
+ border: 0;
26034
+ background: none;
26035
+ color: rgb(var(--tb-primary));
26036
+ font: inherit;
26037
+ font-weight: 700;
26038
+ text-decoration: underline;
26039
+ text-underline-offset: 3px;
26040
+ cursor: pointer;
26041
+ }
26042
+
25509
26043
  /* Magic Link Form */
25510
26044
  :where(.theme-scope)
25511
26045
  :where([data-block='event-registration'])
@@ -25581,8 +26115,8 @@ const containerResponsiveThemeCss = `/*
25581
26115
  align-items: flex-start;
25582
26116
  gap: 0.75rem;
25583
26117
  padding: 1rem 1.25rem;
25584
- background: rgba(var(--tb-primary-100), 0.4);
25585
- border: 1px solid rgba(var(--tb-primary-300), 0.4);
26118
+ background: rgb(var(--tb-primary-100) / 0.4);
26119
+ border: 1px solid rgb(var(--tb-primary-300) / 0.4);
25586
26120
  border-radius: var(--rb-block-radius);
25587
26121
  }
25588
26122
 
@@ -25630,201 +26164,6 @@ const containerResponsiveThemeCss = `/*
25630
26164
  }
25631
26165
 
25632
26166
  /* Selection cards for pass holders */
25633
- :where(.theme-scope)
25634
- :where([data-block='event-registration'])
25635
- .er-booking-mode-cards {
25636
- display: grid;
25637
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
25638
- gap: 1rem;
25639
- }
25640
-
25641
- :where(.theme-scope)
25642
- :where([data-block='event-registration'])
25643
- .er-booking-mode-card {
25644
- display: flex;
25645
- flex-direction: column;
25646
- align-items: center;
25647
- gap: 0.5rem;
25648
- padding: 1.25rem 1rem;
25649
- border: 2px solid var(--er-payment-border);
25650
- border-radius: var(--rb-block-radius);
25651
- background: transparent;
25652
- cursor: pointer;
25653
- text-align: center;
25654
- position: relative;
25655
- transition:
25656
- border-color var(--rb-block-transition) ease,
25657
- background-color var(--rb-block-transition) ease;
25658
- }
25659
-
25660
- :where(.theme-scope)
25661
- :where([data-block='event-registration'])
25662
- .er-booking-mode-card:hover:not([aria-disabled='true']) {
25663
- border-color: var(--er-payment-border-hover);
25664
- }
25665
-
25666
- :where(.theme-scope)
25667
- :where([data-block='event-registration'])
25668
- .er-booking-mode-card--selected {
25669
- border-color: var(--er-payment-border-selected);
25670
- background-color: var(--er-payment-bg-selected);
25671
- }
25672
-
25673
- :where(.theme-scope)
25674
- :where([data-block='event-registration'])
25675
- .er-booking-mode-card--disabled {
25676
- opacity: 1;
25677
- cursor: not-allowed;
25678
- border-color: var(--er-payment-border);
25679
- background: transparent;
25680
- }
25681
-
25682
- :where(.theme-scope)
25683
- :where([data-block='event-registration'])
25684
- .er-booking-mode-card--disabled.er-booking-mode-card--selected {
25685
- border-color: var(--er-payment-border);
25686
- background: transparent;
25687
- }
25688
-
25689
- :where(.theme-scope)
25690
- :where([data-block='event-registration'])
25691
- .er-booking-mode-card--disabled
25692
- > :not(.er-booking-mode-tooltip) {
25693
- opacity: 0.55;
25694
- }
25695
-
25696
- :where(.theme-scope)
25697
- :where([data-block='event-registration'])
25698
- .er-booking-mode-card--disabled:hover {
25699
- border-color: var(--er-payment-border);
25700
- }
25701
-
25702
- :where(.theme-scope)
25703
- :where([data-block='event-registration'])
25704
- .er-booking-mode-card--disabled
25705
- .er-booking-mode-card-icon,
25706
- :where(.theme-scope)
25707
- :where([data-block='event-registration'])
25708
- .er-booking-mode-card--disabled
25709
- .er-booking-mode-card-label {
25710
- color: var(--er-on-surface-disabled);
25711
- }
25712
-
25713
- :where(.theme-scope)
25714
- :where([data-block='event-registration'])
25715
- .er-booking-mode-card--disabled
25716
- .er-booking-mode-card-detail {
25717
- color: var(--er-on-surface-disabled-detail);
25718
- }
25719
-
25720
- :where(.theme-scope)
25721
- :where([data-block='event-registration'])
25722
- .er-booking-mode-card-icon {
25723
- font-size: 1.75rem;
25724
- line-height: 1;
25725
- /* SVG icon sizing */
25726
- display: flex;
25727
- align-items: center;
25728
- justify-content: center;
25729
- }
25730
-
25731
- :where(.theme-scope)
25732
- :where([data-block='event-registration'])
25733
- .er-booking-mode-card-icon
25734
- svg {
25735
- width: 24px;
25736
- height: 24px;
25737
- color: currentColor;
25738
- }
25739
-
25740
- :where(.theme-scope)
25741
- :where([data-block='event-registration'])
25742
- .er-booking-mode-card-label {
25743
- font-weight: 600;
25744
- font-size: 1rem;
25745
- line-height: 1.3;
25746
- }
25747
-
25748
- :where(.theme-scope)
25749
- :where([data-block='event-registration'])
25750
- .er-booking-mode-card-detail {
25751
- font-size: 0.875rem;
25752
- color: var(--er-on-surface-subtle);
25753
- line-height: 1.3;
25754
- }
25755
-
25756
- :where(.theme-scope)
25757
- :where([data-block='event-registration'])
25758
- .er-booking-mode-card-check {
25759
- position: absolute;
25760
- top: 0.5rem;
25761
- right: 0.5rem;
25762
- }
25763
-
25764
- /* Alternative link in booking mode */
25765
- :where(.theme-scope)
25766
- :where([data-block='event-registration'])
25767
- .er-booking-mode-alt {
25768
- margin-top: 1rem;
25769
- text-align: center;
25770
- }
25771
-
25772
- :where(.theme-scope)
25773
- :where([data-block='event-registration'])
25774
- .er-booking-mode-alt-link {
25775
- background: none;
25776
- border: none;
25777
- padding: 0;
25778
- font-size: 0.9375rem;
25779
- color: rgb(var(--tb-primary));
25780
- cursor: pointer;
25781
- text-decoration: underline;
25782
- text-underline-offset: 2px;
25783
- }
25784
-
25785
- :where(.theme-scope)
25786
- :where([data-block='event-registration'])
25787
- .er-booking-mode-alt-link:hover {
25788
- text-decoration: none;
25789
- }
25790
-
25791
- /* Tooltip styling for disabled options */
25792
- :where(.theme-scope)
25793
- :where([data-block='event-registration'])
25794
- .er-booking-mode-card[aria-disabled='true'] {
25795
- position: relative;
25796
- }
25797
-
25798
- /* Tooltip appears on hover for disabled cards */
25799
- :where(.theme-scope)
25800
- :where([data-block='event-registration'])
25801
- .er-booking-mode-tooltip {
25802
- display: none;
25803
- position: absolute;
25804
- bottom: 100%;
25805
- left: 50%;
25806
- transform: translateX(-50%);
25807
- margin-bottom: 0.5rem;
25808
- padding: 0.5rem 0.75rem;
25809
- background: rgb(var(--tb-text));
25810
- color: rgb(var(--tb-background));
25811
- font-size: 0.8125rem;
25812
- font-weight: 500;
25813
- border-radius: calc(var(--rb-block-radius) * 0.5);
25814
- white-space: normal;
25815
- max-width: 16rem;
25816
- line-height: 1.35;
25817
- text-align: center;
25818
- box-shadow: 0 8px 20px rgba(var(--tb-shadow), 0.28);
25819
- z-index: 10;
25820
- }
25821
-
25822
- :where(.theme-scope)
25823
- :where([data-block='event-registration'])
25824
- .er-booking-mode-card--disabled:hover
25825
- .er-booking-mode-tooltip {
25826
- display: block;
25827
- }
25828
26167
 
25829
26168
  /* =============================================================================
25830
26169
  * Block: Event Calendar
@@ -26053,7 +26392,7 @@ const containerResponsiveThemeCss = `/*
26053
26392
  :where(.theme-scope)
26054
26393
  :where([data-block='event-calendar'])
26055
26394
  .event-calendar-more:hover {
26056
- background-color: rgba(var(--tb-primary), 0.1);
26395
+ background-color: rgb(var(--tb-primary) / 0.1);
26057
26396
  }
26058
26397
 
26059
26398
  :where(.theme-scope)
@@ -26127,7 +26466,7 @@ const containerResponsiveThemeCss = `/*
26127
26466
  :where(.theme-scope)
26128
26467
  :where([data-block='event-calendar'])
26129
26468
  .event-category-btn:hover:not(:disabled) {
26130
- border-color: rgba(var(--tb-primary), 0.5);
26469
+ border-color: rgb(var(--tb-primary) / 0.5);
26131
26470
  }
26132
26471
 
26133
26472
  :where(.theme-scope)
@@ -26200,7 +26539,7 @@ const containerResponsiveThemeCss = `/*
26200
26539
  :where([data-block='event-calendar'])
26201
26540
  .event-calendar-view-btn:hover {
26202
26541
  opacity: 1;
26203
- border-color: rgba(var(--tb-primary), 0.5);
26542
+ border-color: rgb(var(--tb-primary) / 0.5);
26204
26543
  }
26205
26544
 
26206
26545
  :where(.theme-scope)
@@ -26317,7 +26656,7 @@ const containerResponsiveThemeCss = `/*
26317
26656
  :where(.theme-scope)
26318
26657
  :where([data-block='event-calendar'])
26319
26658
  .event-agenda-card:hover {
26320
- border-color: rgba(var(--tb-primary), 0.5);
26659
+ border-color: rgb(var(--tb-primary) / 0.5);
26321
26660
  background-color: var(--ec-event-bg);
26322
26661
  }
26323
26662
 
@@ -26766,7 +27105,7 @@ const containerResponsiveThemeCss = `/*
26766
27105
  border-left-width: 4px;
26767
27106
  border-radius: calc(var(--rb-block-radius) / 1.5);
26768
27107
  background-color: var(--ec-surface);
26769
- box-shadow: 0 1px 2px rgba(var(--tb-text), 0.08);
27108
+ box-shadow: 0 1px 2px rgb(var(--tb-text) / 0.08);
26770
27109
  cursor: pointer;
26771
27110
  font: inherit;
26772
27111
  text-align: left;
@@ -26780,7 +27119,7 @@ const containerResponsiveThemeCss = `/*
26780
27119
  :where(.theme-scope)
26781
27120
  :where([data-block='event-calendar'])
26782
27121
  .event-timetable-event:hover {
26783
- box-shadow: 0 4px 12px rgba(var(--tb-text), 0.12);
27122
+ box-shadow: 0 4px 12px rgb(var(--tb-text) / 0.12);
26784
27123
  transform: translateY(-1px);
26785
27124
  }
26786
27125
 
@@ -26932,7 +27271,7 @@ const containerResponsiveThemeCss = `/*
26932
27271
  * available -> secondary, filling -> accent, waitlist -> muted text. */
26933
27272
  --ec-status-available: rgb(var(--tb-secondary));
26934
27273
  --ec-status-filling: rgb(var(--tb-accent));
26935
- --ec-status-waitlist: rgba(var(--tb-text), 0.4);
27274
+ --ec-status-waitlist: rgb(var(--tb-text) / 0.4);
26936
27275
  --event-week-board-cols: 7;
26937
27276
 
26938
27277
  border: 1px solid var(--ec-border);
@@ -26946,7 +27285,7 @@ const containerResponsiveThemeCss = `/*
26946
27285
  :where(.theme-scope)
26947
27286
  :where([data-block='event-calendar'])
26948
27287
  .event-week-board[data-elevated] {
26949
- box-shadow: 0 14px 34px -24px rgba(var(--tb-text), 0.35);
27288
+ box-shadow: 0 14px 34px -24px rgb(var(--tb-text) / 0.35);
26950
27289
  }
26951
27290
 
26952
27291
  /* Top bar: authored title + week navigation + legend */
@@ -27219,8 +27558,8 @@ const containerResponsiveThemeCss = `/*
27219
27558
  :where([data-block='event-calendar'])
27220
27559
  .event-week-board-card:hover {
27221
27560
  transform: translateY(-2px);
27222
- box-shadow: 0 6px 16px -8px rgba(var(--tb-text), 0.28);
27223
- border-color: rgba(var(--tb-primary), 0.4);
27561
+ box-shadow: 0 6px 16px -8px rgb(var(--tb-text) / 0.28);
27562
+ border-color: rgb(var(--tb-primary) / 0.4);
27224
27563
  }
27225
27564
 
27226
27565
  :where(.theme-scope)
@@ -27263,24 +27602,24 @@ const containerResponsiveThemeCss = `/*
27263
27602
  * Filling -> amber and waitlist -> muted outline are handled by the
27264
27603
  * data-status overrides below. */
27265
27604
  border: 1px solid var(--ec-border);
27266
- background-color: rgba(var(--tb-text), 0.06);
27267
- color: rgba(var(--tb-text), 0.62);
27605
+ background-color: rgb(var(--tb-text) / 0.06);
27606
+ color: rgb(var(--tb-text) / 0.62);
27268
27607
  border-color: var(--ec-border);
27269
27608
  }
27270
27609
 
27271
27610
  :where(.theme-scope)
27272
27611
  :where([data-block='event-calendar'])
27273
27612
  .event-week-board-card-pill[data-status='filling'] {
27274
- background-color: rgba(var(--tb-accent), 0.14);
27613
+ background-color: rgb(var(--tb-accent) / 0.14);
27275
27614
  color: var(--ec-status-filling);
27276
- border-color: rgba(var(--tb-accent), 0.32);
27615
+ border-color: rgb(var(--tb-accent) / 0.32);
27277
27616
  }
27278
27617
 
27279
27618
  :where(.theme-scope)
27280
27619
  :where([data-block='event-calendar'])
27281
27620
  .event-week-board-card-pill[data-status='waitlist'] {
27282
27621
  background-color: transparent;
27283
- color: rgba(var(--tb-text), 0.6);
27622
+ color: rgb(var(--tb-text) / 0.6);
27284
27623
  border-color: var(--ec-border);
27285
27624
  }
27286
27625
 
@@ -27565,7 +27904,7 @@ const containerResponsiveThemeCss = `/*
27565
27904
  :where([data-block='event-calendar'])
27566
27905
  .ec-modal-close:hover {
27567
27906
  opacity: 1;
27568
- background-color: rgba(var(--tb-text), 0.1);
27907
+ background-color: rgb(var(--tb-text) / 0.1);
27569
27908
  }
27570
27909
 
27571
27910
  :where(.theme-scope)
@@ -27808,23 +28147,24 @@ const containerResponsiveThemeCss = `/*
27808
28147
  }
27809
28148
 
27810
28149
  /* State icon color variants (layout from registration-surface.css) */
28150
+ /* Success: a solid primary disc with an on-primary tick (issue 1581) */
27811
28151
  :where(.theme-scope) :where([data-block="appointment-booking"]) .rb-state-icon--success {
27812
- background: var(--ab-success-bg, rgba(var(--tb-success, 22 163 74), 0.1));
27813
- color: var(--ab-success-text, rgb(var(--tb-success, 22 163 74)));
28152
+ background: rgb(var(--tb-primary, 37 99 235));
28153
+ color: rgb(var(--tb-onPrimary, 255 255 255));
27814
28154
  }
27815
28155
 
27816
28156
  :where(.theme-scope) :where([data-block="appointment-booking"]) .rb-state-icon--error {
27817
- background: var(--ab-error-bg, rgba(var(--tb-destructive, 220 38 38), 0.1));
28157
+ background: var(--ab-error-bg, rgb(var(--tb-destructive, 220 38 38) / 0.1));
27818
28158
  color: var(--ab-error-text, rgb(var(--tb-destructive, 220 38 38)));
27819
28159
  }
27820
28160
 
27821
28161
  :where(.theme-scope) :where([data-block="appointment-booking"]) .rb-state-icon--info {
27822
- background: var(--ab-info-bg, rgba(var(--tb-info, 14 165 233), 0.1));
28162
+ background: var(--ab-info-bg, rgb(var(--tb-info, 14 165 233) / 0.1));
27823
28163
  color: var(--ab-info-text, rgb(var(--tb-info, 14 165 233)));
27824
28164
  }
27825
28165
 
27826
28166
  :where(.theme-scope) :where([data-block="appointment-booking"]) .rb-state-icon--warning {
27827
- background: var(--ab-warning-bg, rgba(var(--tb-warning, 245 158 11), 0.1));
28167
+ background: var(--ab-warning-bg, rgb(var(--tb-warning, 245 158 11) / 0.1));
27828
28168
  color: var(--ab-warning-text, rgb(var(--tb-warning, 245 158 11)));
27829
28169
  }
27830
28170
 
@@ -27866,7 +28206,7 @@ const containerResponsiveThemeCss = `/*
27866
28206
  letter-spacing: 0;
27867
28207
  line-height: 1.2;
27868
28208
  text-transform: uppercase;
27869
- color: var(--rb-reg-on-surface-subtle, rgba(var(--tb-onSurface, var(--tb-text, 15 23 42)), 0.6));
28209
+ color: var(--rb-reg-on-surface-subtle, rgb(var(--tb-onSurface, var(--tb-text, 15 23 42)) / 0.6));
27870
28210
  }
27871
28211
 
27872
28212
  :where(.theme-scope) :where([data-block="appointment-booking"]) .ab-pill-value {
@@ -28483,11 +28823,11 @@ const containerResponsiveThemeCss = `/*
28483
28823
  height: 2.5rem;
28484
28824
  width: 2.5rem;
28485
28825
  border-radius: 9999px;
28486
- border: 1px solid rgba(var(--tb-border, 229 231 235), 0.35);
28487
- background-color: rgba(var(--tb-surface, 248 250 252), 0.9);
28826
+ border: 1px solid rgb(var(--tb-border, 229 231 235) / 0.35);
28827
+ background-color: rgb(var(--tb-surface, 248 250 252) / 0.9);
28488
28828
  color: rgb(var(--tb-text, 17 24 39));
28489
- box-shadow: 0 4px 6px -1px rgba(var(--tb-shadow), 0.1),
28490
- 0 2px 4px -2px rgba(var(--tb-shadow), 0.1);
28829
+ box-shadow: 0 4px 6px -1px rgb(var(--tb-shadow) / 0.1),
28830
+ 0 2px 4px -2px rgb(var(--tb-shadow) / 0.1);
28491
28831
  cursor: pointer;
28492
28832
  transform: translateY(-50%);
28493
28833
  transition: background-color 0.2s ease, box-shadow 0.2s ease,
@@ -28504,8 +28844,8 @@ const containerResponsiveThemeCss = `/*
28504
28844
 
28505
28845
  :where(.theme-scope) .carousel-root .carousel-nav-btn:hover {
28506
28846
  background-color: rgb(var(--tb-surface, 248 250 252));
28507
- box-shadow: 0 10px 15px -3px rgba(var(--tb-shadow), 0.1),
28508
- 0 4px 6px -4px rgba(var(--tb-shadow), 0.1);
28847
+ box-shadow: 0 10px 15px -3px rgb(var(--tb-shadow) / 0.1),
28848
+ 0 4px 6px -4px rgb(var(--tb-shadow) / 0.1);
28509
28849
  }
28510
28850
 
28511
28851
  :where(.theme-scope) .carousel-root .carousel-nav-btn:disabled {
@@ -28554,10 +28894,10 @@ const containerResponsiveThemeCss = `/*
28554
28894
  }
28555
28895
 
28556
28896
  :where(.theme-scope) .carousel-root.rb-carousel-dots-overlay .carousel-dot {
28557
- background-color: rgba(var(--tb-surface, 248 250 252), 0.55);
28897
+ background-color: rgb(var(--tb-surface, 248 250 252) / 0.55);
28558
28898
  }
28559
28899
  :where(.theme-scope) .carousel-root.rb-carousel-dots-overlay .carousel-dot:hover {
28560
- background-color: rgba(var(--tb-surface, 248 250 252), 0.75);
28900
+ background-color: rgb(var(--tb-surface, 248 250 252) / 0.75);
28561
28901
  }
28562
28902
  :where(.theme-scope) .carousel-root.rb-carousel-dots-overlay .carousel-dot[data-active="true"] {
28563
28903
  background-color: rgb(var(--tb-text, 17 24 39));
@@ -28573,7 +28913,7 @@ const containerResponsiveThemeCss = `/*
28573
28913
  }
28574
28914
 
28575
28915
  :where(.theme-scope) .carousel-root .carousel-dot:hover {
28576
- background-color: rgba(var(--tb-text, 17 24 39), 0.3);
28916
+ background-color: rgb(var(--tb-text, 17 24 39) / 0.3);
28577
28917
  }
28578
28918
 
28579
28919
  :where(.theme-scope) .carousel-root .carousel-dot[data-active="true"] {
@@ -28582,7 +28922,7 @@ const containerResponsiveThemeCss = `/*
28582
28922
 
28583
28923
  :where(.theme-scope) .carousel-root .carousel-dot:focus-visible {
28584
28924
  outline: none;
28585
- box-shadow: 0 0 0 3px rgba(var(--tb-primary, 59 130 246), 0.35);
28925
+ box-shadow: 0 0 0 3px rgb(var(--tb-primary, 59 130 246) / 0.35);
28586
28926
  }
28587
28927
 
28588
28928
  /* =============================================================================
@@ -28619,7 +28959,7 @@ const containerResponsiveThemeCss = `/*
28619
28959
 
28620
28960
  /* Error display */
28621
28961
  :where(.theme-scope) .shop__error {
28622
- background-color: rgba(var(--tb-destructive), 0.1);
28962
+ background-color: rgb(var(--tb-destructive) / 0.1);
28623
28963
  color: rgb(var(--tb-destructive));
28624
28964
  padding: 0.75rem 1rem;
28625
28965
  border-radius: var(--shop-control-radius);
@@ -28891,7 +29231,7 @@ const containerResponsiveThemeCss = `/*
28891
29231
 
28892
29232
  /* Modal error */
28893
29233
  :where(.theme-scope) .shop__modal-error {
28894
- background-color: rgba(var(--tb-destructive), 0.1);
29234
+ background-color: rgb(var(--tb-destructive) / 0.1);
28895
29235
  color: rgb(var(--tb-destructive));
28896
29236
  padding: 0.625rem 0.75rem;
28897
29237
  border-radius: var(--shop-control-radius);
@@ -28943,12 +29283,12 @@ const containerResponsiveThemeCss = `/*
28943
29283
  }
28944
29284
 
28945
29285
  :where(.theme-scope) :where([data-block="shop"]) .rb-state-icon--success {
28946
- background: rgba(var(--tb-success), 0.12);
29286
+ background: rgb(var(--tb-success) / 0.12);
28947
29287
  color: rgb(var(--tb-success));
28948
29288
  }
28949
29289
 
28950
29290
  :where(.theme-scope) :where([data-block="shop"]) .rb-state-icon--warning {
28951
- background: rgba(var(--tb-warning), 0.12);
29291
+ background: rgb(var(--tb-warning) / 0.12);
28952
29292
  color: rgb(var(--tb-warning));
28953
29293
  }
28954
29294
 
@@ -29450,7 +29790,7 @@ const containerResponsiveThemeCss = `/*
29450
29790
 
29451
29791
  :where(.theme-scope) :where([data-block="customer-portal"]) .cp-table thead th {
29452
29792
  text-align: left;
29453
- background: rgba(var(--tb-border), 0.2);
29793
+ background: rgb(var(--tb-border) / 0.2);
29454
29794
  }
29455
29795
 
29456
29796
  :where(.theme-scope)
@@ -30291,17 +30631,17 @@ const containerResponsiveThemeCss = `/*
30291
30631
 
30292
30632
  :where(.theme-scope) :where(.rb-tile--interactive, .er-event-card):focus-visible {
30293
30633
  outline: none;
30294
- box-shadow: 0 0 0 3px rgba(var(--tb-primary), 0.25);
30634
+ box-shadow: 0 0 0 3px rgb(var(--tb-primary) / 0.25);
30295
30635
  }
30296
30636
 
30297
30637
  :where(.theme-scope) :where(.rb-tile--interactive, .er-event-card):hover:not(:disabled) {
30298
- border-color: var(--rb-tile-border-hover, var(--rb-event-tile-border-hover, rgba(var(--tb-primary), 0.5)));
30638
+ border-color: var(--rb-tile-border-hover, var(--rb-event-tile-border-hover, rgb(var(--tb-primary) / 0.5)));
30299
30639
  opacity: var(--rb-tile-hover-opacity, var(--rb-event-tile-hover-opacity, var(--rb-tile-opacity, var(--rb-event-tile-opacity, 1))));
30300
30640
  }
30301
30641
 
30302
30642
  :where(.theme-scope) :where(.rb-tile--selected, .er-event-card--selected) {
30303
30643
  border-color: var(--rb-tile-border-selected, var(--rb-event-tile-border-selected, rgb(var(--tb-primary))));
30304
- background: var(--rb-tile-bg-selected, var(--rb-event-tile-bg-selected, rgba(var(--tb-primary), 0.1)));
30644
+ background: var(--rb-tile-bg-selected, var(--rb-event-tile-bg-selected, rgb(var(--tb-primary) / 0.1)));
30305
30645
  }
30306
30646
 
30307
30647
  :where(.theme-scope) :where(.rb-tile--disabled, .er-event-card--disabled) {
@@ -30615,7 +30955,7 @@ const containerResponsiveThemeCss = `/*
30615
30955
 
30616
30956
  :where(.theme-scope) .newsletter-success .fb-success {
30617
30957
  padding: 1rem 1.5rem;
30618
- background-color: rgba(var(--tb-success, 34 197 94), 0.1);
30958
+ background-color: rgb(var(--tb-success, 34 197 94) / 0.1);
30619
30959
  border-radius: var(--radius-md, 0.5rem);
30620
30960
  color: rgb(var(--tb-text));
30621
30961
  }
@@ -30887,7 +31227,7 @@ const containerResponsiveThemeCss = `/*
30887
31227
  * context (theme-core/src/blocks/opaquePanels.ts) hold on any section. */
30888
31228
  :where(.theme-scope) .feedback-callout {
30889
31229
  background: rgb(var(--tb-surface, 248 250 252));
30890
- border-color: rgba(var(--tb-border, 226 232 240), 0.72);
31230
+ border-color: rgb(var(--tb-border, 226 232 240) / 0.72);
30891
31231
  --rb-feedback-callout-bg-opacity: 0.1;
30892
31232
  --rb-feedback-callout-border-opacity: 0.24;
30893
31233
  }
@@ -30895,33 +31235,33 @@ const containerResponsiveThemeCss = `/*
30895
31235
  :where(.theme-scope) .feedback-callout[data-feedback-tone="info"] {
30896
31236
  --rb-feedback-callout-bg-opacity: 0.08;
30897
31237
  background:
30898
- linear-gradient(rgba(var(--tb-primary, 37 99 235), var(--rb-feedback-callout-bg-opacity)), rgba(var(--tb-primary, 37 99 235), var(--rb-feedback-callout-bg-opacity))),
31238
+ linear-gradient(rgb(var(--tb-primary, 37 99 235) / var(--rb-feedback-callout-bg-opacity)), rgb(var(--tb-primary, 37 99 235) / var(--rb-feedback-callout-bg-opacity))),
30899
31239
  rgb(var(--tb-surface, 248 250 252));
30900
- border-color: rgba(var(--tb-primary, 37 99 235), var(--rb-feedback-callout-border-opacity));
31240
+ border-color: rgb(var(--tb-primary, 37 99 235) / var(--rb-feedback-callout-border-opacity));
30901
31241
  }
30902
31242
 
30903
31243
  :where(.theme-scope) .feedback-callout[data-feedback-tone="success"] {
30904
31244
  background:
30905
- linear-gradient(rgba(var(--tb-success, 34 197 94), var(--rb-feedback-callout-bg-opacity)), rgba(var(--tb-success, 34 197 94), var(--rb-feedback-callout-bg-opacity))),
31245
+ linear-gradient(rgb(var(--tb-success, 34 197 94) / var(--rb-feedback-callout-bg-opacity)), rgb(var(--tb-success, 34 197 94) / var(--rb-feedback-callout-bg-opacity))),
30906
31246
  rgb(var(--tb-surface, 248 250 252));
30907
- border-color: rgba(var(--tb-success, 34 197 94), var(--rb-feedback-callout-border-opacity));
31247
+ border-color: rgb(var(--tb-success, 34 197 94) / var(--rb-feedback-callout-border-opacity));
30908
31248
  }
30909
31249
 
30910
31250
  :where(.theme-scope) .feedback-callout[data-feedback-tone="warning"] {
30911
31251
  --rb-feedback-callout-bg-opacity: 0.12;
30912
31252
  --rb-feedback-callout-border-opacity: 0.28;
30913
31253
  background:
30914
- linear-gradient(rgba(var(--tb-warning, 245 158 11), var(--rb-feedback-callout-bg-opacity)), rgba(var(--tb-warning, 245 158 11), var(--rb-feedback-callout-bg-opacity))),
31254
+ linear-gradient(rgb(var(--tb-warning, 245 158 11) / var(--rb-feedback-callout-bg-opacity)), rgb(var(--tb-warning, 245 158 11) / var(--rb-feedback-callout-bg-opacity))),
30915
31255
  rgb(var(--tb-surface, 248 250 252));
30916
- border-color: rgba(var(--tb-warning, 245 158 11), var(--rb-feedback-callout-border-opacity));
31256
+ border-color: rgb(var(--tb-warning, 245 158 11) / var(--rb-feedback-callout-border-opacity));
30917
31257
  }
30918
31258
 
30919
31259
  :where(.theme-scope) .feedback-callout[data-feedback-tone="error"] {
30920
31260
  --rb-feedback-callout-border-opacity: 0.26;
30921
31261
  background:
30922
- linear-gradient(rgba(var(--tb-destructive, 239 68 68), var(--rb-feedback-callout-bg-opacity)), rgba(var(--tb-destructive, 239 68 68), var(--rb-feedback-callout-bg-opacity))),
31262
+ linear-gradient(rgb(var(--tb-destructive, 239 68 68) / var(--rb-feedback-callout-bg-opacity)), rgb(var(--tb-destructive, 239 68 68) / var(--rb-feedback-callout-bg-opacity))),
30923
31263
  rgb(var(--tb-surface, 248 250 252));
30924
- border-color: rgba(var(--tb-destructive, 239 68 68), var(--rb-feedback-callout-border-opacity));
31264
+ border-color: rgb(var(--tb-destructive, 239 68 68) / var(--rb-feedback-callout-border-opacity));
30925
31265
  }
30926
31266
 
30927
31267
  :where(.theme-scope) .feedback-callout__title {
@@ -30992,7 +31332,7 @@ const containerResponsiveThemeCss = `/*
30992
31332
  }
30993
31333
 
30994
31334
  :where(.theme-scope) .event-compact-row:hover {
30995
- background-color: rgba(var(--tb-primary, 0 0 0), 0.035);
31335
+ background-color: rgb(var(--tb-primary, 0 0 0) / 0.035);
30996
31336
  }
30997
31337
 
30998
31338
  :where(.theme-scope) .event-compact-row-date {
@@ -31400,23 +31740,23 @@ const containerResponsiveThemeCss = `/*
31400
31740
  }
31401
31741
 
31402
31742
  :where(.theme-scope) [data-block="gifting"] .gifting-feedback[data-feedback-tone="success"] {
31403
- border-color: rgba(var(--tb-success, 34 197 94), 0.3);
31743
+ border-color: rgb(var(--tb-success, 34 197 94) / 0.3);
31404
31744
  background:
31405
- linear-gradient(rgba(var(--tb-success, 34 197 94), 0.1), rgba(var(--tb-success, 34 197 94), 0.1)),
31745
+ linear-gradient(rgb(var(--tb-success, 34 197 94) / 0.1), rgb(var(--tb-success, 34 197 94) / 0.1)),
31406
31746
  rgb(var(--tb-surface, 255 255 255));
31407
31747
  }
31408
31748
 
31409
31749
  :where(.theme-scope) [data-block="gifting"] .gifting-feedback[data-feedback-tone="warning"] {
31410
- border-color: rgba(var(--tb-warning, 245 158 11), 0.35);
31750
+ border-color: rgb(var(--tb-warning, 245 158 11) / 0.35);
31411
31751
  background:
31412
- linear-gradient(rgba(var(--tb-warning, 245 158 11), 0.12), rgba(var(--tb-warning, 245 158 11), 0.12)),
31752
+ linear-gradient(rgb(var(--tb-warning, 245 158 11) / 0.12), rgb(var(--tb-warning, 245 158 11) / 0.12)),
31413
31753
  rgb(var(--tb-surface, 255 255 255));
31414
31754
  }
31415
31755
 
31416
31756
  :where(.theme-scope) [data-block="gifting"] .gifting-feedback[data-feedback-tone="error"] {
31417
- border-color: rgba(var(--tb-destructive, 239 68 68), 0.3);
31757
+ border-color: rgb(var(--tb-destructive, 239 68 68) / 0.3);
31418
31758
  background:
31419
- linear-gradient(rgba(var(--tb-destructive, 239 68 68), 0.1), rgba(var(--tb-destructive, 239 68 68), 0.1)),
31759
+ linear-gradient(rgb(var(--tb-destructive, 239 68 68) / 0.1), rgb(var(--tb-destructive, 239 68 68) / 0.1)),
31420
31760
  rgb(var(--tb-surface, 255 255 255));
31421
31761
  }
31422
31762
 
@@ -31530,7 +31870,7 @@ const containerResponsiveThemeCss = `/*
31530
31870
  :where(.theme-scope) .rb-feature-card-icon-zone--utility-badge {
31531
31871
  background-color: rgb(var(--tb-surface));
31532
31872
  border: 1px solid rgb(var(--tb-border));
31533
- box-shadow: 0 1px 2px rgba(var(--tb-shadow), 0.08);
31873
+ box-shadow: 0 1px 2px rgb(var(--tb-shadow) / 0.08);
31534
31874
  }
31535
31875
 
31536
31876
  :where(.theme-scope) .rb-feature-card-icon {
@@ -32319,7 +32659,7 @@ const containerResponsiveThemeCss = `/*
32319
32659
  grid-template-columns: minmax(5.5rem, 0.65fr) minmax(0, 1.35fr);
32320
32660
  gap: 1rem;
32321
32661
  padding-block: 0.6rem;
32322
- border-top: 1px solid rgba(var(--tb-border), 0.72);
32662
+ border-top: 1px solid rgb(var(--tb-border) / 0.72);
32323
32663
  }
32324
32664
 
32325
32665
  :where(.theme-scope)
@@ -32559,13 +32899,13 @@ const containerResponsiveThemeCss = `/*
32559
32899
  :where(.theme-scope) [data-block="testimonials"][data-block-composition="open-editorial"] .rb-testimonial-attribution {
32560
32900
  margin-top: 1.25rem;
32561
32901
  padding-top: 1.25rem;
32562
- border-top: 1px solid rgba(var(--tb-border), 0.75);
32902
+ border-top: 1px solid rgb(var(--tb-border) / 0.75);
32563
32903
  }
32564
32904
 
32565
32905
  :where(.theme-scope) [data-block="testimonials"][data-block-composition="open-editorial"] .rb-testimonial-avatar {
32566
32906
  box-shadow:
32567
32907
  0 0 0 2px rgb(var(--tb-surface)),
32568
- 0 0 0 4px rgba(var(--tb-primary), 0.3);
32908
+ 0 0 0 4px rgb(var(--tb-primary) / 0.3);
32569
32909
  }
32570
32910
 
32571
32911
  /* =============================================================================