@riverbankcms/sdk 0.60.11 → 0.60.14

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 (96) hide show
  1. package/README.md +10 -7
  2. package/dist/_dts/api/src/accessAdmin.d.ts +102 -0
  3. package/dist/_dts/api/src/bookingConfig.d.ts +31 -1
  4. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +38 -1
  5. package/dist/_dts/api/src/bookingOperations.d.ts +3 -0
  6. package/dist/_dts/api/src/bookingRecords.d.ts +45 -0
  7. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +4 -4
  8. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +1 -5
  9. package/dist/_dts/api/src/common/envelope.d.ts +1 -1
  10. package/dist/_dts/api/src/communications.d.ts +1 -1
  11. package/dist/_dts/api/src/contentRuntime.d.ts +1 -1
  12. package/dist/_dts/api/src/domains.d.ts +14 -13
  13. package/dist/_dts/api/src/endpoints.d.ts +121 -9
  14. package/dist/_dts/api/src/index.d.ts +3 -2
  15. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
  16. package/dist/_dts/api/src/seoEndpoints.d.ts +2 -0
  17. package/dist/_dts/api/src/siteAssets.d.ts +0 -10
  18. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +15 -1
  19. package/dist/_dts/api/src/types.d.ts +1 -1
  20. package/dist/_dts/blocks/src/PageRenderer.d.ts +1 -0
  21. package/dist/_dts/blocks/src/index.d.ts +1 -0
  22. package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
  23. package/dist/_dts/blocks/src/server.d.ts +1 -0
  24. package/dist/_dts/blocks/src/subroutes/fold.d.ts +40 -0
  25. package/dist/_dts/blocks/src/subroutes/formatDate.d.ts +12 -0
  26. package/dist/_dts/blocks/src/subroutes/index.d.ts +3 -0
  27. package/dist/_dts/blocks/src/subroutes/kinds.d.ts +32 -0
  28. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +3 -1
  29. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +2 -0
  30. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +1 -0
  31. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +1 -0
  32. package/dist/_dts/blocks/src/system/spacing.d.ts +2 -1
  33. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +5 -0
  34. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +5 -1
  35. package/dist/_dts/core/src/booking-refunds.d.ts +8 -0
  36. package/dist/_dts/core/src/participant-identity.d.ts +1 -1
  37. package/dist/_dts/core/src/participants.d.ts +19 -7
  38. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +284 -96
  39. package/dist/_dts/db/src/schemas/forms.d.ts +135 -24
  40. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -3
  41. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +3 -3
  42. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -3
  43. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -3
  44. package/dist/_dts/preview-next/src/client/preview/SubrouteNoticePanel.d.ts +13 -0
  45. package/dist/_dts/preview-next/src/client/preview/subrouteNotice.d.ts +26 -0
  46. package/dist/_dts/sdk/src/contracts/page.d.ts +1 -0
  47. package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -1
  48. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -0
  49. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +4 -5
  50. package/dist/_dts/sdk/src/version.d.ts +1 -1
  51. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  52. package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +17 -0
  53. package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -1
  54. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  55. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +66 -30
  56. package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +16 -0
  57. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  58. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
  59. package/dist/_dts/theme-core/src/schema.d.ts +174 -6
  60. package/dist/_dts/theme-core/src/site-styles/appearancePresets.d.ts +328 -15
  61. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +54 -2
  62. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +124 -0
  63. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  64. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  65. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +21 -0
  66. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +2 -1
  67. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  68. package/dist/_dts/theme-core/src/site-styles/types.d.ts +135 -2
  69. package/dist/_dts/ui/src/badge.d.ts +1 -1
  70. package/dist/_dts/ui/src/button.d.ts +1 -1
  71. package/dist/cli/index.mjs +801 -115
  72. package/dist/client/bookings.mjs +115 -1
  73. package/dist/client/client.mjs +905 -166
  74. package/dist/client/hooks.mjs +794 -111
  75. package/dist/client/rendering/client.mjs +179 -39
  76. package/dist/client/rendering/islands.mjs +179 -38
  77. package/dist/client/rendering.mjs +904 -165
  78. package/dist/preview-next/before-render.mjs +160 -16
  79. package/dist/preview-next/client/runtime.mjs +1674 -260
  80. package/dist/preview-next/middleware.mjs +160 -16
  81. package/dist/server/components.mjs +895 -165
  82. package/dist/server/config-validation.mjs +794 -111
  83. package/dist/server/config.mjs +794 -111
  84. package/dist/server/data.mjs +794 -111
  85. package/dist/server/index.mjs +163 -17
  86. package/dist/server/next.mjs +898 -167
  87. package/dist/server/page-converter.mjs +589 -82
  88. package/dist/server/prebuild.mjs +1 -1
  89. package/dist/server/rendering/server.mjs +895 -165
  90. package/dist/server/rendering.mjs +895 -165
  91. package/dist/server/routing.mjs +828 -117
  92. package/dist/server/server.mjs +795 -112
  93. package/dist/server/theme-bridge.mjs +216 -39
  94. package/dist/server/theme.mjs +139 -37
  95. package/dist/styles/index.css +44 -2
  96. package/package.json +1 -1
