@neowhale/storefront 0.2.20 → 0.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2596,35 +2596,56 @@ function GallerySection({ section, theme }) {
2596
2596
  ) }, i)) }) });
2597
2597
  }
2598
2598
  function CTASection({ section, theme, tracking }) {
2599
- const { buttons } = section.content;
2599
+ const { title, subtitle, buttons } = section.content;
2600
2600
  if (!buttons || buttons.length === 0) return null;
2601
- return /* @__PURE__ */ jsxRuntime.jsx("div", { style: { padding: "2rem 1.5rem", maxWidth: 480, margin: "0 auto", display: "flex", flexDirection: "column", gap: "0.75rem" }, children: buttons.map((btn, i) => {
2602
- const isPrimary = btn.style !== "outline";
2603
- return /* @__PURE__ */ jsxRuntime.jsx(
2604
- "a",
2605
- {
2606
- href: btn.url,
2607
- onClick: () => trackClick(tracking, btn.text, btn.url, i),
2608
- style: {
2609
- display: "block",
2610
- width: "100%",
2611
- padding: "0.875rem",
2612
- background: isPrimary ? theme.fg : "transparent",
2613
- color: isPrimary ? theme.bg : theme.fg,
2614
- border: isPrimary ? "none" : `1px solid ${theme.fg}20`,
2615
- fontSize: "0.85rem",
2616
- fontWeight: 500,
2617
- textAlign: "center",
2618
- textDecoration: "none",
2619
- boxSizing: "border-box",
2620
- letterSpacing: "0.08em",
2621
- textTransform: "uppercase"
2601
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { padding: "2rem 1.5rem", maxWidth: 480, margin: "0 auto", display: "flex", flexDirection: "column", gap: "0.75rem" }, children: [
2602
+ title && /* @__PURE__ */ jsxRuntime.jsx("h2", { style: {
2603
+ fontSize: "clamp(1.25rem, 4vw, 1.5rem)",
2604
+ fontWeight: 300,
2605
+ fontFamily: theme.fontDisplay || "inherit",
2606
+ margin: "0 0 0.25rem",
2607
+ lineHeight: 1.2,
2608
+ letterSpacing: "-0.02em",
2609
+ color: theme.fg,
2610
+ textAlign: "center"
2611
+ }, children: title }),
2612
+ subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { style: {
2613
+ fontSize: "0.8rem",
2614
+ color: theme.accent,
2615
+ margin: "0 0 0.75rem",
2616
+ lineHeight: 1.6,
2617
+ textTransform: "uppercase",
2618
+ letterSpacing: "0.15em",
2619
+ textAlign: "center"
2620
+ }, children: subtitle }),
2621
+ buttons.map((btn, i) => {
2622
+ const isPrimary = btn.style !== "outline";
2623
+ return /* @__PURE__ */ jsxRuntime.jsx(
2624
+ "a",
2625
+ {
2626
+ href: btn.url,
2627
+ onClick: () => trackClick(tracking, btn.text, btn.url, i),
2628
+ style: {
2629
+ display: "block",
2630
+ width: "100%",
2631
+ padding: "0.875rem",
2632
+ background: isPrimary ? theme.fg : "transparent",
2633
+ color: isPrimary ? theme.bg : theme.fg,
2634
+ border: isPrimary ? "none" : `1px solid ${theme.fg}20`,
2635
+ fontSize: "0.85rem",
2636
+ fontWeight: 500,
2637
+ textAlign: "center",
2638
+ textDecoration: "none",
2639
+ boxSizing: "border-box",
2640
+ letterSpacing: "0.08em",
2641
+ textTransform: "uppercase"
2642
+ },
2643
+ children: btn.text
2622
2644
  },
2623
- children: btn.text
2624
- },
2625
- i
2626
- );
2627
- }) });
2645
+ i
2646
+ );
2647
+ })
2648
+ ] });
2628
2649
  }
2629
2650
  function StatsSection({ section, theme }) {
2630
2651
  const { stats } = section.content;