@@ -674,6 +674,111 @@ var pebble = defineButtonPersonality({
674
674
  }
675
675
  });
676
676
 
677
+ // ../theme-core/src/buttons/personalities/showtime-pill.ts
678
+ var showtimePill = defineButtonPersonality({
679
+ id: "showtime-pill",
680
+ name: "Showtime Pill",
681
+ description: "Bold pill buttons with uppercase labels, generous padding, and a playful pop.",
682
+ tags: { tone: "bold", energy: "vibrant", motion: "expressive", era: "modern" },
683
+ buttonSystem: {
684
+ global: {
685
+ cornerStyle: "pill",
686
+ shadow: "low",
687
+ textTransform: "uppercase",
688
+ fontWeight: 700,
689
+ borderWidth: 2,
690
+ hoverTransform: "lift",
691
+ hoverColor: "darken",
692
+ typography: "body",
693
+ paddingPreset: "spacious",
694
+ italic: false
695
+ },
696
+ sizes: {
697
+ sm: { padding: "0.625rem 1.25rem", fontSize: "0.875rem" },
698
+ md: { padding: "0.875rem 1.75rem", fontSize: "1rem" },
699
+ lg: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" },
700
+ xl: { padding: "1.125rem 2.25rem", fontSize: "1.125rem" }
701
+ },
702
+ variants: [
703
+ {
704
+ id: "primary",
705
+ name: "Primary",
706
+ enabled: true,
707
+ priority: 1,
708
+ background: { type: "solid", colorToken: "primary" },
709
+ textColorToken: "background",
710
+ borderRadius: "rounded-full",
711
+ effects: {
712
+ hover: [{ effectId: "pop" }]
713
+ }
714
+ },
715
+ {
716
+ id: "secondary",
717
+ name: "Secondary",
718
+ enabled: true,
719
+ priority: 2,
720
+ background: { type: "transparent" },
721
+ textColorToken: "primary",
722
+ borderRadius: "rounded-full",
723
+ border: { widthClass: "border-2", colorToken: "primary" },
724
+ effects: {
725
+ hover: [{ effectId: "pop" }]
726
+ }
727
+ },
728
+ {
729
+ id: "hero",
730
+ name: "Hero",
731
+ enabled: true,
732
+ priority: 1,
733
+ background: { type: "solid", colorToken: "secondary" },
734
+ textColorToken: "primary",
735
+ borderRadius: "rounded-full",
736
+ effects: {
737
+ hover: [{ effectId: "pop" }]
738
+ }
739
+ },
740
+ {
741
+ id: "header",
742
+ name: "Header",
743
+ enabled: true,
744
+ priority: 2,
745
+ background: { type: "solid", colorToken: "background" },
746
+ textColorToken: "primary",
747
+ borderRadius: "rounded-full",
748
+ border: { widthClass: "border-2", colorToken: "primary" },
749
+ effects: {
750
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
751
+ }
752
+ },
753
+ {
754
+ id: "outline",
755
+ name: "Outline",
756
+ enabled: true,
757
+ priority: 3,
758
+ background: { type: "transparent" },
759
+ textColorToken: "primary",
760
+ borderRadius: "rounded-full",
761
+ border: { widthClass: "border-2", colorToken: "primary" },
762
+ effects: {
763
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "background" } }]
764
+ }
765
+ },
766
+ {
767
+ id: "ghost",
768
+ name: "Ghost",
769
+ enabled: true,
770
+ priority: 3,
771
+ background: { type: "transparent" },
772
+ textColorToken: "primary",
773
+ borderRadius: "rounded-full",
774
+ effects: {
775
+ hover: [{ effectId: "background-on-hover", options: { colorToken: "surface" } }]
776
+ }
777
+ }
778
+ ]
779
+ }
780
+ });
781
+
677
782
  // ../theme-core/src/buttons/personalities/soft-pill.ts
678
783
  var softPill = defineButtonPersonality({
679
784
  id: "soft-pill",
@@ -754,7 +859,8 @@ var buttonPersonalities = [
754
859
  editorialLink,
755
860
  pebble,
756
861
  inkStamp,
757
- brushedWash
862
+ brushedWash,
863
+ showtimePill
758
864
  ];
759
865
  var personalitiesById = new Map(
760
866
  buttonPersonalities.map((p) => [p.id, p])
@@ -1529,14 +1635,7 @@ var proseLinkStyleSchema = z14.object({
1529
1635
  underlineThickness: proseLinkUnderlineThicknessSchema.optional(),
1530
1636
  underlineOffset: proseLinkUnderlineOffsetSchema.optional()
1531
1637
  });
1532
- var semanticSpacingSchema = z14.enum([
1533
- "none",
1534
- "compact",
1535
- "cozy",
1536
- "medium",
1537
- "comfortable",
1538
- "spacious"
1539
- ]);
1638
+ var semanticSpacingSchema = z14.enum(["none", "compact", "cozy", "medium", "comfortable", "spacious"]);
1540
1639
  var boxRoundedSchema = z14.enum(["none", "sm", "md", "lg", "xl", "2xl", "full"]);
1541
1640
  var boxBackgroundOverlaySchema = z14.object({
1542
1641
  type: z14.enum(["none", "color", "gradient"]).nullable().optional(),
@@ -1553,6 +1652,7 @@ var boxBackgroundSchema = z14.object({
1553
1652
  scale: z14.string().nullable().optional(),
1554
1653
  position: z14.string().nullable().optional(),
1555
1654
  opacity: z14.number().min(0).max(1).nullable().optional(),
1655
+ motion: z14.enum(["static", "fixed-frame"]).nullable().optional(),
1556
1656
  overlay: boxBackgroundOverlaySchema.nullable().optional(),
1557
1657
  textColor: z14.string().nullable().optional(),
1558
1658
  headingColor: z14.string().nullable().optional()
@@ -1560,7 +1660,7 @@ var boxBackgroundSchema = z14.object({
1560
1660
  var sectionStylesOverrideSchema = z14.object({
1561
1661
  background: boxBackgroundSchema.nullable().optional(),
1562
1662
  spacing: semanticSpacingSchema.nullable().optional(),
1563
- minHeight: z14.enum(["none", "hero", "immersive"]).nullable().optional()
1663
+ minHeight: z14.enum(["none", "banner", "hero", "immersive"]).nullable().optional()
1564
1664
  });
1565
1665
  var containerStylesOverrideSchema = z14.object({
1566
1666
  background: boxBackgroundSchema.nullable().optional(),
@@ -1579,7 +1679,8 @@ var cardStylesOverrideSchema = z14.object({
1579
1679
  border: cardBorderOverrideSchema.nullable().optional(),
1580
1680
  spacing: semanticSpacingSchema.nullable().optional(),
1581
1681
  raised: z14.boolean().nullable().optional(),
1582
- rounded: boxRoundedSchema.nullable().optional()
1682
+ rounded: boxRoundedSchema.nullable().optional(),
1683
+ treatment: z14.enum(["accent-quote"]).nullable().optional()
1583
1684
  });
1584
1685
  var blockStyleOverridesSchema = z14.object({
1585
1686
  sectionStyles: sectionStylesOverrideSchema.nullable().optional(),
@@ -1654,15 +1755,7 @@ var inputStyle = z14.object({
1654
1755
  });
1655
1756
  var headerVariant = z14.enum(["classic", "centered", "transparent", "floating", "editorial"]);
1656
1757
  var headerPositioning = z14.enum(["static", "sticky", "fixed"]);
1657
- var headerNavStyle = z14.enum([
1658
- "minimal",
1659
- "underline",
1660
- "underline-grow",
1661
- "capsule",
1662
- "scale",
1663
- "frosted",
1664
- "solid"
1665
- ]);
1758
+ var headerNavStyle = z14.enum(["minimal", "underline", "underline-grow", "capsule", "scale", "frosted", "solid"]);
1666
1759
  var navFontWeight = z14.enum(["regular", "medium", "semibold", "bold"]);
1667
1760
  var headerMaxWidth = z14.enum(["container", "full"]);
1668
1761
  var headerContainerSchema = z14.object({
@@ -1716,6 +1809,7 @@ var dropdownStyleSchema = z14.object({
1716
1809
  // optional = no override (browser default)
1717
1810
  }).optional();
1718
1811
  var headerCtaGapSchema = z14.enum(["none", "tight", "compact", "default", "relaxed", "spacious"]);
1812
+ var headerCtaTreatmentSchema = z14.enum(["default", "primary", "secondary", "inverted", "outline", "ghost"]);
1719
1813
  var navContainerSchema = z14.object({
1720
1814
  type: z14.enum(["none", "pill", "glass"]).default("none"),
1721
1815
  tint: z14.string().nullable().optional(),
@@ -1734,7 +1828,10 @@ var headerSchema = z14.object({
1734
1828
  shrinkOnScroll: z14.boolean(),
1735
1829
  maxWidth: headerMaxWidth,
1736
1830
  logoOverride: mediaSchema.nullable().optional(),
1737
- background: headerBackgroundSchema.default({ type: "color", color: "surface" }),
1831
+ background: headerBackgroundSchema.default({
1832
+ type: "color",
1833
+ color: "surface"
1834
+ }),
1738
1835
  textColor: z14.string().nullable().optional(),
1739
1836
  // Site title and general header text
1740
1837
  navStyle: headerNavStyle,
@@ -1754,6 +1851,13 @@ var headerSchema = z14.object({
1754
1851
  navLinkStyle: navLinkStyleSchema.optional(),
1755
1852
  // CTA button spacing (desktop left margin)
1756
1853
  ctaGap: headerCtaGapSchema.optional(),
1854
+ // Semantic CTA treatment for header/nav CTA buttons. The Theme V2 compiler
1855
+ // materializes this to ctaVariant against the active button personality.
1856
+ ctaTreatment: headerCtaTreatmentSchema.optional(),
1857
+ // Optional theme-level CTA variant for header/nav CTA buttons.
1858
+ // Internal runtime bridge for the block renderer; prefer ctaTreatment in
1859
+ // authored Theme V2 concepts.
1860
+ ctaVariant: z14.string().min(1).optional(),
1757
1861
  // Dropdown menu styling (nav dropdowns and mobile drawer)
1758
1862
  dropdownStyle: dropdownStyleSchema
1759
1863
  });
@@ -1810,7 +1914,10 @@ var footerSchema = z14.object({
1810
1914
  variant: footerVariant,
1811
1915
  maxWidth: footerMaxWidth,
1812
1916
  showLogoText: z14.boolean().optional(),
1813
- background: headerBackgroundSchema.default({ type: "color", color: "surface" }),
1917
+ background: headerBackgroundSchema.default({
1918
+ type: "color",
1919
+ color: "surface"
1920
+ }),
1814
1921
  // Footer nav styling (independent from header)
1815
1922
  navStyle: headerNavStyle.default("minimal"),
1816
1923
  navColor: z14.string().nullable().optional(),
@@ -1832,17 +1939,7 @@ var layoutSchema = z14.object({
1832
1939
  desktop: containerPaddingPresetSchema.optional()
1833
1940
  }).optional()
1834
1941
  }).optional();
1835
- var heroTypographySizeSchema = z14.enum([
1836
- "sm",
1837
- "base",
1838
- "lg",
1839
- "xl",
1840
- "2xl",
1841
- "3xl",
1842
- "4xl",
1843
- "5xl",
1844
- "6xl"
1845
- ]);
1942
+ var heroTypographySizeSchema = z14.enum(["sm", "base", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl", "editorial"]);
1846
1943
  var heroTypographyLineHeightSchema = z14.enum(["tight", "snug", "normal", "relaxed"]);
1847
1944
  var heroResponsiveTypographySchema = z14.object({
1848
1945
  headlineSize: heroTypographySizeSchema.optional(),
@@ -1867,6 +1964,13 @@ var heroTypographySchema = z14.object({
1867
1964
  var heroSchema = z14.object({
1868
1965
  typography: heroTypographySchema.optional()
1869
1966
  }).optional();
1967
+ var bodyTextIntroTypographySizeSchema = z14.enum(["default", "editorial"]);
1968
+ var bodyTextSchema = z14.object({
1969
+ intro: z14.object({
1970
+ paragraphSize: bodyTextIntroTypographySizeSchema.optional(),
1971
+ headingSize: bodyTextIntroTypographySizeSchema.optional()
1972
+ }).optional()
1973
+ }).optional();
1870
1974
  var gradientsSchema = z14.object({
1871
1975
  button: z14.string().min(1).nullable().optional(),
1872
1976
  hero: z14.string().min(1).nullable().optional(),
@@ -1888,6 +1992,7 @@ var themeSchema = z14.object({
1888
1992
  gradients: gradientsSchema.optional(),
1889
1993
  layout: layoutSchema,
1890
1994
  hero: heroSchema,
1995
+ bodyText: bodyTextSchema,
1891
1996
  header: headerSchema,
1892
1997
  footer: footerSchema,
1893
1998
  buttons: buttonSystemSchema.optional(),
@@ -1911,10 +2016,7 @@ var themeSchema = z14.object({
1911
2016
  ).optional(),
1912
2017
  // Structured block-kind theme overrides (v1: typography prose-link style only)
1913
2018
  // Keyed by block kind (usually data-block value like "hero"; "block.hero" also accepted)
1914
- blockOverrides: z14.record(
1915
- z14.string(),
1916
- blockThemeOverrideSchema
1917
- ).optional(),
2019
+ blockOverrides: z14.record(z14.string(), blockThemeOverrideSchema).optional(),
1918
2020
  // Structured custom CSS rules
1919
2021
  // Validated, scoped, and safe by construction - no @import, remote url(), or global selectors
1920
2022
  customCssRules: customCssRulesSchema,
@@ -2085,6 +2187,28 @@ var brandLedJewel = definePaletteVariant({
2085
2187
  { name: "border", hex: "#a8a29e" }
2086
2188
  ]
2087
2189
  });
2190
+ var brandLedBurgundyGold = definePaletteVariant({
2191
+ id: "brand-led-burgundy-gold",
2192
+ name: "Brand-led \u2014 Burgundy Gold",
2193
+ description: "Deep burgundy with warm gold accents and soft neutral grounds.",
2194
+ tags: { tone: "bold", energy: "vibrant", era: "modern" },
2195
+ mode: "light",
2196
+ colors: [
2197
+ { name: "primary", hex: "#7c2e38" },
2198
+ { name: "secondary", hex: "#d4af37" },
2199
+ { name: "accent", hex: "#b8e19a" },
2200
+ { name: "success", hex: "#10b981" },
2201
+ { name: "warning", hex: "#f59e0b" },
2202
+ { name: "destructive", hex: "#ef4444" },
2203
+ { name: "background", hex: "#f1dfd0" },
2204
+ { name: "surface", hex: "#f5e6db" },
2205
+ { name: "surfaceAlt", hex: "#f8ece3" },
2206
+ { name: "muted", hex: "#c9b8a8" },
2207
+ { name: "text", hex: "#400000" },
2208
+ { name: "primaryForeground", hex: "#ffffff" },
2209
+ { name: "border", hex: "#c9b8a8" }
2210
+ ]
2211
+ });
2088
2212
 
2089
2213
  // ../theme-core/src/palette/variants/high-contrast.ts
2090
2214
  var highContrastInk = definePaletteVariant({
@@ -2296,6 +2420,7 @@ var paletteVariants = [
2296
2420
  brandLedCool,
2297
2421
  brandLedWarm,
2298
2422
  brandLedJewel,
2423
+ brandLedBurgundyGold,
2299
2424
  // Warm-neutral family
2300
2425
  warmNeutralClay,
2301
2426
  warmNeutralCream,
@@ -2552,6 +2677,14 @@ var NAV_LINK_PRESETS = {
2552
2677
  };
2553
2678
  var NAV_LINK_PRESET_IDS = Object.keys(NAV_LINK_PRESETS);
2554
2679
 
2680
+ // ../theme-core/src/layout/generateLayoutCss.ts
2681
+ var waveTransitionMask = svgDataUrl(
2682
+ "<svg viewBox='0 0 1440 72' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><path d='M0 72V46C130 55 260 24 420 30C590 36 690 62 860 42C1035 21 1160 47 1305 36C1365 31 1415 33 1440 38V72H0Z' fill='white'/></svg>"
2683
+ );
2684
+ function svgDataUrl(svg) {
2685
+ return `data:image/svg+xml,${encodeURIComponent(svg)}`;
2686
+ }
2687
+
2555
2688
  // ../theme-core/src/blocks/vars/event-registration.ts
2556
2689
  function generateEventRegistrationVars({
2557
2690
  themeId
@@ -4655,12 +4788,16 @@ var containerResponsiveThemeCss = `/*
4655
4788
  .rb-h-full {
4656
4789
  height: 100%;
4657
4790
  }
4791
+ .rb-section-min-h-banner {
4792
+ min-height: clamp(16rem, 34svh, 24rem);
4793
+ }
4658
4794
  .rb-section-min-h-hero {
4659
4795
  min-height: clamp(32rem, 62svh, 44rem);
4660
4796
  }
4661
4797
  .rb-section-min-h-immersive {
4662
4798
  min-height: clamp(38rem, 78svh, 54rem);
4663
4799
  }
4800
+ .rb-section-min-h-banner > .rb-container,
4664
4801
  .rb-section-min-h-hero > .rb-container,
4665
4802
  .rb-section-min-h-immersive > .rb-container {
4666
4803
  min-height: inherit;
@@ -5770,6 +5907,19 @@ var containerResponsiveThemeCss = `/*
5770
5907
  .rb-object-contain {
5771
5908
  object-fit: contain;
5772
5909
  }
5910
+ .rb-bg-motion-fixed-frame {
5911
+ position: fixed;
5912
+ inset: 0;
5913
+ width: 100vw;
5914
+ height: 100svh;
5915
+ }
5916
+ @media (hover: none), (prefers-reduced-motion: reduce) {
5917
+ .rb-bg-motion-fixed-frame {
5918
+ position: absolute;
5919
+ width: 100%;
5920
+ height: 100%;
5921
+ }
5922
+ }
5773
5923
 
5774
5924
  /* Line clamp */
5775
5925
  .rb-line-clamp-2,
@@ -10280,13 +10430,13 @@ var containerResponsiveThemeCss = `/*
10280
10430
 
10281
10431
  /* Eyebrow - color only (typography via .rb-eyebrow) */
10282
10432
  :where(.theme-scope) :where([data-block="hero"]) .hero-eyebrow {
10283
- color: rgb(var(--tb-text));
10433
+ color: var(--section-text-color, rgb(var(--tb-text)));
10284
10434
  }
10285
10435
 
10286
10436
  /* Subheadline - supporting text below headline */
10287
10437
  :where(.theme-scope) :where([data-block="hero"]) .hero-subheadline {
10288
10438
  font-size: 1.125rem;
10289
- color: rgb(var(--tb-text));
10439
+ color: var(--section-text-color, rgb(var(--tb-text)));
10290
10440
  }
10291
10441
 
10292
10442
  @container rb-site (min-width: 640px) {
@@ -10360,6 +10510,20 @@ var containerResponsiveThemeCss = `/*
10360
10510
  max-width: 60rem;
10361
10511
  }
10362
10512
 
10513
+ :where(.theme-scope) :where([data-block="body-text"][data-block-variant="intro"]) .body-copy-body {
10514
+ font-size: var(--rb-prose-lg-font-size);
10515
+ line-height: var(--rb-prose-lg-line-height);
10516
+ }
10517
+
10518
+ @container rb-site (min-width: 640px) {
10519
+ @scope ([data-rb-responsive-mode="container"]) to (:scope [data-rb-responsive-mode]) {
10520
+ :where(.theme-scope) :where([data-block="body-text"][data-block-variant="intro"]) .body-copy-body {
10521
+ font-size: var(--rb-prose-xl-sm-font-size);
10522
+ line-height: var(--rb-prose-xl-sm-line-height);
10523
+ }
10524
+ }
10525
+ }
10526
+
10363
10527
  /* Variant: Narrow (left-aligned, shorter line length) */
10364
10528
  :where(.theme-scope) :where([data-block="body-text"][data-block-variant="narrow"]) .body-copy-container {
10365
10529
  max-width: 34rem;
@@ -11702,6 +11866,13 @@ var containerResponsiveThemeCss = `/*
11702
11866
  border-radius: var(--rb-block-radius);
11703
11867
  }
11704
11868
 
11869
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonial-card.rb-card-treatment-accent-quote {
11870
+ border: 0;
11871
+ border-left: 5px solid rgb(var(--tb-secondary));
11872
+ border-radius: 0 calc(var(--rb-block-radius) * 3) 0 0;
11873
+ color: rgb(var(--tb-primaryForeground));
11874
+ }
11875
+
11705
11876
  :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonial-quote {
11706
11877
  font-size: var(--rb-testimonial-quote-size);
11707
11878
  line-height: 1;
@@ -11710,6 +11881,12 @@ var containerResponsiveThemeCss = `/*
11710
11881
  color: rgb(var(--tb-primary));
11711
11882
  }
11712
11883
 
11884
+ :where(.theme-scope) :where([data-block="testimonials"]) .rb-card-treatment-accent-quote .rb-testimonial-quote {
11885
+ color: rgb(var(--tb-secondary));
11886
+ font-size: calc(var(--rb-testimonial-quote-size) * 1.25);
11887
+ opacity: 1;
11888
+ }
11889
+
11713
11890
 
11714
11891
  /* Testimonials carousel tweaks: arrow styling + gutters + equal-height cards */
11715
11892
  :where(.theme-scope) :where([data-block="testimonials"]) .rb-testimonials-carousel.carousel-root .carousel-nav-btn {