keystone-design-bootstrap 1.0.50 → 1.0.53

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 (32) hide show
  1. package/dist/{blog-post-D7HFCDp1.d.ts → blog-post-DGjaJ3wf.d.ts} +2 -2
  2. package/dist/design_system/sections/index.d.ts +7 -25
  3. package/dist/design_system/sections/index.js +257 -405
  4. package/dist/design_system/sections/index.js.map +1 -1
  5. package/dist/{form-BLZuTGkr.d.ts → form-CpsCONG5.d.ts} +16 -2
  6. package/dist/index.d.ts +4 -5
  7. package/dist/index.js +275 -423
  8. package/dist/index.js.map +1 -1
  9. package/dist/lib/server-api.d.ts +3 -46
  10. package/dist/lib/server-api.js +0 -9
  11. package/dist/lib/server-api.js.map +1 -1
  12. package/dist/types/index.d.ts +4 -4
  13. package/dist/utils/photo-helpers.d.ts +1 -1
  14. package/package.json +1 -1
  15. package/src/design_system/sections/email-signup-section.tsx +115 -0
  16. package/src/design_system/sections/header-navigation.aman.tsx +8 -3
  17. package/src/design_system/sections/header-navigation.balance.tsx +2 -0
  18. package/src/design_system/sections/header-navigation.barelux.tsx +4 -1
  19. package/src/design_system/sections/index.tsx +5 -16
  20. package/src/design_system/sections/service-menu-section.tsx +58 -146
  21. package/src/lib/server-api.ts +0 -54
  22. package/src/next/contexts/form-definitions.tsx +5 -2
  23. package/src/next/layouts/root-layout.tsx +3 -0
  24. package/src/types/api/form.ts +1 -1
  25. package/src/types/api/offer.ts +13 -0
  26. package/src/types/api/service.ts +2 -0
  27. package/src/types/index.ts +1 -0
  28. package/src/design_system/sections/offer-detail.tsx +0 -46
  29. package/src/design_system/sections/offers-gallery.tsx +0 -40
  30. package/src/design_system/sections/offers-grid.tsx +0 -108
  31. package/src/design_system/sections/offers-section.tsx +0 -90
  32. package/dist/{photos-8jMeetqV.d.ts → website-photos-Bm-CBK9g.d.ts} +20 -20
package/dist/index.js CHANGED
@@ -37,7 +37,7 @@ var __objRest = (source, exclude) => {
37
37
  };
38
38
 
39
39
  // src/design_system/sections/index.tsx
40
- import React64 from "react";
40
+ import React61 from "react";
41
41
 
42
42
  // src/lib/component-registry.ts
43
43
  var registry = /* @__PURE__ */ new Map();
@@ -8464,116 +8464,9 @@ var PolicyDocumentSection = ({
8464
8464
  return /* @__PURE__ */ React.createElement("section", { className: `py-12 md:py-16 ${className}` }, /* @__PURE__ */ React.createElement("div", { className: "mx-auto max-w-3xl px-4 md:px-8" }, /* @__PURE__ */ React.createElement("header", { className: "mb-10 border-b border-gray-200 pb-8" }, /* @__PURE__ */ React.createElement("h1", { className: "font-display text-4xl font-semibold text-gray-900 md:text-5xl" }, title), effectiveDate && /* @__PURE__ */ React.createElement("p", { className: "mt-3 text-sm text-gray-500" }, "Effective Date: ", effectiveDate)), /* @__PURE__ */ React.createElement("div", { className: "prose prose-gray max-w-none text-gray-700" }, /* @__PURE__ */ React.createElement(MarkdownRenderer, { content }))));
8465
8465
  };
8466
8466
 
8467
- // src/design_system/sections/offers-section.tsx
8468
- function OffersSection({
8469
- offers,
8470
- title = "Offers",
8471
- subtitle = "See our current offers.",
8472
- maxOffers = 6,
8473
- backgroundColor = "bg-primary",
8474
- showViewAll = true
8475
- }) {
8476
- const list = Array.isArray(offers) ? offers : [];
8477
- const displayList = list.filter((o) => !o.expired).slice(0, maxOffers);
8478
- if (list.length === 0) {
8479
- return null;
8480
- }
8481
- return /* @__PURE__ */ React.createElement("section", { className: `${backgroundColor} py-16 md:py-24` }, /* @__PURE__ */ React.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col items-start justify-between lg:flex-row" }, /* @__PURE__ */ React.createElement("div", { className: "max-w-3xl" }, /* @__PURE__ */ React.createElement("p", { className: "text-sm font-semibold text-brand-secondary md:text-md" }, "Current offers"), /* @__PURE__ */ React.createElement("h2", { className: "mt-3 text-display-sm font-semibold text-primary md:text-display-md" }, title), /* @__PURE__ */ React.createElement("p", { className: "mt-4 text-lg text-tertiary md:mt-5 md:text-xl" }, subtitle)), showViewAll && /* @__PURE__ */ React.createElement("div", { className: "hidden gap-3 lg:flex" }, /* @__PURE__ */ React.createElement(Button2, { size: "xl", href: "/offers" }, "View all offers"))), /* @__PURE__ */ React.createElement("div", { className: "mx-auto mt-12 max-w-2xl space-y-6" }, displayList.map((offer) => /* @__PURE__ */ React.createElement(OfferCard, { key: offer.id, offer }))), showViewAll && /* @__PURE__ */ React.createElement("div", { className: "mt-12 flex flex-col gap-3 lg:hidden" }, /* @__PURE__ */ React.createElement(Button2, { size: "xl", href: "/offers" }, "View all offers"))));
8482
- }
8483
- function OfferCard({ offer }) {
8484
- return /* @__PURE__ */ React.createElement("div", { className: "rounded-2xl border border-secondary bg-secondary/30 p-5 md:p-6" }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ React.createElement("h3", { className: "text-lg font-semibold text-primary" }, offer.name), offer.description && /* @__PURE__ */ React.createElement("p", { className: "text-tertiary" }, offer.description), offer.value_terms && /* @__PURE__ */ React.createElement("p", { className: "text-sm font-medium text-primary" }, offer.value_terms), offer.expires_at && (() => {
8485
- const d = new Date(offer.expires_at);
8486
- if (Number.isNaN(d.getTime())) return null;
8487
- return /* @__PURE__ */ React.createElement("p", { className: "text-xs text-tertiary" }, "Expires ", d.toLocaleDateString());
8488
- })()));
8489
- }
8490
-
8491
- // src/design_system/sections/offers-gallery.tsx
8492
- import React36 from "react";
8493
-
8494
- // src/design_system/sections/offers-grid.tsx
8495
- import React35 from "react";
8496
- function OffersGrid({
8497
- offers,
8498
- title = "Offers",
8499
- subtitle = "See our current offers.",
8500
- websitePhotos,
8501
- companyInformation,
8502
- backgroundColor = "bg-primary"
8503
- }) {
8504
- const list = Array.isArray(offers) ? offers : [];
8505
- const displayList = list.filter((o) => !o.expired);
8506
- return /* @__PURE__ */ React35.createElement("section", { className: `${backgroundColor} py-16 md:py-24` }, /* @__PURE__ */ React35.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React35.createElement("div", { className: "mx-auto max-w-3xl text-center" }, /* @__PURE__ */ React35.createElement("h1", { className: "text-display-sm font-semibold text-primary md:text-display-md" }, title), subtitle && /* @__PURE__ */ React35.createElement("p", { className: "mt-4 text-lg text-tertiary md:mt-5 md:text-xl" }, subtitle)), displayList.length > 0 ? /* @__PURE__ */ React35.createElement("ul", { className: "mx-auto mt-12 grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3" }, displayList.map((offer, index) => /* @__PURE__ */ React35.createElement("li", { key: offer.id }, /* @__PURE__ */ React35.createElement(
8507
- OffersGridCard,
8508
- {
8509
- offer,
8510
- index,
8511
- websitePhotos,
8512
- companyInformation
8513
- }
8514
- )))) : /* @__PURE__ */ React35.createElement("div", { className: "mx-auto mt-12 max-w-md text-center" }, /* @__PURE__ */ React35.createElement("p", { className: "text-tertiary" }, "No offers available at the moment. Check back later."))));
8515
- }
8516
- function OffersGridCard({
8517
- offer,
8518
- index,
8519
- websitePhotos,
8520
- companyInformation
8521
- }) {
8522
- var _a;
8523
- return /* @__PURE__ */ React35.createElement("article", { className: "flex flex-col overflow-hidden rounded-2xl border border-secondary bg-secondary/30" }, /* @__PURE__ */ React35.createElement("div", { className: "aspect-[4/3] w-full overflow-hidden" }, /* @__PURE__ */ React35.createElement(
8524
- PhotoWithFallback2,
8525
- {
8526
- item: void 0,
8527
- fallbackId: (_a = offer.id) != null ? _a : index,
8528
- alt: offer.name,
8529
- className: "size-full object-cover",
8530
- websitePhotos,
8531
- companyInformation
8532
- }
8533
- )), /* @__PURE__ */ React35.createElement("div", { className: "flex flex-1 flex-col gap-3 p-5 md:p-6" }, /* @__PURE__ */ React35.createElement("h2", { className: "text-lg font-semibold text-primary" }, offer.name), offer.description && /* @__PURE__ */ React35.createElement("p", { className: "text-tertiary line-clamp-2" }, offer.description), offer.value_terms && /* @__PURE__ */ React35.createElement("p", { className: "text-sm font-medium text-primary" }, offer.value_terms), offer.expires_at && (() => {
8534
- const d = new Date(offer.expires_at);
8535
- if (Number.isNaN(d.getTime())) return null;
8536
- return /* @__PURE__ */ React35.createElement("p", { className: "text-xs text-tertiary" }, "Expires ", d.toLocaleDateString());
8537
- })()));
8538
- }
8539
-
8540
- // src/design_system/sections/offers-gallery.tsx
8541
- var OffersGallery = ({
8542
- offers,
8543
- title = "Offers",
8544
- subtitle = "See our current offers.",
8545
- websitePhotos,
8546
- companyInformation,
8547
- className = ""
8548
- }) => /* @__PURE__ */ React36.createElement("section", { className }, /* @__PURE__ */ React36.createElement(
8549
- OffersGrid,
8550
- {
8551
- offers,
8552
- title,
8553
- subtitle,
8554
- websitePhotos,
8555
- companyInformation
8556
- }
8557
- ));
8558
- registerThemeVariant("offers-gallery", "classic", OffersGallery);
8559
-
8560
- // src/design_system/sections/offer-detail.tsx
8561
- import React37 from "react";
8562
- var OfferDetailSection = ({ offer }) => {
8563
- if (!offer) {
8564
- return /* @__PURE__ */ React37.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React37.createElement("div", { className: "text-6xl mb-4" }, "\u{1F381}"), /* @__PURE__ */ React37.createElement("h3", { className: "text-xl font-semibold text-gray-900 mb-2" }, "Offer Not Found"), /* @__PURE__ */ React37.createElement("p", { className: "text-gray-600 mb-4" }, "The offer you're looking for doesn't exist or has expired."), /* @__PURE__ */ React37.createElement(Button2, { href: "/offers" }, "View All Offers"));
8565
- }
8566
- return /* @__PURE__ */ React37.createElement("div", { className: "mx-auto max-w-3xl px-4 py-12" }, /* @__PURE__ */ React37.createElement("h1", { className: "text-2xl font-semibold text-gray-900 mb-4" }, offer.name), offer.value_terms && /* @__PURE__ */ React37.createElement("p", { className: "text-gray-600 mb-2" }, offer.value_terms), offer.description && /* @__PURE__ */ React37.createElement("p", { className: "text-gray-600 mb-4" }, offer.description), offer.expires_at && (() => {
8567
- const d = new Date(offer.expires_at);
8568
- if (Number.isNaN(d.getTime())) return null;
8569
- return /* @__PURE__ */ React37.createElement("p", { className: "text-sm text-gray-500 mb-6" }, "Expires ", d.toLocaleDateString());
8570
- })(), /* @__PURE__ */ React37.createElement(Button2, { href: "/offers" }, "Back to Offers"));
8571
- };
8572
- registerThemeVariant("offer-detail", "classic", OfferDetailSection);
8573
-
8574
8467
  // src/design_system/sections/hero-home.aman.tsx
8575
8468
  import { Fragment as Fragment3, useState as useState15 } from "react";
8576
- import React38 from "react";
8469
+ import React35 from "react";
8577
8470
  var HeroHome2 = ({
8578
8471
  websitePhotos,
8579
8472
  companyInformation,
@@ -8591,7 +8484,7 @@ var HeroHome2 = ({
8591
8484
  url: ((_b = websitePhotos == null ? void 0 : websitePhotos.hero) == null ? void 0 : _b.url) || "",
8592
8485
  alt: ((_c = websitePhotos == null ? void 0 : websitePhotos.hero) == null ? void 0 : _c.alt) || "Hero image"
8593
8486
  };
8594
- return /* @__PURE__ */ React38.createElement(Fragment3, null, /* @__PURE__ */ React38.createElement("section", { className: "py-24 md:py-32" }, /* @__PURE__ */ React38.createElement("div", { className: "mx-auto max-w-4xl px-4 text-center md:px-8" }, /* @__PURE__ */ React38.createElement("h1", { className: "font-display text-5xl font-normal leading-tight text-fg-primary md:text-6xl lg:text-7xl" }, headline), /* @__PURE__ */ React38.createElement("p", { className: "mt-6 font-body text-lg leading-relaxed text-tertiary md:text-xl max-w-3xl mx-auto" }, subhead), ctaText && /* @__PURE__ */ React38.createElement(
8487
+ return /* @__PURE__ */ React35.createElement(Fragment3, null, /* @__PURE__ */ React35.createElement("section", { className: "py-24 md:py-32" }, /* @__PURE__ */ React35.createElement("div", { className: "mx-auto max-w-4xl px-4 text-center md:px-8" }, /* @__PURE__ */ React35.createElement("h1", { className: "font-display text-5xl font-normal leading-tight text-fg-primary md:text-6xl lg:text-7xl" }, headline), /* @__PURE__ */ React35.createElement("p", { className: "mt-6 font-body text-lg leading-relaxed text-tertiary md:text-xl max-w-3xl mx-auto" }, subhead), ctaText && /* @__PURE__ */ React35.createElement(
8595
8488
  "a",
8596
8489
  {
8597
8490
  href: effectiveCtaHref,
@@ -8601,7 +8494,7 @@ var HeroHome2 = ({
8601
8494
  style: { color: "var(--color-text-brand-accent)" }
8602
8495
  },
8603
8496
  ctaText
8604
- ))), /* @__PURE__ */ React38.createElement("section", null, /* @__PURE__ */ React38.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React38.createElement("div", { className: "relative w-full h-[400px] md:h-[500px] lg:h-[600px]" }, /* @__PURE__ */ React38.createElement(
8497
+ ))), /* @__PURE__ */ React35.createElement("section", null, /* @__PURE__ */ React35.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React35.createElement("div", { className: "relative w-full h-[400px] md:h-[500px] lg:h-[600px]" }, /* @__PURE__ */ React35.createElement(
8605
8498
  PhotoWithFallback2,
8606
8499
  {
8607
8500
  photoUrl: heroImage.url,
@@ -8609,7 +8502,7 @@ var HeroHome2 = ({
8609
8502
  fallbackId: "hero-home-brand",
8610
8503
  className: "w-full h-full object-cover"
8611
8504
  }
8612
- ), videoUrl && /* @__PURE__ */ React38.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React38.createElement(VideoPlayButton, { onClick: () => setShowVideo(true) }))))), videoUrl && /* @__PURE__ */ React38.createElement(
8505
+ ), videoUrl && /* @__PURE__ */ React35.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React35.createElement(VideoPlayButton, { onClick: () => setShowVideo(true) }))))), videoUrl && /* @__PURE__ */ React35.createElement(
8613
8506
  VideoModal,
8614
8507
  {
8615
8508
  isOpen: showVideo,
@@ -8621,7 +8514,7 @@ var HeroHome2 = ({
8621
8514
  registerThemeVariant("hero-home", "aman", HeroHome2);
8622
8515
 
8623
8516
  // src/design_system/sections/header-navigation.aman.tsx
8624
- import React39, { useState as useState16, useRef as useRef9, useCallback as useCallback5 } from "react";
8517
+ import React36, { useState as useState16, useRef as useRef9, useCallback as useCallback5 } from "react";
8625
8518
  import Link6 from "next/link";
8626
8519
  import Image11 from "next/image";
8627
8520
  var MAX_DROPDOWN_ITEMS = 3;
@@ -8640,14 +8533,14 @@ function HeaderNavigation2({
8640
8533
  const [dropdownTop, setDropdownTop] = useState16(0);
8641
8534
  const [isScrolled, setIsScrolled] = useState16(false);
8642
8535
  const closeTimeoutRef = useRef9(null);
8643
- React39.useEffect(() => {
8536
+ React36.useEffect(() => {
8644
8537
  const handleScroll = () => {
8645
8538
  setIsScrolled(window.scrollY > 10);
8646
8539
  };
8647
8540
  window.addEventListener("scroll", handleScroll);
8648
8541
  return () => window.removeEventListener("scroll", handleScroll);
8649
8542
  }, []);
8650
- React39.useEffect(() => {
8543
+ React36.useEffect(() => {
8651
8544
  return () => {
8652
8545
  if (closeTimeoutRef.current) {
8653
8546
  clearTimeout(closeTimeoutRef.current);
@@ -8710,10 +8603,10 @@ function HeaderNavigation2({
8710
8603
  viewAllLabel: ""
8711
8604
  };
8712
8605
  };
8713
- return /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement("header", { className: "hidden md:block sticky top-0 z-50 bg-primary border-b border-secondary transition-all duration-300" }, /* @__PURE__ */ React39.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React39.createElement("div", { className: cx(
8606
+ return /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement("header", { className: "hidden md:block sticky top-0 z-50 bg-primary border-b border-secondary transition-all duration-300" }, /* @__PURE__ */ React36.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React36.createElement("div", { className: cx(
8714
8607
  "relative flex items-center justify-between transition-all duration-300",
8715
8608
  isScrolled ? "py-2" : "py-8"
8716
- ) }, /* @__PURE__ */ React39.createElement(Link6, { href: ((_d = props == null ? void 0 : props.logo) == null ? void 0 : _d.href) || "/", className: "flex items-center" }, logoUrl && /* @__PURE__ */ React39.createElement(
8609
+ ) }, /* @__PURE__ */ React36.createElement(Link6, { href: ((_d = props == null ? void 0 : props.logo) == null ? void 0 : _d.href) || "/", className: "flex items-center" }, logoUrl && /* @__PURE__ */ React36.createElement(
8717
8610
  Image11,
8718
8611
  {
8719
8612
  src: logoUrl,
@@ -8722,7 +8615,7 @@ function HeaderNavigation2({
8722
8615
  width: 120,
8723
8616
  height: 40
8724
8617
  }
8725
- )), /* @__PURE__ */ React39.createElement(Link6, { href: ((_e = props == null ? void 0 : props.logo) == null ? void 0 : _e.href) || "/", className: "absolute left-1/2 transform -translate-x-1/2 font-display text-2xl md:text-3xl font-normal uppercase tracking-widest text-fg-primary", suppressHydrationWarning: true }, companyName), /* @__PURE__ */ React39.createElement("div", { className: "flex items-center gap-3" }, ((_f = props == null ? void 0 : props.cta_button) == null ? void 0 : _f.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React39.createElement(
8618
+ )), /* @__PURE__ */ React36.createElement(Link6, { href: ((_e = props == null ? void 0 : props.logo) == null ? void 0 : _e.href) || "/", className: "absolute left-1/2 transform -translate-x-1/2 font-display text-2xl md:text-3xl font-normal uppercase tracking-widest text-fg-primary", suppressHydrationWarning: true }, companyName), /* @__PURE__ */ React36.createElement("div", { className: "flex items-center gap-3" }, ((_f = props == null ? void 0 : props.cta_button) == null ? void 0 : _f.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React36.createElement(
8726
8619
  Button2,
8727
8620
  {
8728
8621
  href: ctaUrls.secondaryHref,
@@ -8733,7 +8626,7 @@ function HeaderNavigation2({
8733
8626
  className: "font-body text-sm uppercase tracking-wide px-6 py-2 rounded-sm"
8734
8627
  },
8735
8628
  props.cta_button.label
8736
- ), /* @__PURE__ */ React39.createElement(
8629
+ ), /* @__PURE__ */ React36.createElement(
8737
8630
  Button2,
8738
8631
  {
8739
8632
  href: ctaUrls.primaryHref,
@@ -8744,7 +8637,7 @@ function HeaderNavigation2({
8744
8637
  className: "font-body text-sm uppercase tracking-wide px-6 py-2 rounded-sm"
8745
8638
  },
8746
8639
  ((_j = props == null ? void 0 : props.cta_button) == null ? void 0 : _j.secondary_label) && ctaUrls.hasSecondary ? props.cta_button.secondary_label : ((_k = props == null ? void 0 : props.cta_button) == null ? void 0 : _k.label) || "Contact"
8747
- ))), /* @__PURE__ */ React39.createElement("nav", { className: "border-b border-secondary" }, /* @__PURE__ */ React39.createElement("div", { className: "flex items-center justify-center gap-8 py-4" }, navigation.map((item, i) => /* @__PURE__ */ React39.createElement(
8640
+ ))), /* @__PURE__ */ React36.createElement("nav", { className: "border-b border-secondary" }, /* @__PURE__ */ React36.createElement("div", { className: "flex items-center justify-center gap-8 py-4" }, navigation.map((item, i) => /* @__PURE__ */ React36.createElement(
8748
8641
  "div",
8749
8642
  {
8750
8643
  key: i,
@@ -8752,7 +8645,7 @@ function HeaderNavigation2({
8752
8645
  onMouseEnter: (e) => handleMouseEnter(item, e),
8753
8646
  onMouseLeave: handleMouseLeave
8754
8647
  },
8755
- /* @__PURE__ */ React39.createElement(
8648
+ /* @__PURE__ */ React36.createElement(
8756
8649
  Link6,
8757
8650
  {
8758
8651
  href: item.href,
@@ -8763,7 +8656,7 @@ function HeaderNavigation2({
8763
8656
  },
8764
8657
  item.label
8765
8658
  ),
8766
- item.children && item.children.length > 0 && activeDropdown === item.label && /* @__PURE__ */ React39.createElement(
8659
+ item.children && item.children.length > 0 && activeDropdown === item.label && /* @__PURE__ */ React36.createElement(
8767
8660
  "div",
8768
8661
  {
8769
8662
  className: "fixed left-0 right-0 w-full pt-6 pb-6 border-b border-secondary bg-primary z-50",
@@ -8771,9 +8664,9 @@ function HeaderNavigation2({
8771
8664
  onMouseEnter: handleDropdownMouseEnter,
8772
8665
  onMouseLeave: handleDropdownMouseLeave
8773
8666
  },
8774
- /* @__PURE__ */ React39.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React39.createElement("div", { className: "flex items-center justify-center gap-8" }, (() => {
8667
+ /* @__PURE__ */ React36.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React36.createElement("div", { className: "flex items-center justify-center gap-8" }, (() => {
8775
8668
  const { items, showViewAll, viewAllHref, viewAllLabel } = getDropdownItems(item);
8776
- return /* @__PURE__ */ React39.createElement(React39.Fragment, null, items.map((link, j) => /* @__PURE__ */ React39.createElement(
8669
+ return /* @__PURE__ */ React36.createElement(React36.Fragment, null, items.map((link, j) => /* @__PURE__ */ React36.createElement(
8777
8670
  Link6,
8778
8671
  {
8779
8672
  key: j,
@@ -8781,7 +8674,7 @@ function HeaderNavigation2({
8781
8674
  className: "font-body text-sm text-fg-primary hover:underline whitespace-nowrap"
8782
8675
  },
8783
8676
  link.label
8784
- )), showViewAll && /* @__PURE__ */ React39.createElement(
8677
+ )), showViewAll && /* @__PURE__ */ React36.createElement(
8785
8678
  Link6,
8786
8679
  {
8787
8680
  href: viewAllHref,
@@ -8792,15 +8685,15 @@ function HeaderNavigation2({
8792
8685
  ));
8793
8686
  })()))
8794
8687
  )
8795
- )))))), /* @__PURE__ */ React39.createElement("header", { className: "md:hidden sticky top-0 z-50 bg-primary border-b border-secondary" }, /* @__PURE__ */ React39.createElement("div", { className: "flex items-center justify-between px-4 py-4" }, /* @__PURE__ */ React39.createElement(
8688
+ )))))), /* @__PURE__ */ React36.createElement("header", { className: "md:hidden sticky top-0 z-50 bg-primary border-b border-secondary" }, /* @__PURE__ */ React36.createElement("div", { className: "flex items-center justify-between px-4 py-4" }, /* @__PURE__ */ React36.createElement(
8796
8689
  "button",
8797
8690
  {
8798
8691
  onClick: () => setIsMobileMenuOpen(true),
8799
8692
  className: "text-fg-primary",
8800
8693
  "aria-label": "Open menu"
8801
8694
  },
8802
- /* @__PURE__ */ React39.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React39.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 6h16M4 12h16M4 18h16" }))
8803
- ), /* @__PURE__ */ React39.createElement(Link6, { href: ((_l = props == null ? void 0 : props.logo) == null ? void 0 : _l.href) || "/", className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React39.createElement(
8695
+ /* @__PURE__ */ React36.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React36.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 6h16M4 12h16M4 18h16" }))
8696
+ ), /* @__PURE__ */ React36.createElement(Link6, { href: ((_l = props == null ? void 0 : props.logo) == null ? void 0 : _l.href) || "/", className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React36.createElement(
8804
8697
  Image11,
8805
8698
  {
8806
8699
  src: logoUrl,
@@ -8809,15 +8702,15 @@ function HeaderNavigation2({
8809
8702
  width: 120,
8810
8703
  height: 32
8811
8704
  }
8812
- ) : /* @__PURE__ */ React39.createElement("span", { className: "font-display text-xl font-normal uppercase tracking-widest text-fg-primary" }, companyName)), /* @__PURE__ */ React39.createElement("div", { className: "w-6" }))), isMobileMenuOpen && /* @__PURE__ */ React39.createElement("div", { className: "fixed inset-0 bg-white z-50 md:hidden" }, /* @__PURE__ */ React39.createElement("div", { className: "flex flex-col h-full" }, /* @__PURE__ */ React39.createElement("div", { className: "flex items-center justify-between px-4 py-4 border-b border-secondary" }, /* @__PURE__ */ React39.createElement(
8705
+ ) : /* @__PURE__ */ React36.createElement("span", { className: "font-display text-xl font-normal uppercase tracking-widest text-fg-primary" }, companyName)), /* @__PURE__ */ React36.createElement("div", { className: "w-6" }))), isMobileMenuOpen && /* @__PURE__ */ React36.createElement("div", { className: "fixed inset-0 bg-white z-50 md:hidden" }, /* @__PURE__ */ React36.createElement("div", { className: "flex flex-col h-full" }, /* @__PURE__ */ React36.createElement("div", { className: "flex items-center justify-between px-4 py-4 border-b border-secondary" }, /* @__PURE__ */ React36.createElement(
8813
8706
  "button",
8814
8707
  {
8815
8708
  onClick: () => setIsMobileMenuOpen(false),
8816
8709
  className: "text-fg-primary",
8817
8710
  "aria-label": "Close menu"
8818
8711
  },
8819
- /* @__PURE__ */ React39.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React39.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }))
8820
- ), /* @__PURE__ */ React39.createElement("div", { className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React39.createElement(
8712
+ /* @__PURE__ */ React36.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React36.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }))
8713
+ ), /* @__PURE__ */ React36.createElement("div", { className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React36.createElement(
8821
8714
  Image11,
8822
8715
  {
8823
8716
  src: logoUrl,
@@ -8826,9 +8719,9 @@ function HeaderNavigation2({
8826
8719
  width: 120,
8827
8720
  height: 32
8828
8721
  }
8829
- ) : /* @__PURE__ */ React39.createElement("span", { className: "font-display text-xl font-normal uppercase tracking-widest text-fg-primary" }, companyName)), /* @__PURE__ */ React39.createElement("div", { className: "w-6" })), /* @__PURE__ */ React39.createElement("nav", { className: "flex-1 overflow-y-auto px-4 py-8" }, /* @__PURE__ */ React39.createElement("ul", { className: "space-y-4" }, navigation.map((item, i) => {
8722
+ ) : /* @__PURE__ */ React36.createElement("span", { className: "font-display text-xl font-normal uppercase tracking-widest text-fg-primary" }, companyName)), /* @__PURE__ */ React36.createElement("div", { className: "w-6" })), /* @__PURE__ */ React36.createElement("nav", { className: "flex-1 overflow-y-auto px-4 py-8" }, /* @__PURE__ */ React36.createElement("ul", { className: "space-y-4" }, navigation.map((item, i) => {
8830
8723
  const { items, showViewAll, viewAllHref, viewAllLabel } = getDropdownItems(item);
8831
- return /* @__PURE__ */ React39.createElement("li", { key: i }, /* @__PURE__ */ React39.createElement(
8724
+ return /* @__PURE__ */ React36.createElement("li", { key: i }, /* @__PURE__ */ React36.createElement(
8832
8725
  Link6,
8833
8726
  {
8834
8727
  href: item.href,
@@ -8836,7 +8729,7 @@ function HeaderNavigation2({
8836
8729
  onClick: () => setIsMobileMenuOpen(false)
8837
8730
  },
8838
8731
  item.label
8839
- ), items.length > 0 && /* @__PURE__ */ React39.createElement("ul", { className: "ml-4 mt-2 space-y-2" }, items.map((link, j) => /* @__PURE__ */ React39.createElement("li", { key: j }, /* @__PURE__ */ React39.createElement(
8732
+ ), items.length > 0 && /* @__PURE__ */ React36.createElement("ul", { className: "ml-4 mt-2 space-y-2" }, items.map((link, j) => /* @__PURE__ */ React36.createElement("li", { key: j }, /* @__PURE__ */ React36.createElement(
8840
8733
  Link6,
8841
8734
  {
8842
8735
  href: link.href,
@@ -8844,7 +8737,7 @@ function HeaderNavigation2({
8844
8737
  onClick: () => setIsMobileMenuOpen(false)
8845
8738
  },
8846
8739
  link.label
8847
- ))), showViewAll && /* @__PURE__ */ React39.createElement("li", null, /* @__PURE__ */ React39.createElement(
8740
+ ))), showViewAll && /* @__PURE__ */ React36.createElement("li", null, /* @__PURE__ */ React36.createElement(
8848
8741
  Link6,
8849
8742
  {
8850
8743
  href: viewAllHref,
@@ -8854,7 +8747,7 @@ function HeaderNavigation2({
8854
8747
  viewAllLabel,
8855
8748
  " \u2192"
8856
8749
  ))));
8857
- }))), /* @__PURE__ */ React39.createElement("div", { className: "border-t border-secondary px-4 py-6" }, /* @__PURE__ */ React39.createElement("div", { className: "flex flex-col gap-3" }, ((_m = props == null ? void 0 : props.cta_button) == null ? void 0 : _m.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React39.createElement(
8750
+ }))), /* @__PURE__ */ React36.createElement("div", { className: "border-t border-secondary px-4 py-6" }, /* @__PURE__ */ React36.createElement("div", { className: "flex flex-col gap-3" }, ((_m = props == null ? void 0 : props.cta_button) == null ? void 0 : _m.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React36.createElement(
8858
8751
  Button2,
8859
8752
  {
8860
8753
  href: ctaUrls.secondaryHref,
@@ -8865,7 +8758,7 @@ function HeaderNavigation2({
8865
8758
  onClick: () => setIsMobileMenuOpen(false)
8866
8759
  },
8867
8760
  props.cta_button.label
8868
- ), /* @__PURE__ */ React39.createElement(
8761
+ ), /* @__PURE__ */ React36.createElement(
8869
8762
  Button2,
8870
8763
  {
8871
8764
  href: ctaUrls.primaryHref,
@@ -8876,7 +8769,7 @@ function HeaderNavigation2({
8876
8769
  onClick: () => setIsMobileMenuOpen(false)
8877
8770
  },
8878
8771
  ((_q = props == null ? void 0 : props.cta_button) == null ? void 0 : _q.secondary_label) && ctaUrls.hasSecondary ? props.cta_button.secondary_label : ((_r = props == null ? void 0 : props.cta_button) == null ? void 0 : _r.label) || "Contact"
8879
- ))))), /* @__PURE__ */ React39.createElement("div", { className: "fixed bottom-0 left-0 right-0 z-40 md:hidden bg-fg-primary" }, /* @__PURE__ */ React39.createElement("div", { className: "flex gap-0" }, ((_s = props == null ? void 0 : props.cta_button) == null ? void 0 : _s.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React39.createElement(
8772
+ ))))), /* @__PURE__ */ React36.createElement("div", { className: "fixed bottom-0 left-0 right-0 z-40 md:hidden bg-fg-primary" }, /* @__PURE__ */ React36.createElement("div", { className: "flex gap-0" }, ((_s = props == null ? void 0 : props.cta_button) == null ? void 0 : _s.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React36.createElement(
8880
8773
  Button2,
8881
8774
  {
8882
8775
  href: ctaUrls.secondaryHref,
@@ -8886,7 +8779,7 @@ function HeaderNavigation2({
8886
8779
  className: "flex-1 font-body text-sm uppercase tracking-wide py-4 rounded-none border-r border-gray-700"
8887
8780
  },
8888
8781
  props.cta_button.label
8889
- ), /* @__PURE__ */ React39.createElement(
8782
+ ), /* @__PURE__ */ React36.createElement(
8890
8783
  Button2,
8891
8784
  {
8892
8785
  href: ctaUrls.primaryHref,
@@ -8987,7 +8880,7 @@ var ServicesGrid2 = ({
8987
8880
  registerThemeVariant("services-grid", "aman", ServicesGrid2);
8988
8881
 
8989
8882
  // src/design_system/sections/testimonials-home.aman.tsx
8990
- import React40 from "react";
8883
+ import React37 from "react";
8991
8884
  var TestimonialsHome2 = ({
8992
8885
  testimonials: testimonialsData,
8993
8886
  title = "",
@@ -8995,7 +8888,7 @@ var TestimonialsHome2 = ({
8995
8888
  }) => {
8996
8889
  const testimonials = Array.isArray(testimonialsData) ? testimonialsData : [];
8997
8890
  const displayTestimonials = perPage ? testimonials.slice(0, perPage) : testimonials;
8998
- return /* @__PURE__ */ React40.createElement("section", null, /* @__PURE__ */ React40.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React40.createElement(
8891
+ return /* @__PURE__ */ React37.createElement("section", null, /* @__PURE__ */ React37.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React37.createElement(
8999
8892
  CarouselSectionWrapper,
9000
8893
  {
9001
8894
  title,
@@ -9010,7 +8903,7 @@ var TestimonialsHome2 = ({
9010
8903
  const avatarUrl = getAvatarUrl(testimonial.photo_attachments, testimonial.id, reviewerName);
9011
8904
  const rating = testimonial.rating || 5;
9012
8905
  const isVerified = true;
9013
- return /* @__PURE__ */ React40.createElement(Carousel.Item, { key: testimonial.id || i, className: "pl-4 md:basis-1/2 lg:basis-1/3" }, /* @__PURE__ */ React40.createElement("div", { className: "bg-white p-8 flex flex-col h-full" }, /* @__PURE__ */ React40.createElement("div", { className: "flex gap-1 mb-6" }, Array.from({ length: 5 }).map((_, starIdx) => /* @__PURE__ */ React40.createElement(
8906
+ return /* @__PURE__ */ React37.createElement(Carousel.Item, { key: testimonial.id || i, className: "pl-4 md:basis-1/2 lg:basis-1/3" }, /* @__PURE__ */ React37.createElement("div", { className: "bg-white p-8 flex flex-col h-full" }, /* @__PURE__ */ React37.createElement("div", { className: "flex gap-1 mb-6" }, Array.from({ length: 5 }).map((_, starIdx) => /* @__PURE__ */ React37.createElement(
9014
8907
  "svg",
9015
8908
  {
9016
8909
  key: starIdx,
@@ -9022,8 +8915,8 @@ var TestimonialsHome2 = ({
9022
8915
  strokeWidth: "2",
9023
8916
  viewBox: "0 0 24 24"
9024
8917
  },
9025
- /* @__PURE__ */ React40.createElement("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" })
9026
- ))), /* @__PURE__ */ React40.createElement("p", { className: "font-display text-lg leading-relaxed text-tertiary mb-6 flex-grow" }, '"', quote, '"'), /* @__PURE__ */ React40.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React40.createElement("div", { className: "w-12 h-12 rounded-full overflow-hidden flex-shrink-0" }, /* @__PURE__ */ React40.createElement(
8918
+ /* @__PURE__ */ React37.createElement("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" })
8919
+ ))), /* @__PURE__ */ React37.createElement("p", { className: "font-display text-lg leading-relaxed text-tertiary mb-6 flex-grow" }, '"', quote, '"'), /* @__PURE__ */ React37.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React37.createElement("div", { className: "w-12 h-12 rounded-full overflow-hidden flex-shrink-0" }, /* @__PURE__ */ React37.createElement(
9027
8920
  PhotoWithFallback2,
9028
8921
  {
9029
8922
  photoUrl: avatarUrl,
@@ -9031,21 +8924,21 @@ var TestimonialsHome2 = ({
9031
8924
  fallbackId: testimonial.id || i,
9032
8925
  className: "w-full h-full object-cover"
9033
8926
  }
9034
- )), /* @__PURE__ */ React40.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React40.createElement("div", { className: "flex items-center gap-1.5" }, /* @__PURE__ */ React40.createElement("p", { className: "font-body text-sm font-medium text-fg-primary" }, reviewerName), isVerified && /* @__PURE__ */ React40.createElement("svg", { className: "w-4 h-4 text-fg-primary", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React40.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z", clipRule: "evenodd" }))), /* @__PURE__ */ React40.createElement("p", { className: "font-body text-xs", style: { color: "var(--color-text-brand-secondary)" } }, username)))));
8927
+ )), /* @__PURE__ */ React37.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React37.createElement("div", { className: "flex items-center gap-1.5" }, /* @__PURE__ */ React37.createElement("p", { className: "font-body text-sm font-medium text-fg-primary" }, reviewerName), isVerified && /* @__PURE__ */ React37.createElement("svg", { className: "w-4 h-4 text-fg-primary", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React37.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z", clipRule: "evenodd" }))), /* @__PURE__ */ React37.createElement("p", { className: "font-body text-xs", style: { color: "var(--color-text-brand-secondary)" } }, username)))));
9035
8928
  })
9036
8929
  )));
9037
8930
  };
9038
8931
  registerThemeVariant("testimonials-home", "aman", TestimonialsHome2);
9039
8932
 
9040
8933
  // src/design_system/sections/testimonials-grid.aman.tsx
9041
- import React41 from "react";
8934
+ import React38 from "react";
9042
8935
  var TestimonialsGrid2 = ({
9043
8936
  testimonials: testimonialsData,
9044
8937
  title = "",
9045
8938
  subtitle = ""
9046
8939
  }) => {
9047
8940
  const testimonials = Array.isArray(testimonialsData) ? testimonialsData : [];
9048
- return /* @__PURE__ */ React41.createElement("section", null, /* @__PURE__ */ React41.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, (title || subtitle) && /* @__PURE__ */ React41.createElement("div", { className: "mb-12 text-center" }, title && /* @__PURE__ */ React41.createElement("h2", { className: "font-display text-4xl font-normal text-fg-primary md:text-5xl" }, title), subtitle && /* @__PURE__ */ React41.createElement("p", { className: "mt-4 font-display text-lg leading-relaxed text-tertiary md:text-xl max-w-3xl mx-auto" }, subtitle)), testimonials.length > 0 ? /* @__PURE__ */ React41.createElement("div", { className: "grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-3" }, testimonials.map((testimonial, i) => {
8941
+ return /* @__PURE__ */ React38.createElement("section", null, /* @__PURE__ */ React38.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, (title || subtitle) && /* @__PURE__ */ React38.createElement("div", { className: "mb-12 text-center" }, title && /* @__PURE__ */ React38.createElement("h2", { className: "font-display text-4xl font-normal text-fg-primary md:text-5xl" }, title), subtitle && /* @__PURE__ */ React38.createElement("p", { className: "mt-4 font-display text-lg leading-relaxed text-tertiary md:text-xl max-w-3xl mx-auto" }, subtitle)), testimonials.length > 0 ? /* @__PURE__ */ React38.createElement("div", { className: "grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-3" }, testimonials.map((testimonial, i) => {
9049
8942
  var _a;
9050
8943
  const quote = ((_a = testimonial.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim()) || "";
9051
8944
  const reviewerName = testimonial.reviewer_name || "Customer";
@@ -9053,7 +8946,7 @@ var TestimonialsGrid2 = ({
9053
8946
  const avatarUrl = getAvatarUrl(testimonial.photo_attachments, testimonial.id, reviewerName);
9054
8947
  const rating = testimonial.rating || 5;
9055
8948
  const isVerified = true;
9056
- return /* @__PURE__ */ React41.createElement("div", { key: testimonial.id || i, className: "bg-white p-8 flex flex-col h-full" }, /* @__PURE__ */ React41.createElement("div", { className: "flex gap-1 mb-6" }, Array.from({ length: 5 }).map((_, starIdx) => /* @__PURE__ */ React41.createElement(
8949
+ return /* @__PURE__ */ React38.createElement("div", { key: testimonial.id || i, className: "bg-white p-8 flex flex-col h-full" }, /* @__PURE__ */ React38.createElement("div", { className: "flex gap-1 mb-6" }, Array.from({ length: 5 }).map((_, starIdx) => /* @__PURE__ */ React38.createElement(
9057
8950
  "svg",
9058
8951
  {
9059
8952
  key: starIdx,
@@ -9065,8 +8958,8 @@ var TestimonialsGrid2 = ({
9065
8958
  strokeWidth: "2",
9066
8959
  viewBox: "0 0 24 24"
9067
8960
  },
9068
- /* @__PURE__ */ React41.createElement("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" })
9069
- ))), /* @__PURE__ */ React41.createElement("p", { className: "font-display text-lg leading-relaxed text-tertiary mb-6 flex-grow" }, '"', quote, '"'), /* @__PURE__ */ React41.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React41.createElement("div", { className: "w-12 h-12 rounded-full overflow-hidden flex-shrink-0" }, /* @__PURE__ */ React41.createElement(
8961
+ /* @__PURE__ */ React38.createElement("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" })
8962
+ ))), /* @__PURE__ */ React38.createElement("p", { className: "font-display text-lg leading-relaxed text-tertiary mb-6 flex-grow" }, '"', quote, '"'), /* @__PURE__ */ React38.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React38.createElement("div", { className: "w-12 h-12 rounded-full overflow-hidden flex-shrink-0" }, /* @__PURE__ */ React38.createElement(
9070
8963
  PhotoWithFallback2,
9071
8964
  {
9072
8965
  photoUrl: avatarUrl,
@@ -9074,16 +8967,16 @@ var TestimonialsGrid2 = ({
9074
8967
  fallbackId: testimonial.id || i,
9075
8968
  className: "w-full h-full object-cover"
9076
8969
  }
9077
- )), /* @__PURE__ */ React41.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React41.createElement("div", { className: "flex items-center gap-1.5" }, /* @__PURE__ */ React41.createElement("p", { className: "font-body text-sm font-medium text-fg-primary" }, reviewerName), isVerified && /* @__PURE__ */ React41.createElement("svg", { className: "w-4 h-4 text-fg-primary", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React41.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z", clipRule: "evenodd" }))), /* @__PURE__ */ React41.createElement("p", { className: "font-body text-xs", style: { color: "var(--color-text-brand-secondary)" } }, username))));
9078
- })) : /* @__PURE__ */ React41.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React41.createElement("p", { className: "font-body text-base text-tertiary" }, "No testimonials available"))));
8970
+ )), /* @__PURE__ */ React38.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React38.createElement("div", { className: "flex items-center gap-1.5" }, /* @__PURE__ */ React38.createElement("p", { className: "font-body text-sm font-medium text-fg-primary" }, reviewerName), isVerified && /* @__PURE__ */ React38.createElement("svg", { className: "w-4 h-4 text-fg-primary", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React38.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z", clipRule: "evenodd" }))), /* @__PURE__ */ React38.createElement("p", { className: "font-body text-xs", style: { color: "var(--color-text-brand-secondary)" } }, username))));
8971
+ })) : /* @__PURE__ */ React38.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React38.createElement("p", { className: "font-body text-base text-tertiary" }, "No testimonials available"))));
9079
8972
  };
9080
8973
  registerThemeVariant("testimonials-grid", "aman", TestimonialsGrid2);
9081
8974
 
9082
8975
  // src/design_system/sections/contact-section.aman.tsx
9083
- import React43 from "react";
8976
+ import React40 from "react";
9084
8977
 
9085
8978
  // src/design_system/sections/contact-section-form.aman.tsx
9086
- import React42, { useRef as useRef10, useState as useState17 } from "react";
8979
+ import React39, { useRef as useRef10, useState as useState17 } from "react";
9087
8980
  var ContactSectionForm2 = ({
9088
8981
  formDefinition,
9089
8982
  submitButtonText = "Send message",
@@ -9137,14 +9030,14 @@ var ContactSectionForm2 = ({
9137
9030
  setIsSubmitting(false);
9138
9031
  };
9139
9032
  if (!hasFields) return null;
9140
- return /* @__PURE__ */ React42.createElement(Form2, { ref: formRef, onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React42.createElement(
9033
+ return /* @__PURE__ */ React39.createElement(Form2, { ref: formRef, onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React39.createElement(
9141
9034
  DynamicFormFields,
9142
9035
  {
9143
9036
  form: resolvedFormDefinition,
9144
9037
  privacyPolicyUrl,
9145
9038
  termsOfServiceUrl
9146
9039
  }
9147
- ), /* @__PURE__ */ React42.createElement(
9040
+ ), /* @__PURE__ */ React39.createElement(
9148
9041
  Button2,
9149
9042
  {
9150
9043
  type: "submit",
@@ -9155,7 +9048,7 @@ var ContactSectionForm2 = ({
9155
9048
  isLoading: isSubmitting
9156
9049
  },
9157
9050
  isSubmitting ? "Sending..." : submitButtonText
9158
- ), submitStatus === "success" && /* @__PURE__ */ React42.createElement("div", { className: "rounded-sm bg-success-50 p-4 text-success-700 font-body" }, thankYouMessage != null ? thankYouMessage : statusMessage), submitStatus === "error" && /* @__PURE__ */ React42.createElement("div", { className: "rounded-sm bg-error-50 p-4 text-error-700 font-body text-sm" }, statusMessage));
9051
+ ), submitStatus === "success" && /* @__PURE__ */ React39.createElement("div", { className: "rounded-sm bg-success-50 p-4 text-success-700 font-body" }, thankYouMessage != null ? thankYouMessage : statusMessage), submitStatus === "error" && /* @__PURE__ */ React39.createElement("div", { className: "rounded-sm bg-error-50 p-4 text-error-700 font-body text-sm" }, statusMessage));
9159
9052
  };
9160
9053
 
9161
9054
  // src/design_system/sections/contact-section.aman.tsx
@@ -9179,14 +9072,14 @@ var ContactSection2 = ({
9179
9072
  const contactImageUrl = contactPhoto == null ? void 0 : contactPhoto.url;
9180
9073
  const finalContactImage = contactImageUrl && contactImageUrl.trim() !== "" ? contactImageUrl : void 0;
9181
9074
  const finalContactImageAlt = (contactPhoto == null ? void 0 : contactPhoto.alt) || "Contact image";
9182
- return /* @__PURE__ */ React43.createElement("section", null, /* @__PURE__ */ React43.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React43.createElement("div", { className: "grid grid-cols-1 gap-12 md:gap-16 lg:grid-cols-2" }, /* @__PURE__ */ React43.createElement("div", { className: "flex w-full flex-col" }, /* @__PURE__ */ React43.createElement("div", { className: "mb-8" }, /* @__PURE__ */ React43.createElement("h2", { className: "font-display text-4xl font-normal leading-tight text-fg-primary md:text-5xl" }, title), /* @__PURE__ */ React43.createElement("p", { className: "mt-4 font-body text-lg leading-relaxed text-tertiary" }, subtitle)), /* @__PURE__ */ React43.createElement(
9075
+ return /* @__PURE__ */ React40.createElement("section", null, /* @__PURE__ */ React40.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React40.createElement("div", { className: "grid grid-cols-1 gap-12 md:gap-16 lg:grid-cols-2" }, /* @__PURE__ */ React40.createElement("div", { className: "flex w-full flex-col" }, /* @__PURE__ */ React40.createElement("div", { className: "mb-8" }, /* @__PURE__ */ React40.createElement("h2", { className: "font-display text-4xl font-normal leading-tight text-fg-primary md:text-5xl" }, title), /* @__PURE__ */ React40.createElement("p", { className: "mt-4 font-body text-lg leading-relaxed text-tertiary" }, subtitle)), /* @__PURE__ */ React40.createElement(
9183
9076
  ContactSectionForm2,
9184
9077
  {
9185
9078
  formDefinition,
9186
9079
  privacyPolicyUrl,
9187
9080
  termsOfServiceUrl
9188
9081
  }
9189
- )), /* @__PURE__ */ React43.createElement("div", { className: "max-lg:hidden h-full min-h-0 overflow-hidden" }, /* @__PURE__ */ React43.createElement(
9082
+ )), /* @__PURE__ */ React40.createElement("div", { className: "max-lg:hidden h-full min-h-0 overflow-hidden" }, /* @__PURE__ */ React40.createElement(
9190
9083
  PhotoWithFallback2,
9191
9084
  {
9192
9085
  photoUrl: finalContactImage || "",
@@ -9540,7 +9433,7 @@ var BlogHome2 = ({
9540
9433
  registerThemeVariant("blog-home", "aman", BlogHome2);
9541
9434
 
9542
9435
  // src/design_system/sections/blog-gallery.aman.tsx
9543
- import React44, { useState as useState18 } from "react";
9436
+ import React41, { useState as useState18 } from "react";
9544
9437
  var BlogGallery2 = ({
9545
9438
  blogPosts: postsData,
9546
9439
  postsPerPage = 12,
@@ -9554,13 +9447,13 @@ var BlogGallery2 = ({
9554
9447
  const startIndex = (currentPage - 1) * postsPerPage;
9555
9448
  const endIndex = startIndex + postsPerPage;
9556
9449
  const paginatedNonFeaturedPosts = nonFeaturedPosts.slice(startIndex, endIndex);
9557
- return /* @__PURE__ */ React44.createElement("section", { className }, /* @__PURE__ */ React44.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, posts.length > 0 ? /* @__PURE__ */ React44.createElement(React44.Fragment, null, featuredPost && /* @__PURE__ */ React44.createElement(
9450
+ return /* @__PURE__ */ React41.createElement("section", { className }, /* @__PURE__ */ React41.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, posts.length > 0 ? /* @__PURE__ */ React41.createElement(React41.Fragment, null, featuredPost && /* @__PURE__ */ React41.createElement(
9558
9451
  "a",
9559
9452
  {
9560
9453
  href: `/blog/${featuredPost.slug}`,
9561
9454
  className: "block mb-16 group"
9562
9455
  },
9563
- /* @__PURE__ */ React44.createElement("div", { className: "w-full h-96 md:h-[500px] mb-8 overflow-hidden" }, /* @__PURE__ */ React44.createElement(
9456
+ /* @__PURE__ */ React41.createElement("div", { className: "w-full h-96 md:h-[500px] mb-8 overflow-hidden" }, /* @__PURE__ */ React41.createElement(
9564
9457
  PhotoWithFallback2,
9565
9458
  {
9566
9459
  item: featuredPost,
@@ -9568,19 +9461,19 @@ var BlogGallery2 = ({
9568
9461
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
9569
9462
  }
9570
9463
  )),
9571
- /* @__PURE__ */ React44.createElement("div", { className: "max-w-3xl" }, /* @__PURE__ */ React44.createElement("p", { className: "text-xs font-body font-normal uppercase tracking-widest mb-4", style: { color: "var(--color-text-brand-secondary)" } }, featuredPost.published_at ? new Date(featuredPost.published_at).toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" }) : "Recent"), /* @__PURE__ */ React44.createElement("h2", { className: "font-display text-3xl md:text-4xl font-normal text-fg-primary mb-6 group-hover:underline" }, featuredPost.title), featuredPost.excerpt_markdown && /* @__PURE__ */ React44.createElement("p", { className: "font-display text-lg leading-relaxed text-tertiary" }, featuredPost.excerpt_markdown.replace(/[#*\[\]()]/g, "").trim()))
9572
- ), paginatedNonFeaturedPosts.length > 0 && /* @__PURE__ */ React44.createElement("div", { className: "grid grid-cols-1 gap-12 md:grid-cols-2 lg:grid-cols-3 mb-16" }, paginatedNonFeaturedPosts.map((post) => {
9464
+ /* @__PURE__ */ React41.createElement("div", { className: "max-w-3xl" }, /* @__PURE__ */ React41.createElement("p", { className: "text-xs font-body font-normal uppercase tracking-widest mb-4", style: { color: "var(--color-text-brand-secondary)" } }, featuredPost.published_at ? new Date(featuredPost.published_at).toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" }) : "Recent"), /* @__PURE__ */ React41.createElement("h2", { className: "font-display text-3xl md:text-4xl font-normal text-fg-primary mb-6 group-hover:underline" }, featuredPost.title), featuredPost.excerpt_markdown && /* @__PURE__ */ React41.createElement("p", { className: "font-display text-lg leading-relaxed text-tertiary" }, featuredPost.excerpt_markdown.replace(/[#*\[\]()]/g, "").trim()))
9465
+ ), paginatedNonFeaturedPosts.length > 0 && /* @__PURE__ */ React41.createElement("div", { className: "grid grid-cols-1 gap-12 md:grid-cols-2 lg:grid-cols-3 mb-16" }, paginatedNonFeaturedPosts.map((post) => {
9573
9466
  var _a;
9574
9467
  const excerpt = post.excerpt_markdown || ((_a = post.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim().substring(0, 150)) || "";
9575
- return /* @__PURE__ */ React44.createElement("a", { key: post.id, href: `/blog/${post.slug}`, className: "flex flex-col group" }, /* @__PURE__ */ React44.createElement("div", { className: "w-full h-64 mb-6 overflow-hidden" }, /* @__PURE__ */ React44.createElement(
9468
+ return /* @__PURE__ */ React41.createElement("a", { key: post.id, href: `/blog/${post.slug}`, className: "flex flex-col group" }, /* @__PURE__ */ React41.createElement("div", { className: "w-full h-64 mb-6 overflow-hidden" }, /* @__PURE__ */ React41.createElement(
9576
9469
  PhotoWithFallback2,
9577
9470
  {
9578
9471
  item: post,
9579
9472
  fallbackId: post.id,
9580
9473
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
9581
9474
  }
9582
- )), /* @__PURE__ */ React44.createElement("p", { className: "text-xs font-body font-normal uppercase tracking-widest mb-2", style: { color: "var(--color-text-brand-secondary)" } }, post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" }) : "Recent"), /* @__PURE__ */ React44.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mb-4 group-hover:underline" }, post.title), excerpt && /* @__PURE__ */ React44.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary mb-4 flex-grow line-clamp-3" }, excerpt));
9583
- })), totalPages > 1 && /* @__PURE__ */ React44.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ React44.createElement(
9475
+ )), /* @__PURE__ */ React41.createElement("p", { className: "text-xs font-body font-normal uppercase tracking-widest mb-2", style: { color: "var(--color-text-brand-secondary)" } }, post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" }) : "Recent"), /* @__PURE__ */ React41.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mb-4 group-hover:underline" }, post.title), excerpt && /* @__PURE__ */ React41.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary mb-4 flex-grow line-clamp-3" }, excerpt));
9476
+ })), totalPages > 1 && /* @__PURE__ */ React41.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ React41.createElement(
9584
9477
  PaginationPageDefault2,
9585
9478
  {
9586
9479
  rounded: true,
@@ -9588,7 +9481,7 @@ var BlogGallery2 = ({
9588
9481
  total: totalPages,
9589
9482
  onPageChange: setCurrentPage
9590
9483
  }
9591
- ))) : /* @__PURE__ */ React44.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React44.createElement("p", { className: "font-body text-base text-tertiary" }, "No posts available"))));
9484
+ ))) : /* @__PURE__ */ React41.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React41.createElement("p", { className: "font-body text-base text-tertiary" }, "No posts available"))));
9592
9485
  };
9593
9486
  registerThemeVariant("blog-gallery", "aman", BlogGallery2);
9594
9487
 
@@ -9619,7 +9512,7 @@ var BlogPostSection2 = ({
9619
9512
  registerThemeVariant("blog-post", "aman", BlogPostSection2);
9620
9513
 
9621
9514
  // src/design_system/sections/blog-section.aman.tsx
9622
- import React45 from "react";
9515
+ import React42 from "react";
9623
9516
  var BlogSection2 = ({
9624
9517
  blogPosts: postsData,
9625
9518
  title = "",
@@ -9638,7 +9531,7 @@ var BlogSection2 = ({
9638
9531
  return "Recent";
9639
9532
  }
9640
9533
  };
9641
- return /* @__PURE__ */ React45.createElement("section", null, /* @__PURE__ */ React45.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React45.createElement(
9534
+ return /* @__PURE__ */ React42.createElement("section", null, /* @__PURE__ */ React42.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React42.createElement(
9642
9535
  CarouselSectionWrapper,
9643
9536
  {
9644
9537
  title,
@@ -9648,14 +9541,14 @@ var BlogSection2 = ({
9648
9541
  postsArray.map((post) => {
9649
9542
  var _a;
9650
9543
  const excerpt = ((_a = post.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim().substring(0, 150)) || "";
9651
- return /* @__PURE__ */ React45.createElement(Carousel.Item, { key: post.id, className: "pl-4 md:basis-1/2 lg:basis-1/3" }, /* @__PURE__ */ React45.createElement("a", { href: `/blog/${post.slug}`, className: "flex flex-col h-full group" }, /* @__PURE__ */ React45.createElement("div", { className: "w-full h-64 mb-6 overflow-hidden" }, /* @__PURE__ */ React45.createElement(
9544
+ return /* @__PURE__ */ React42.createElement(Carousel.Item, { key: post.id, className: "pl-4 md:basis-1/2 lg:basis-1/3" }, /* @__PURE__ */ React42.createElement("a", { href: `/blog/${post.slug}`, className: "flex flex-col h-full group" }, /* @__PURE__ */ React42.createElement("div", { className: "w-full h-64 mb-6 overflow-hidden" }, /* @__PURE__ */ React42.createElement(
9652
9545
  PhotoWithFallback2,
9653
9546
  {
9654
9547
  item: post,
9655
9548
  fallbackId: post.id,
9656
9549
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
9657
9550
  }
9658
- )), /* @__PURE__ */ React45.createElement("p", { className: "text-xs font-body font-normal uppercase tracking-widest mb-2", style: { color: "var(--color-text-brand-secondary)" } }, formatDate4(post.published_at)), /* @__PURE__ */ React45.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mb-4 group-hover:underline line-clamp-1" }, post.title), excerpt && /* @__PURE__ */ React45.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary mb-4 flex-grow line-clamp-3" }, excerpt)));
9551
+ )), /* @__PURE__ */ React42.createElement("p", { className: "text-xs font-body font-normal uppercase tracking-widest mb-2", style: { color: "var(--color-text-brand-secondary)" } }, formatDate4(post.published_at)), /* @__PURE__ */ React42.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mb-4 group-hover:underline line-clamp-1" }, post.title), excerpt && /* @__PURE__ */ React42.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary mb-4 flex-grow line-clamp-3" }, excerpt)));
9659
9552
  })
9660
9553
  )));
9661
9554
  };
@@ -17659,11 +17552,11 @@ var JobDetailHero2 = ({
17659
17552
  registerThemeVariant("hero-job-detail", "aman", JobDetailHero2);
17660
17553
 
17661
17554
  // src/design_system/sections/job-application-form.aman.tsx
17662
- import React46, { useRef as useRef13, useState as useState21 } from "react";
17555
+ import React43, { useRef as useRef13, useState as useState21 } from "react";
17663
17556
 
17664
17557
  // src/design_system/sections/hero-home.barelux.tsx
17665
17558
  import { Fragment as Fragment6, useState as useState22 } from "react";
17666
- import React47 from "react";
17559
+ import React44 from "react";
17667
17560
  var HeroHome3 = ({
17668
17561
  websitePhotos,
17669
17562
  companyInformation,
@@ -17682,7 +17575,7 @@ var HeroHome3 = ({
17682
17575
  url: ((_b = websitePhotos == null ? void 0 : websitePhotos.hero) == null ? void 0 : _b.url) || "",
17683
17576
  alt: ((_c = websitePhotos == null ? void 0 : websitePhotos.hero) == null ? void 0 : _c.alt) || ""
17684
17577
  };
17685
- return /* @__PURE__ */ React47.createElement(Fragment6, null, /* @__PURE__ */ React47.createElement("section", { className: "relative w-full h-[60vh] min-h-[500px] max-h-[550px]" }, /* @__PURE__ */ React47.createElement("div", { className: "absolute inset-0" }, /* @__PURE__ */ React47.createElement(
17578
+ return /* @__PURE__ */ React44.createElement(Fragment6, null, /* @__PURE__ */ React44.createElement("section", { className: "relative w-full h-[60vh] min-h-[500px] max-h-[550px]" }, /* @__PURE__ */ React44.createElement("div", { className: "absolute inset-0" }, /* @__PURE__ */ React44.createElement(
17686
17579
  PhotoWithFallback2,
17687
17580
  {
17688
17581
  photoUrl: heroImage.url,
@@ -17690,7 +17583,7 @@ var HeroHome3 = ({
17690
17583
  fallbackId: "hero-home-barelux",
17691
17584
  className: "w-full h-full object-cover"
17692
17585
  }
17693
- )), /* @__PURE__ */ React47.createElement("div", { className: "absolute inset-0 bg-black/50" }), /* @__PURE__ */ React47.createElement("div", { className: "relative h-full flex items-center" }, /* @__PURE__ */ React47.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8 w-full" }, /* @__PURE__ */ React47.createElement("div", { className: "max-w-2xl" }, tagline && /* @__PURE__ */ React47.createElement("p", { className: "font-body text-sm font-semibold uppercase tracking-widest text-white mb-5" }, tagline), /* @__PURE__ */ React47.createElement("h1", { className: "font-display text-display-xl font-normal leading-none text-white mb-4" }, headline), /* @__PURE__ */ React47.createElement("p", { className: "font-body text-base md:text-lg leading-normal text-white mb-6 max-w-xl" }, subhead), ctaText && /* @__PURE__ */ React47.createElement(
17586
+ )), /* @__PURE__ */ React44.createElement("div", { className: "absolute inset-0 bg-black/50" }), /* @__PURE__ */ React44.createElement("div", { className: "relative h-full flex items-center" }, /* @__PURE__ */ React44.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8 w-full" }, /* @__PURE__ */ React44.createElement("div", { className: "max-w-2xl" }, tagline && /* @__PURE__ */ React44.createElement("p", { className: "font-body text-sm font-semibold uppercase tracking-widest text-white mb-5" }, tagline), /* @__PURE__ */ React44.createElement("h1", { className: "font-display text-display-xl font-normal leading-none text-white mb-4" }, headline), /* @__PURE__ */ React44.createElement("p", { className: "font-body text-base md:text-lg leading-normal text-white mb-6 max-w-xl" }, subhead), ctaText && /* @__PURE__ */ React44.createElement(
17694
17587
  Button2,
17695
17588
  {
17696
17589
  href: effectiveCtaHref,
@@ -17700,7 +17593,7 @@ var HeroHome3 = ({
17700
17593
  size: "md"
17701
17594
  },
17702
17595
  ctaText
17703
- )))), videoUrl && /* @__PURE__ */ React47.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React47.createElement(VideoPlayButton, { onClick: () => setShowVideo(true) }))), videoUrl && /* @__PURE__ */ React47.createElement(
17596
+ )))), videoUrl && /* @__PURE__ */ React44.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React44.createElement(VideoPlayButton, { onClick: () => setShowVideo(true) }))), videoUrl && /* @__PURE__ */ React44.createElement(
17704
17597
  VideoModal,
17705
17598
  {
17706
17599
  isOpen: showVideo,
@@ -17712,7 +17605,7 @@ var HeroHome3 = ({
17712
17605
  registerThemeVariant("hero-home", "barelux", HeroHome3);
17713
17606
 
17714
17607
  // src/design_system/sections/header-navigation.barelux.tsx
17715
- import React48, { useState as useState23, useRef as useRef14, useCallback as useCallback8 } from "react";
17608
+ import React45, { useState as useState23, useRef as useRef14, useCallback as useCallback8 } from "react";
17716
17609
  import Link8 from "next/link";
17717
17610
  import Image12 from "next/image";
17718
17611
  var MAX_DROPDOWN_ITEMS2 = 6;
@@ -17729,7 +17622,7 @@ function HeaderNavigation3({
17729
17622
  const [activeDropdown, setActiveDropdown] = useState23(null);
17730
17623
  const [isMobileMenuOpen, setIsMobileMenuOpen] = useState23(false);
17731
17624
  const closeTimeoutRef = useRef14(null);
17732
- React48.useEffect(() => {
17625
+ React45.useEffect(() => {
17733
17626
  return () => {
17734
17627
  if (closeTimeoutRef.current) {
17735
17628
  clearTimeout(closeTimeoutRef.current);
@@ -17785,7 +17678,7 @@ function HeaderNavigation3({
17785
17678
  viewAllLabel: ""
17786
17679
  };
17787
17680
  };
17788
- return /* @__PURE__ */ React48.createElement(React48.Fragment, null, /* @__PURE__ */ React48.createElement("header", { className: "hidden md:block sticky top-0 z-50 bg-primary border-b border-primary" }, /* @__PURE__ */ React48.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8" }, /* @__PURE__ */ React48.createElement("div", { className: "flex items-center justify-between py-4" }, /* @__PURE__ */ React48.createElement(Link8, { href: ((_d = props == null ? void 0 : props.logo) == null ? void 0 : _d.href) || "/", className: "flex items-center flex-shrink-0" }, logoUrl ? /* @__PURE__ */ React48.createElement(
17681
+ return /* @__PURE__ */ React45.createElement(React45.Fragment, null, /* @__PURE__ */ React45.createElement("header", { className: "hidden md:block sticky top-0 z-50 bg-primary border-b border-primary" }, /* @__PURE__ */ React45.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8" }, /* @__PURE__ */ React45.createElement("div", { className: "flex items-center justify-between py-4" }, /* @__PURE__ */ React45.createElement(Link8, { href: ((_d = props == null ? void 0 : props.logo) == null ? void 0 : _d.href) || "/", className: "flex items-center flex-shrink-0" }, logoUrl ? /* @__PURE__ */ React45.createElement(
17789
17682
  Image12,
17790
17683
  {
17791
17684
  src: logoUrl,
@@ -17794,7 +17687,7 @@ function HeaderNavigation3({
17794
17687
  width: 120,
17795
17688
  height: 40
17796
17689
  }
17797
- ) : /* @__PURE__ */ React48.createElement("span", { className: "font-display text-xl font-normal text-fg-primary" }, companyName)), /* @__PURE__ */ React48.createElement("nav", { className: "flex items-center gap-8 flex-1 ml-12" }, navigation.map((item, i) => /* @__PURE__ */ React48.createElement(
17690
+ ) : /* @__PURE__ */ React45.createElement("span", { className: "font-display text-xl font-normal text-fg-primary" }, companyName)), /* @__PURE__ */ React45.createElement("nav", { className: "flex items-center gap-8 flex-1 ml-12" }, navigation.map((item, i) => /* @__PURE__ */ React45.createElement(
17798
17691
  "div",
17799
17692
  {
17800
17693
  key: i,
@@ -17802,16 +17695,16 @@ function HeaderNavigation3({
17802
17695
  onMouseEnter: () => handleMouseEnter(item),
17803
17696
  onMouseLeave: handleMouseLeave
17804
17697
  },
17805
- /* @__PURE__ */ React48.createElement(
17698
+ /* @__PURE__ */ React45.createElement(
17806
17699
  Link8,
17807
17700
  {
17808
17701
  href: item.href,
17809
17702
  className: "font-body text-md font-normal text-fg-primary hover:text-brand-accent transition-colors duration-200 flex items-center gap-1 whitespace-nowrap"
17810
17703
  },
17811
17704
  item.label,
17812
- item.children && item.children.length > 0 && /* @__PURE__ */ React48.createElement("svg", { className: "w-4 h-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, /* @__PURE__ */ React48.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }))
17705
+ item.children && item.children.length > 0 && /* @__PURE__ */ React45.createElement("svg", { className: "w-4 h-4", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, /* @__PURE__ */ React45.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }))
17813
17706
  ),
17814
- item.children && item.children.length > 0 && activeDropdown === item.label && /* @__PURE__ */ React48.createElement(
17707
+ item.children && item.children.length > 0 && activeDropdown === item.label && /* @__PURE__ */ React45.createElement(
17815
17708
  "div",
17816
17709
  {
17817
17710
  className: "absolute left-0 top-full mt-2 w-64 py-3 bg-white border border-secondary rounded-lg shadow-lg z-50",
@@ -17820,7 +17713,7 @@ function HeaderNavigation3({
17820
17713
  },
17821
17714
  (() => {
17822
17715
  const { items, showViewAll, viewAllHref, viewAllLabel } = getDropdownItems(item);
17823
- return /* @__PURE__ */ React48.createElement(React48.Fragment, null, items.map((link, j) => /* @__PURE__ */ React48.createElement(
17716
+ return /* @__PURE__ */ React45.createElement(React45.Fragment, null, items.map((link, j) => /* @__PURE__ */ React45.createElement(
17824
17717
  Link8,
17825
17718
  {
17826
17719
  key: j,
@@ -17828,7 +17721,7 @@ function HeaderNavigation3({
17828
17721
  className: "block font-body text-md text-fg-primary hover:text-brand-accent hover:bg-secondary transition-colors px-4 py-2"
17829
17722
  },
17830
17723
  link.label
17831
- )), showViewAll && /* @__PURE__ */ React48.createElement(
17724
+ )), showViewAll && /* @__PURE__ */ React45.createElement(
17832
17725
  Link8,
17833
17726
  {
17834
17727
  href: viewAllHref,
@@ -17839,7 +17732,7 @@ function HeaderNavigation3({
17839
17732
  ));
17840
17733
  })()
17841
17734
  )
17842
- ))), /* @__PURE__ */ React48.createElement("div", { className: "flex items-center gap-3 flex-shrink-0 ml-4" }, ((_e = props == null ? void 0 : props.cta_button) == null ? void 0 : _e.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React48.createElement(
17735
+ ))), /* @__PURE__ */ React45.createElement("div", { className: "flex items-center gap-3 flex-shrink-0 ml-4" }, ((_e = props == null ? void 0 : props.cta_button) == null ? void 0 : _e.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React45.createElement(
17843
17736
  Button2,
17844
17737
  {
17845
17738
  href: ctaUrls.secondaryHref,
@@ -17849,7 +17742,7 @@ function HeaderNavigation3({
17849
17742
  size: "sm"
17850
17743
  },
17851
17744
  props.cta_button.label
17852
- ), /* @__PURE__ */ React48.createElement(
17745
+ ), /* @__PURE__ */ React45.createElement(
17853
17746
  Button2,
17854
17747
  {
17855
17748
  href: ctaUrls.primaryHref,
@@ -17859,15 +17752,15 @@ function HeaderNavigation3({
17859
17752
  size: "sm"
17860
17753
  },
17861
17754
  ((_i = props == null ? void 0 : props.cta_button) == null ? void 0 : _i.secondary_label) && ctaUrls.hasSecondary ? props.cta_button.secondary_label : ((_j = props == null ? void 0 : props.cta_button) == null ? void 0 : _j.label) || ""
17862
- ))))), /* @__PURE__ */ React48.createElement("header", { className: "md:hidden sticky top-0 z-50 bg-primary border-b border-secondary" }, /* @__PURE__ */ React48.createElement("div", { className: "flex items-center justify-between px-4 py-4" }, /* @__PURE__ */ React48.createElement(
17755
+ ))))), /* @__PURE__ */ React45.createElement("header", { className: "md:hidden sticky top-0 z-50 bg-primary border-b border-secondary" }, /* @__PURE__ */ React45.createElement("div", { className: "flex items-center justify-between px-4 py-4" }, /* @__PURE__ */ React45.createElement(
17863
17756
  "button",
17864
17757
  {
17865
17758
  onClick: () => setIsMobileMenuOpen(true),
17866
17759
  className: "text-fg-primary",
17867
17760
  "aria-label": "Open menu"
17868
17761
  },
17869
- /* @__PURE__ */ React48.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React48.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 6h16M4 12h16M4 18h16" }))
17870
- ), /* @__PURE__ */ React48.createElement(Link8, { href: ((_k = props == null ? void 0 : props.logo) == null ? void 0 : _k.href) || "/", className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React48.createElement(
17762
+ /* @__PURE__ */ React45.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React45.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 6h16M4 12h16M4 18h16" }))
17763
+ ), /* @__PURE__ */ React45.createElement(Link8, { href: ((_k = props == null ? void 0 : props.logo) == null ? void 0 : _k.href) || "/", className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React45.createElement(
17871
17764
  Image12,
17872
17765
  {
17873
17766
  src: logoUrl,
@@ -17876,15 +17769,15 @@ function HeaderNavigation3({
17876
17769
  width: 120,
17877
17770
  height: 32
17878
17771
  }
17879
- ) : /* @__PURE__ */ React48.createElement("span", { className: "font-display text-lg font-normal text-fg-primary" }, companyName)), /* @__PURE__ */ React48.createElement("div", { className: "w-6" }))), isMobileMenuOpen && /* @__PURE__ */ React48.createElement("div", { className: "fixed inset-0 bg-white z-50 md:hidden" }, /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col h-full" }, /* @__PURE__ */ React48.createElement("div", { className: "flex items-center justify-between px-4 py-4 border-b border-secondary" }, /* @__PURE__ */ React48.createElement(
17772
+ ) : /* @__PURE__ */ React45.createElement("span", { className: "font-display text-lg font-normal text-fg-primary" }, companyName)), /* @__PURE__ */ React45.createElement("div", { className: "w-6" }))), isMobileMenuOpen && /* @__PURE__ */ React45.createElement("div", { className: "fixed inset-0 bg-white z-50 md:hidden" }, /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col h-full" }, /* @__PURE__ */ React45.createElement("div", { className: "flex items-center justify-between px-4 py-4 border-b border-secondary" }, /* @__PURE__ */ React45.createElement(
17880
17773
  "button",
17881
17774
  {
17882
17775
  onClick: () => setIsMobileMenuOpen(false),
17883
17776
  className: "text-fg-primary",
17884
17777
  "aria-label": "Close menu"
17885
17778
  },
17886
- /* @__PURE__ */ React48.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React48.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }))
17887
- ), /* @__PURE__ */ React48.createElement("div", { className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React48.createElement(
17779
+ /* @__PURE__ */ React45.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React45.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }))
17780
+ ), /* @__PURE__ */ React45.createElement("div", { className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React45.createElement(
17888
17781
  Image12,
17889
17782
  {
17890
17783
  src: logoUrl,
@@ -17893,9 +17786,9 @@ function HeaderNavigation3({
17893
17786
  width: 120,
17894
17787
  height: 32
17895
17788
  }
17896
- ) : /* @__PURE__ */ React48.createElement("span", { className: "font-display text-lg font-normal text-fg-primary" }, companyName)), /* @__PURE__ */ React48.createElement("div", { className: "w-6" })), /* @__PURE__ */ React48.createElement("nav", { className: "flex-1 overflow-y-auto px-4 py-8" }, /* @__PURE__ */ React48.createElement("ul", { className: "space-y-4" }, navigation.map((item, i) => {
17789
+ ) : /* @__PURE__ */ React45.createElement("span", { className: "font-display text-lg font-normal text-fg-primary" }, companyName)), /* @__PURE__ */ React45.createElement("div", { className: "w-6" })), /* @__PURE__ */ React45.createElement("nav", { className: "flex-1 overflow-y-auto px-4 py-8" }, /* @__PURE__ */ React45.createElement("ul", { className: "space-y-4" }, navigation.map((item, i) => {
17897
17790
  const { items } = getDropdownItems(item);
17898
- return /* @__PURE__ */ React48.createElement("li", { key: i }, /* @__PURE__ */ React48.createElement(
17791
+ return /* @__PURE__ */ React45.createElement("li", { key: i }, /* @__PURE__ */ React45.createElement(
17899
17792
  Link8,
17900
17793
  {
17901
17794
  href: item.href,
@@ -17903,7 +17796,7 @@ function HeaderNavigation3({
17903
17796
  onClick: () => setIsMobileMenuOpen(false)
17904
17797
  },
17905
17798
  item.label
17906
- ), items.length > 0 && /* @__PURE__ */ React48.createElement("ul", { className: "ml-4 mt-2 space-y-2" }, items.map((link, j) => /* @__PURE__ */ React48.createElement("li", { key: j }, /* @__PURE__ */ React48.createElement(
17799
+ ), items.length > 0 && /* @__PURE__ */ React45.createElement("ul", { className: "ml-4 mt-2 space-y-2" }, items.map((link, j) => /* @__PURE__ */ React45.createElement("li", { key: j }, /* @__PURE__ */ React45.createElement(
17907
17800
  Link8,
17908
17801
  {
17909
17802
  href: link.href,
@@ -17912,7 +17805,7 @@ function HeaderNavigation3({
17912
17805
  },
17913
17806
  link.label
17914
17807
  )))));
17915
- }))), /* @__PURE__ */ React48.createElement("div", { className: "border-t border-secondary px-4 py-6" }, /* @__PURE__ */ React48.createElement("div", { className: "flex flex-col gap-3" }, ((_l = props == null ? void 0 : props.cta_button) == null ? void 0 : _l.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React48.createElement(
17808
+ }))), /* @__PURE__ */ React45.createElement("div", { className: "border-t border-secondary px-4 py-6" }, /* @__PURE__ */ React45.createElement("div", { className: "flex flex-col gap-3" }, ((_l = props == null ? void 0 : props.cta_button) == null ? void 0 : _l.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React45.createElement(
17916
17809
  Button2,
17917
17810
  {
17918
17811
  href: ctaUrls.secondaryHref,
@@ -17922,7 +17815,7 @@ function HeaderNavigation3({
17922
17815
  onClick: () => setIsMobileMenuOpen(false)
17923
17816
  },
17924
17817
  props.cta_button.secondary_label
17925
- ), /* @__PURE__ */ React48.createElement(
17818
+ ), /* @__PURE__ */ React45.createElement(
17926
17819
  Button2,
17927
17820
  {
17928
17821
  href: ctaUrls.primaryHref,
@@ -17932,7 +17825,7 @@ function HeaderNavigation3({
17932
17825
  onClick: () => setIsMobileMenuOpen(false)
17933
17826
  },
17934
17827
  ((_m = props == null ? void 0 : props.cta_button) == null ? void 0 : _m.label) || ""
17935
- ))))), /* @__PURE__ */ React48.createElement("div", { className: "fixed bottom-0 left-0 right-0 z-40 md:hidden bg-fg-primary" }, /* @__PURE__ */ React48.createElement("div", { className: "flex gap-0" }, ((_n = props == null ? void 0 : props.cta_button) == null ? void 0 : _n.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React48.createElement(
17828
+ ))))), /* @__PURE__ */ React45.createElement("div", { className: "fixed bottom-0 left-0 right-0 z-40 md:hidden bg-fg-primary" }, /* @__PURE__ */ React45.createElement("div", { className: "flex gap-0" }, ((_n = props == null ? void 0 : props.cta_button) == null ? void 0 : _n.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React45.createElement(
17936
17829
  Button2,
17937
17830
  {
17938
17831
  href: ctaUrls.secondaryHref,
@@ -17942,7 +17835,7 @@ function HeaderNavigation3({
17942
17835
  className: "flex-1 font-body text-sm uppercase tracking-wide py-4 rounded-none border-r border-white/20"
17943
17836
  },
17944
17837
  props.cta_button.label
17945
- ), /* @__PURE__ */ React48.createElement(
17838
+ ), /* @__PURE__ */ React45.createElement(
17946
17839
  Button2,
17947
17840
  {
17948
17841
  href: ctaUrls.primaryHref,
@@ -17957,23 +17850,23 @@ function HeaderNavigation3({
17957
17850
  registerThemeVariant("header-navigation", "barelux", HeaderNavigation3);
17958
17851
 
17959
17852
  // src/design_system/sections/services-home.barelux.tsx
17960
- import React49 from "react";
17853
+ import React46 from "react";
17961
17854
  var ServicesHome3 = ({
17962
17855
  services = [],
17963
17856
  title = "",
17964
17857
  subtitle = ""
17965
17858
  }) => {
17966
17859
  const displayServices = services;
17967
- return /* @__PURE__ */ React49.createElement("section", { className: "py-16 md:py-20 lg:py-24 bg-secondary" }, /* @__PURE__ */ React49.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8" }, /* @__PURE__ */ React49.createElement("div", { className: "mx-auto max-w-3xl text-center mb-12" }, /* @__PURE__ */ React49.createElement("h2", { className: "font-display text-display-md font-normal text-fg-primary mb-4" }, title), /* @__PURE__ */ React49.createElement("p", { className: "font-body text-base text-secondary leading-normal" }, subtitle)), /* @__PURE__ */ React49.createElement("div", { className: "flex flex-wrap justify-center gap-6" }, displayServices.map((service) => {
17860
+ return /* @__PURE__ */ React46.createElement("section", { className: "py-16 md:py-20 lg:py-24 bg-secondary" }, /* @__PURE__ */ React46.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8" }, /* @__PURE__ */ React46.createElement("div", { className: "mx-auto max-w-3xl text-center mb-12" }, /* @__PURE__ */ React46.createElement("h2", { className: "font-display text-display-md font-normal text-fg-primary mb-4" }, title), /* @__PURE__ */ React46.createElement("p", { className: "font-body text-base text-secondary leading-normal" }, subtitle)), /* @__PURE__ */ React46.createElement("div", { className: "flex flex-wrap justify-center gap-6" }, displayServices.map((service) => {
17968
17861
  var _a, _b, _c, _d, _e, _f, _g, _h, _i;
17969
- return /* @__PURE__ */ React49.createElement(
17862
+ return /* @__PURE__ */ React46.createElement(
17970
17863
  "a",
17971
17864
  {
17972
17865
  key: service.id,
17973
17866
  href: `/services/${service.slug}`,
17974
17867
  className: "group block bg-white rounded-2xl overflow-hidden shadow-sm hover:shadow-md transition-shadow duration-300 w-full md:w-[calc(50%-0.75rem)] lg:w-[calc(25%-1.125rem)] flex flex-col"
17975
17868
  },
17976
- /* @__PURE__ */ React49.createElement("div", { className: "relative w-full h-56 overflow-hidden flex-shrink-0" }, /* @__PURE__ */ React49.createElement(
17869
+ /* @__PURE__ */ React46.createElement("div", { className: "relative w-full h-56 overflow-hidden flex-shrink-0" }, /* @__PURE__ */ React46.createElement(
17977
17870
  PhotoWithFallback2,
17978
17871
  {
17979
17872
  photoUrl: ((_c = (_b = (_a = service.photo_attachments) == null ? void 0 : _a[0]) == null ? void 0 : _b.photo) == null ? void 0 : _c.large_url) || ((_f = (_e = (_d = service.photo_attachments) == null ? void 0 : _d[0]) == null ? void 0 : _e.photo) == null ? void 0 : _f.medium_url) || "",
@@ -17982,7 +17875,7 @@ var ServicesHome3 = ({
17982
17875
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
17983
17876
  }
17984
17877
  )),
17985
- /* @__PURE__ */ React49.createElement("div", { className: "p-6" }, /* @__PURE__ */ React49.createElement("h3", { className: "font-body text-base font-semibold uppercase tracking-wide text-fg-primary mb-3 leading-tight" }, service.name), service.summary && /* @__PURE__ */ React49.createElement("p", { className: "font-body text-sm text-tertiary leading-relaxed" }, service.summary))
17878
+ /* @__PURE__ */ React46.createElement("div", { className: "p-6" }, /* @__PURE__ */ React46.createElement("h3", { className: "font-body text-base font-semibold uppercase tracking-wide text-fg-primary mb-3 leading-tight" }, service.name), service.summary && /* @__PURE__ */ React46.createElement("p", { className: "font-body text-sm text-tertiary leading-relaxed" }, service.summary))
17986
17879
  );
17987
17880
  }))));
17988
17881
  };
@@ -18032,7 +17925,7 @@ var AboutHome3 = ({
18032
17925
  registerThemeVariant("about-home", "barelux", AboutHome3);
18033
17926
 
18034
17927
  // src/design_system/sections/testimonials-home.barelux.tsx
18035
- import React50 from "react";
17928
+ import React47 from "react";
18036
17929
  import { ChevronLeft as ChevronLeft7, ChevronRight as ChevronRight2 } from "@untitledui/icons";
18037
17930
  var TestimonialsHome3 = ({
18038
17931
  testimonials: testimonialsData,
@@ -18043,7 +17936,7 @@ var TestimonialsHome3 = ({
18043
17936
  emptyMessage = "No testimonials available"
18044
17937
  }) => {
18045
17938
  const testimonials = Array.isArray(testimonialsData) ? testimonialsData : [];
18046
- return /* @__PURE__ */ React50.createElement("section", { className: "py-16 md:py-20 lg:py-24 bg-secondary" }, /* @__PURE__ */ React50.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8" }, /* @__PURE__ */ React50.createElement("div", { className: "mx-auto max-w-3xl text-center mb-12 md:mb-16" }, /* @__PURE__ */ React50.createElement("h2", { className: "font-display text-4xl font-medium text-fg-primary md:text-5xl mb-4" }, title), /* @__PURE__ */ React50.createElement("p", { className: "font-body text-lg text-secondary leading-normal" }, subtitle)), testimonials.length > 0 ? /* @__PURE__ */ React50.createElement(Carousel.Root, { opts: { align: "start", loop: true } }, /* @__PURE__ */ React50.createElement("div", { className: "flex items-center justify-end mb-8" }, /* @__PURE__ */ React50.createElement("div", { className: "flex gap-2" }, /* @__PURE__ */ React50.createElement(Carousel.PrevTrigger, { className: "rounded-full p-2 border border-secondary hover:bg-primary_hover transition-colors disabled:opacity-30 disabled:cursor-not-allowed" }, /* @__PURE__ */ React50.createElement(ChevronLeft7, { className: "w-6 h-6 text-fg-primary" })), /* @__PURE__ */ React50.createElement(Carousel.NextTrigger, { className: "rounded-full p-2 border border-secondary hover:bg-primary_hover transition-colors disabled:opacity-30 disabled:cursor-not-allowed" }, /* @__PURE__ */ React50.createElement(ChevronRight2, { className: "w-6 h-6 text-fg-primary" })))), /* @__PURE__ */ React50.createElement(Carousel.Content, { className: "-ml-4" }, testimonials.map((testimonial, i) => {
17939
+ return /* @__PURE__ */ React47.createElement("section", { className: "py-16 md:py-20 lg:py-24 bg-secondary" }, /* @__PURE__ */ React47.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8" }, /* @__PURE__ */ React47.createElement("div", { className: "mx-auto max-w-3xl text-center mb-12 md:mb-16" }, /* @__PURE__ */ React47.createElement("h2", { className: "font-display text-4xl font-medium text-fg-primary md:text-5xl mb-4" }, title), /* @__PURE__ */ React47.createElement("p", { className: "font-body text-lg text-secondary leading-normal" }, subtitle)), testimonials.length > 0 ? /* @__PURE__ */ React47.createElement(Carousel.Root, { opts: { align: "start", loop: true } }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center justify-end mb-8" }, /* @__PURE__ */ React47.createElement("div", { className: "flex gap-2" }, /* @__PURE__ */ React47.createElement(Carousel.PrevTrigger, { className: "rounded-full p-2 border border-secondary hover:bg-primary_hover transition-colors disabled:opacity-30 disabled:cursor-not-allowed" }, /* @__PURE__ */ React47.createElement(ChevronLeft7, { className: "w-6 h-6 text-fg-primary" })), /* @__PURE__ */ React47.createElement(Carousel.NextTrigger, { className: "rounded-full p-2 border border-secondary hover:bg-primary_hover transition-colors disabled:opacity-30 disabled:cursor-not-allowed" }, /* @__PURE__ */ React47.createElement(ChevronRight2, { className: "w-6 h-6 text-fg-primary" })))), /* @__PURE__ */ React47.createElement(Carousel.Content, { className: "-ml-4" }, testimonials.map((testimonial, i) => {
18047
17940
  var _a;
18048
17941
  const quote = ((_a = testimonial.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim()) || "";
18049
17942
  const reviewerName = testimonial.reviewer_name || "";
@@ -18051,7 +17944,7 @@ var TestimonialsHome3 = ({
18051
17944
  const avatarUrl = getAvatarUrl(testimonial.photo_attachments, testimonial.id, reviewerName);
18052
17945
  const rating = testimonial.rating || 5;
18053
17946
  const isVerified = true;
18054
- return /* @__PURE__ */ React50.createElement(Carousel.Item, { key: testimonial.id || i, className: "pl-4 md:basis-1/2 lg:basis-1/3" }, /* @__PURE__ */ React50.createElement("div", { className: "bg-white rounded-2xl p-8 flex flex-col shadow-sm", style: { minHeight: "400px" } }, /* @__PURE__ */ React50.createElement("div", { className: "flex gap-1 mb-6" }, Array.from({ length: 5 }).map((_, starIdx) => /* @__PURE__ */ React50.createElement(
17947
+ return /* @__PURE__ */ React47.createElement(Carousel.Item, { key: testimonial.id || i, className: "pl-4 md:basis-1/2 lg:basis-1/3" }, /* @__PURE__ */ React47.createElement("div", { className: "bg-white rounded-2xl p-8 flex flex-col shadow-sm", style: { minHeight: "400px" } }, /* @__PURE__ */ React47.createElement("div", { className: "flex gap-1 mb-6" }, Array.from({ length: 5 }).map((_, starIdx) => /* @__PURE__ */ React47.createElement(
18055
17948
  "svg",
18056
17949
  {
18057
17950
  key: starIdx,
@@ -18063,8 +17956,8 @@ var TestimonialsHome3 = ({
18063
17956
  strokeWidth: "2",
18064
17957
  viewBox: "0 0 24 24"
18065
17958
  },
18066
- /* @__PURE__ */ React50.createElement("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" })
18067
- ))), /* @__PURE__ */ React50.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary mb-6 flex-grow" }, '"', quote, '"'), /* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React50.createElement("div", { className: "w-12 h-12 rounded-full overflow-hidden flex-shrink-0" }, /* @__PURE__ */ React50.createElement(
17959
+ /* @__PURE__ */ React47.createElement("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" })
17960
+ ))), /* @__PURE__ */ React47.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary mb-6 flex-grow" }, '"', quote, '"'), /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React47.createElement("div", { className: "w-12 h-12 rounded-full overflow-hidden flex-shrink-0" }, /* @__PURE__ */ React47.createElement(
18068
17961
  PhotoWithFallback2,
18069
17962
  {
18070
17963
  photoUrl: avatarUrl,
@@ -18072,8 +17965,8 @@ var TestimonialsHome3 = ({
18072
17965
  fallbackId: testimonial.id || i,
18073
17966
  className: "w-full h-full object-cover"
18074
17967
  }
18075
- )), /* @__PURE__ */ React50.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React50.createElement("div", { className: "flex items-center gap-1.5" }, /* @__PURE__ */ React50.createElement("p", { className: "font-body text-sm font-medium text-fg-primary" }, reviewerName), isVerified && /* @__PURE__ */ React50.createElement("svg", { className: "w-4 h-4 text-fg-primary", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React50.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z", clipRule: "evenodd" }))), /* @__PURE__ */ React50.createElement("p", { className: "font-body text-xs", style: { color: "var(--color-text-brand-secondary)" } }, username)))));
18076
- }))) : /* @__PURE__ */ React50.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React50.createElement("p", { className: "font-body text-base text-tertiary" }, emptyMessage)), testimonials.length > 0 && viewAllText && /* @__PURE__ */ React50.createElement("div", { className: "mt-12 text-center" }, /* @__PURE__ */ React50.createElement(
17968
+ )), /* @__PURE__ */ React47.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React47.createElement("div", { className: "flex items-center gap-1.5" }, /* @__PURE__ */ React47.createElement("p", { className: "font-body text-sm font-medium text-fg-primary" }, reviewerName), isVerified && /* @__PURE__ */ React47.createElement("svg", { className: "w-4 h-4 text-fg-primary", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React47.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z", clipRule: "evenodd" }))), /* @__PURE__ */ React47.createElement("p", { className: "font-body text-xs", style: { color: "var(--color-text-brand-secondary)" } }, username)))));
17969
+ }))) : /* @__PURE__ */ React47.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React47.createElement("p", { className: "font-body text-base text-tertiary" }, emptyMessage)), testimonials.length > 0 && viewAllText && /* @__PURE__ */ React47.createElement("div", { className: "mt-12 text-center" }, /* @__PURE__ */ React47.createElement(
18077
17970
  Button2,
18078
17971
  {
18079
17972
  href: viewAllHref,
@@ -18086,7 +17979,7 @@ var TestimonialsHome3 = ({
18086
17979
  registerThemeVariant("testimonials-home", "barelux", TestimonialsHome3);
18087
17980
 
18088
17981
  // src/design_system/sections/blog-section.barelux.tsx
18089
- import React51 from "react";
17982
+ import React48 from "react";
18090
17983
  import { ChevronLeft as ChevronLeft8, ChevronRight as ChevronRight3 } from "@untitledui/icons";
18091
17984
  var BlogSection3 = ({
18092
17985
  blogPosts: postsData,
@@ -18111,18 +18004,18 @@ var BlogSection3 = ({
18111
18004
  return recentLabel;
18112
18005
  }
18113
18006
  };
18114
- return /* @__PURE__ */ React51.createElement("section", { className: "py-16 md:py-20 lg:py-24 bg-primary" }, /* @__PURE__ */ React51.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8" }, /* @__PURE__ */ React51.createElement("div", { className: "mx-auto max-w-3xl text-center mb-12 md:mb-16" }, /* @__PURE__ */ React51.createElement("h2", { className: "font-display text-4xl font-medium text-fg-primary md:text-5xl mb-4" }, title), /* @__PURE__ */ React51.createElement("p", { className: "font-body text-lg text-secondary leading-normal" }, subtitle)), postsArray.length > 0 ? /* @__PURE__ */ React51.createElement(Carousel.Root, { opts: { align: "start", loop: true } }, /* @__PURE__ */ React51.createElement("div", { className: "flex items-center justify-end mb-8" }, /* @__PURE__ */ React51.createElement("div", { className: "flex gap-2" }, /* @__PURE__ */ React51.createElement(Carousel.PrevTrigger, { className: "rounded-full p-2 border border-secondary hover:bg-primary_hover transition-colors disabled:opacity-30 disabled:cursor-not-allowed" }, /* @__PURE__ */ React51.createElement(ChevronLeft8, { className: "w-6 h-6 text-fg-primary" })), /* @__PURE__ */ React51.createElement(Carousel.NextTrigger, { className: "rounded-full p-2 border border-secondary hover:bg-primary_hover transition-colors disabled:opacity-30 disabled:cursor-not-allowed" }, /* @__PURE__ */ React51.createElement(ChevronRight3, { className: "w-6 h-6 text-fg-primary" })))), /* @__PURE__ */ React51.createElement(Carousel.Content, { className: "-ml-4" }, postsArray.map((post) => {
18007
+ return /* @__PURE__ */ React48.createElement("section", { className: "py-16 md:py-20 lg:py-24 bg-primary" }, /* @__PURE__ */ React48.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8" }, /* @__PURE__ */ React48.createElement("div", { className: "mx-auto max-w-3xl text-center mb-12 md:mb-16" }, /* @__PURE__ */ React48.createElement("h2", { className: "font-display text-4xl font-medium text-fg-primary md:text-5xl mb-4" }, title), /* @__PURE__ */ React48.createElement("p", { className: "font-body text-lg text-secondary leading-normal" }, subtitle)), postsArray.length > 0 ? /* @__PURE__ */ React48.createElement(Carousel.Root, { opts: { align: "start", loop: true } }, /* @__PURE__ */ React48.createElement("div", { className: "flex items-center justify-end mb-8" }, /* @__PURE__ */ React48.createElement("div", { className: "flex gap-2" }, /* @__PURE__ */ React48.createElement(Carousel.PrevTrigger, { className: "rounded-full p-2 border border-secondary hover:bg-primary_hover transition-colors disabled:opacity-30 disabled:cursor-not-allowed" }, /* @__PURE__ */ React48.createElement(ChevronLeft8, { className: "w-6 h-6 text-fg-primary" })), /* @__PURE__ */ React48.createElement(Carousel.NextTrigger, { className: "rounded-full p-2 border border-secondary hover:bg-primary_hover transition-colors disabled:opacity-30 disabled:cursor-not-allowed" }, /* @__PURE__ */ React48.createElement(ChevronRight3, { className: "w-6 h-6 text-fg-primary" })))), /* @__PURE__ */ React48.createElement(Carousel.Content, { className: "-ml-4" }, postsArray.map((post) => {
18115
18008
  var _a;
18116
18009
  const excerpt = ((_a = post.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim().substring(0, 150)) || "";
18117
- return /* @__PURE__ */ React51.createElement(Carousel.Item, { key: post.id, className: "pl-4 md:basis-1/2 lg:basis-1/3" }, /* @__PURE__ */ React51.createElement("a", { href: `/blog/${post.slug}`, className: "flex flex-col group" }, /* @__PURE__ */ React51.createElement("div", { className: "w-full h-64 mb-6 overflow-hidden rounded-2xl" }, /* @__PURE__ */ React51.createElement(
18010
+ return /* @__PURE__ */ React48.createElement(Carousel.Item, { key: post.id, className: "pl-4 md:basis-1/2 lg:basis-1/3" }, /* @__PURE__ */ React48.createElement("a", { href: `/blog/${post.slug}`, className: "flex flex-col group" }, /* @__PURE__ */ React48.createElement("div", { className: "w-full h-64 mb-6 overflow-hidden rounded-2xl" }, /* @__PURE__ */ React48.createElement(
18118
18011
  PhotoWithFallback2,
18119
18012
  {
18120
18013
  item: post,
18121
18014
  fallbackId: post.id,
18122
18015
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
18123
18016
  }
18124
- )), /* @__PURE__ */ React51.createElement("p", { className: "text-xs font-body font-normal uppercase tracking-widest mb-2", style: { color: "var(--color-text-brand-secondary)" } }, formatDate4(post.published_at)), /* @__PURE__ */ React51.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mb-4 group-hover:underline line-clamp-2" }, post.title), excerpt && /* @__PURE__ */ React51.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary mb-4 line-clamp-3" }, excerpt)));
18125
- }))) : /* @__PURE__ */ React51.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React51.createElement("p", { className: "font-body text-base text-tertiary" }, emptyMessage)), postsArray.length > 0 && viewAllText && /* @__PURE__ */ React51.createElement("div", { className: "mt-12 text-center" }, /* @__PURE__ */ React51.createElement(
18017
+ )), /* @__PURE__ */ React48.createElement("p", { className: "text-xs font-body font-normal uppercase tracking-widest mb-2", style: { color: "var(--color-text-brand-secondary)" } }, formatDate4(post.published_at)), /* @__PURE__ */ React48.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mb-4 group-hover:underline line-clamp-2" }, post.title), excerpt && /* @__PURE__ */ React48.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary mb-4 line-clamp-3" }, excerpt)));
18018
+ }))) : /* @__PURE__ */ React48.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React48.createElement("p", { className: "font-body text-base text-tertiary" }, emptyMessage)), postsArray.length > 0 && viewAllText && /* @__PURE__ */ React48.createElement("div", { className: "mt-12 text-center" }, /* @__PURE__ */ React48.createElement(
18126
18019
  Button2,
18127
18020
  {
18128
18021
  href: viewAllHref,
@@ -18135,7 +18028,7 @@ var BlogSection3 = ({
18135
18028
  registerThemeVariant("blog-section", "barelux", BlogSection3);
18136
18029
 
18137
18030
  // src/design_system/sections/blog-gallery.barelux.tsx
18138
- import React52, { useState as useState24 } from "react";
18031
+ import React49, { useState as useState24 } from "react";
18139
18032
  var BlogGallery3 = ({
18140
18033
  blogPosts: postsData,
18141
18034
  postsPerPage = 12,
@@ -18153,13 +18046,13 @@ var BlogGallery3 = ({
18153
18046
  const startIndex = (currentPage - 1) * postsPerPage;
18154
18047
  const endIndex = startIndex + postsPerPage;
18155
18048
  const paginatedNonFeaturedPosts = nonFeaturedPosts.slice(startIndex, endIndex);
18156
- return /* @__PURE__ */ React52.createElement("section", { className: `py-16 md:py-20 lg:py-24 bg-primary ${className}` }, /* @__PURE__ */ React52.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8" }, /* @__PURE__ */ React52.createElement("div", { className: "mx-auto max-w-3xl text-center mb-12 md:mb-16" }, /* @__PURE__ */ React52.createElement("h1", { className: "font-display text-4xl font-medium text-fg-primary md:text-5xl mb-4" }, title), /* @__PURE__ */ React52.createElement("p", { className: "font-body text-lg text-secondary leading-normal" }, subtitle)), posts.length > 0 ? /* @__PURE__ */ React52.createElement(React52.Fragment, null, featuredPost && /* @__PURE__ */ React52.createElement(
18049
+ return /* @__PURE__ */ React49.createElement("section", { className: `py-16 md:py-20 lg:py-24 bg-primary ${className}` }, /* @__PURE__ */ React49.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8" }, /* @__PURE__ */ React49.createElement("div", { className: "mx-auto max-w-3xl text-center mb-12 md:mb-16" }, /* @__PURE__ */ React49.createElement("h1", { className: "font-display text-4xl font-medium text-fg-primary md:text-5xl mb-4" }, title), /* @__PURE__ */ React49.createElement("p", { className: "font-body text-lg text-secondary leading-normal" }, subtitle)), posts.length > 0 ? /* @__PURE__ */ React49.createElement(React49.Fragment, null, featuredPost && /* @__PURE__ */ React49.createElement(
18157
18050
  "a",
18158
18051
  {
18159
18052
  href: `/blog/${featuredPost.slug}`,
18160
18053
  className: "block mb-16 group"
18161
18054
  },
18162
- /* @__PURE__ */ React52.createElement("div", { className: "w-full h-96 md:h-[500px] mb-8 overflow-hidden rounded-2xl" }, /* @__PURE__ */ React52.createElement(
18055
+ /* @__PURE__ */ React49.createElement("div", { className: "w-full h-96 md:h-[500px] mb-8 overflow-hidden rounded-2xl" }, /* @__PURE__ */ React49.createElement(
18163
18056
  PhotoWithFallback2,
18164
18057
  {
18165
18058
  item: featuredPost,
@@ -18167,19 +18060,19 @@ var BlogGallery3 = ({
18167
18060
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
18168
18061
  }
18169
18062
  )),
18170
- /* @__PURE__ */ React52.createElement("div", { className: "max-w-3xl" }, /* @__PURE__ */ React52.createElement("p", { className: "text-xs font-body font-normal uppercase tracking-widest mb-4", style: { color: "var(--color-text-brand-secondary)" } }, featuredPost.published_at ? new Date(featuredPost.published_at).toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" }) : recentLabel), /* @__PURE__ */ React52.createElement("h2", { className: "font-display text-3xl md:text-4xl font-normal text-fg-primary mb-6 group-hover:underline" }, featuredPost.title), featuredPost.excerpt_markdown && /* @__PURE__ */ React52.createElement("p", { className: "font-body text-lg leading-relaxed text-tertiary" }, featuredPost.excerpt_markdown.replace(/[#*\[\]()]/g, "").trim()))
18171
- ), paginatedNonFeaturedPosts.length > 0 && /* @__PURE__ */ React52.createElement("div", { className: "grid grid-cols-1 gap-12 md:grid-cols-2 lg:grid-cols-3 mb-16" }, paginatedNonFeaturedPosts.map((post) => {
18063
+ /* @__PURE__ */ React49.createElement("div", { className: "max-w-3xl" }, /* @__PURE__ */ React49.createElement("p", { className: "text-xs font-body font-normal uppercase tracking-widest mb-4", style: { color: "var(--color-text-brand-secondary)" } }, featuredPost.published_at ? new Date(featuredPost.published_at).toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" }) : recentLabel), /* @__PURE__ */ React49.createElement("h2", { className: "font-display text-3xl md:text-4xl font-normal text-fg-primary mb-6 group-hover:underline" }, featuredPost.title), featuredPost.excerpt_markdown && /* @__PURE__ */ React49.createElement("p", { className: "font-body text-lg leading-relaxed text-tertiary" }, featuredPost.excerpt_markdown.replace(/[#*\[\]()]/g, "").trim()))
18064
+ ), paginatedNonFeaturedPosts.length > 0 && /* @__PURE__ */ React49.createElement("div", { className: "grid grid-cols-1 gap-12 md:grid-cols-2 lg:grid-cols-3 mb-16" }, paginatedNonFeaturedPosts.map((post) => {
18172
18065
  var _a;
18173
18066
  const excerpt = post.excerpt_markdown || ((_a = post.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim().substring(0, 150)) || "";
18174
- return /* @__PURE__ */ React52.createElement("a", { key: post.id, href: `/blog/${post.slug}`, className: "flex flex-col group" }, /* @__PURE__ */ React52.createElement("div", { className: "w-full h-64 mb-6 overflow-hidden rounded-2xl" }, /* @__PURE__ */ React52.createElement(
18067
+ return /* @__PURE__ */ React49.createElement("a", { key: post.id, href: `/blog/${post.slug}`, className: "flex flex-col group" }, /* @__PURE__ */ React49.createElement("div", { className: "w-full h-64 mb-6 overflow-hidden rounded-2xl" }, /* @__PURE__ */ React49.createElement(
18175
18068
  PhotoWithFallback2,
18176
18069
  {
18177
18070
  item: post,
18178
18071
  fallbackId: post.id,
18179
18072
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
18180
18073
  }
18181
- )), /* @__PURE__ */ React52.createElement("p", { className: "text-xs font-body font-normal uppercase tracking-widest mb-2", style: { color: "var(--color-text-brand-secondary)" } }, post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" }) : recentLabel), /* @__PURE__ */ React52.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mb-4 group-hover:underline line-clamp-2" }, post.title), excerpt && /* @__PURE__ */ React52.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary mb-4 flex-grow line-clamp-3" }, excerpt));
18182
- })), totalPages > 1 && /* @__PURE__ */ React52.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ React52.createElement(
18074
+ )), /* @__PURE__ */ React49.createElement("p", { className: "text-xs font-body font-normal uppercase tracking-widest mb-2", style: { color: "var(--color-text-brand-secondary)" } }, post.published_at ? new Date(post.published_at).toLocaleDateString("en-US", { month: "long", day: "numeric", year: "numeric" }) : recentLabel), /* @__PURE__ */ React49.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mb-4 group-hover:underline line-clamp-2" }, post.title), excerpt && /* @__PURE__ */ React49.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary mb-4 flex-grow line-clamp-3" }, excerpt));
18075
+ })), totalPages > 1 && /* @__PURE__ */ React49.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ React49.createElement(
18183
18076
  PaginationPageDefault2,
18184
18077
  {
18185
18078
  rounded: true,
@@ -18187,7 +18080,7 @@ var BlogGallery3 = ({
18187
18080
  total: totalPages,
18188
18081
  onPageChange: setCurrentPage
18189
18082
  }
18190
- ))) : /* @__PURE__ */ React52.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React52.createElement("p", { className: "font-body text-base text-tertiary" }, emptyMessage))));
18083
+ ))) : /* @__PURE__ */ React49.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React49.createElement("p", { className: "font-body text-base text-tertiary" }, emptyMessage))));
18191
18084
  };
18192
18085
  registerThemeVariant("blog-gallery", "barelux", BlogGallery3);
18193
18086
 
@@ -18282,10 +18175,10 @@ var SocialMediaGrid3 = ({
18282
18175
  registerThemeVariant("social-media-grid", "barelux", SocialMediaGrid3);
18283
18176
 
18284
18177
  // src/design_system/sections/contact-section.barelux.tsx
18285
- import React54 from "react";
18178
+ import React51 from "react";
18286
18179
 
18287
18180
  // src/design_system/sections/contact-section-form.barelux.tsx
18288
- import React53, { useRef as useRef15, useState as useState25 } from "react";
18181
+ import React50, { useRef as useRef15, useState as useState25 } from "react";
18289
18182
  var ContactSectionForm3 = ({
18290
18183
  formDefinition,
18291
18184
  submitButtonText = "Send message",
@@ -18339,14 +18232,14 @@ var ContactSectionForm3 = ({
18339
18232
  setIsSubmitting(false);
18340
18233
  };
18341
18234
  if (!hasFields) return null;
18342
- return /* @__PURE__ */ React53.createElement(Form2, { ref: formRef, onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React53.createElement(
18235
+ return /* @__PURE__ */ React50.createElement(Form2, { ref: formRef, onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React50.createElement(
18343
18236
  DynamicFormFields,
18344
18237
  {
18345
18238
  form: resolvedFormDefinition,
18346
18239
  privacyPolicyUrl,
18347
18240
  termsOfServiceUrl
18348
18241
  }
18349
- ), /* @__PURE__ */ React53.createElement(
18242
+ ), /* @__PURE__ */ React50.createElement(
18350
18243
  Button2,
18351
18244
  {
18352
18245
  type: "submit",
@@ -18357,7 +18250,7 @@ var ContactSectionForm3 = ({
18357
18250
  isLoading: isSubmitting
18358
18251
  },
18359
18252
  submitStatus === "success" ? successMessage.split("!")[0] + "!" : isSubmitting ? "Sending..." : submitButtonText
18360
- ), submitStatus === "success" && /* @__PURE__ */ React53.createElement("div", { className: "font-body text-sm text-center", style: { color: "var(--color-text-brand-accent)" } }, thankYouMessage != null ? thankYouMessage : statusMessage), submitStatus === "error" && /* @__PURE__ */ React53.createElement("div", { className: "rounded-lg bg-error-50 p-4 text-error-700 font-body text-sm text-center" }, statusMessage));
18253
+ ), submitStatus === "success" && /* @__PURE__ */ React50.createElement("div", { className: "font-body text-sm text-center", style: { color: "var(--color-text-brand-accent)" } }, thankYouMessage != null ? thankYouMessage : statusMessage), submitStatus === "error" && /* @__PURE__ */ React50.createElement("div", { className: "rounded-lg bg-error-50 p-4 text-error-700 font-body text-sm text-center" }, statusMessage));
18361
18254
  };
18362
18255
 
18363
18256
  // src/design_system/sections/contact-section.barelux.tsx
@@ -18381,14 +18274,14 @@ var ContactSection3 = ({
18381
18274
  const contactImageUrl = contactPhoto == null ? void 0 : contactPhoto.url;
18382
18275
  const finalContactImage = contactImageUrl && contactImageUrl.trim() !== "" ? contactImageUrl : void 0;
18383
18276
  const finalContactImageAlt = (contactPhoto == null ? void 0 : contactPhoto.alt) || "Contact image";
18384
- return /* @__PURE__ */ React54.createElement("section", { className: "py-16 md:py-20 lg:py-24 bg-primary" }, /* @__PURE__ */ React54.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8" }, /* @__PURE__ */ React54.createElement("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-16" }, /* @__PURE__ */ React54.createElement("div", null, /* @__PURE__ */ React54.createElement("h2", { className: "font-display text-4xl font-medium text-fg-primary md:text-5xl mb-6" }, title), /* @__PURE__ */ React54.createElement("p", { className: "font-body text-lg text-secondary leading-relaxed mb-8" }, subtitle), /* @__PURE__ */ React54.createElement(
18277
+ return /* @__PURE__ */ React51.createElement("section", { className: "py-16 md:py-20 lg:py-24 bg-primary" }, /* @__PURE__ */ React51.createElement("div", { className: "mx-auto max-w-7xl px-4 md:px-8" }, /* @__PURE__ */ React51.createElement("div", { className: "grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-16" }, /* @__PURE__ */ React51.createElement("div", null, /* @__PURE__ */ React51.createElement("h2", { className: "font-display text-4xl font-medium text-fg-primary md:text-5xl mb-6" }, title), /* @__PURE__ */ React51.createElement("p", { className: "font-body text-lg text-secondary leading-relaxed mb-8" }, subtitle), /* @__PURE__ */ React51.createElement(
18385
18278
  ContactSectionForm3,
18386
18279
  {
18387
18280
  formDefinition,
18388
18281
  privacyPolicyUrl,
18389
18282
  termsOfServiceUrl
18390
18283
  }
18391
- )), finalContactImage && /* @__PURE__ */ React54.createElement("div", { className: "max-lg:hidden relative h-full min-h-0 overflow-hidden rounded-lg" }, /* @__PURE__ */ React54.createElement(
18284
+ )), finalContactImage && /* @__PURE__ */ React51.createElement("div", { className: "max-lg:hidden relative h-full min-h-0 overflow-hidden rounded-lg" }, /* @__PURE__ */ React51.createElement(
18392
18285
  PhotoWithFallback2,
18393
18286
  {
18394
18287
  photoUrl: finalContactImage,
@@ -18453,7 +18346,7 @@ registerThemeVariant("footer-home", "barelux", FooterHome3);
18453
18346
 
18454
18347
  // src/design_system/sections/hero-home.balance.tsx
18455
18348
  import { Fragment as Fragment7, useState as useState26 } from "react";
18456
- import React55 from "react";
18349
+ import React52 from "react";
18457
18350
  var HeroHome4 = ({
18458
18351
  websitePhotos,
18459
18352
  companyInformation,
@@ -18471,7 +18364,7 @@ var HeroHome4 = ({
18471
18364
  url: ((_b = websitePhotos == null ? void 0 : websitePhotos.hero) == null ? void 0 : _b.url) || "",
18472
18365
  alt: ((_c = websitePhotos == null ? void 0 : websitePhotos.hero) == null ? void 0 : _c.alt) || "Hero image"
18473
18366
  };
18474
- return /* @__PURE__ */ React55.createElement(Fragment7, null, /* @__PURE__ */ React55.createElement("section", { className: "bg-primary py-20 md:py-28" }, /* @__PURE__ */ React55.createElement("div", { className: "mx-auto max-w-4xl px-4 text-center md:px-8" }, /* @__PURE__ */ React55.createElement("h1", { className: "font-display text-5xl font-normal leading-tight text-fg-primary md:text-6xl lg:text-7xl" }, headline), /* @__PURE__ */ React55.createElement("p", { className: "mt-6 font-body text-lg leading-relaxed text-secondary md:text-xl max-w-3xl mx-auto" }, subhead), ctaText && /* @__PURE__ */ React55.createElement("div", { className: "mt-10" }, /* @__PURE__ */ React55.createElement(
18367
+ return /* @__PURE__ */ React52.createElement(Fragment7, null, /* @__PURE__ */ React52.createElement("section", { className: "bg-primary py-20 md:py-28" }, /* @__PURE__ */ React52.createElement("div", { className: "mx-auto max-w-4xl px-4 text-center md:px-8" }, /* @__PURE__ */ React52.createElement("h1", { className: "font-display text-5xl font-normal leading-tight text-fg-primary md:text-6xl lg:text-7xl" }, headline), /* @__PURE__ */ React52.createElement("p", { className: "mt-6 font-body text-lg leading-relaxed text-secondary md:text-xl max-w-3xl mx-auto" }, subhead), ctaText && /* @__PURE__ */ React52.createElement("div", { className: "mt-10" }, /* @__PURE__ */ React52.createElement(
18475
18368
  Button2,
18476
18369
  {
18477
18370
  as: "a",
@@ -18483,7 +18376,7 @@ var HeroHome4 = ({
18483
18376
  className: "font-body font-medium"
18484
18377
  },
18485
18378
  ctaText
18486
- )))), /* @__PURE__ */ React55.createElement("section", { className: "bg-primary" }, /* @__PURE__ */ React55.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8 pb-16 md:pb-24" }, /* @__PURE__ */ React55.createElement("div", { className: "relative w-full h-[450px] md:h-[550px] lg:h-[650px] overflow-hidden" }, /* @__PURE__ */ React55.createElement(
18379
+ )))), /* @__PURE__ */ React52.createElement("section", { className: "bg-primary" }, /* @__PURE__ */ React52.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8 pb-16 md:pb-24" }, /* @__PURE__ */ React52.createElement("div", { className: "relative w-full h-[450px] md:h-[550px] lg:h-[650px] overflow-hidden" }, /* @__PURE__ */ React52.createElement(
18487
18380
  PhotoWithFallback2,
18488
18381
  {
18489
18382
  photoUrl: heroImage.url,
@@ -18491,7 +18384,7 @@ var HeroHome4 = ({
18491
18384
  fallbackId: "hero-home-balance",
18492
18385
  className: "w-full h-full object-cover"
18493
18386
  }
18494
- ), videoUrl && /* @__PURE__ */ React55.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React55.createElement(VideoPlayButton, { onClick: () => setShowVideo(true) }))))), videoUrl && /* @__PURE__ */ React55.createElement(
18387
+ ), videoUrl && /* @__PURE__ */ React52.createElement("div", { className: "absolute inset-0 flex items-center justify-center" }, /* @__PURE__ */ React52.createElement(VideoPlayButton, { onClick: () => setShowVideo(true) }))))), videoUrl && /* @__PURE__ */ React52.createElement(
18495
18388
  VideoModal,
18496
18389
  {
18497
18390
  isOpen: showVideo,
@@ -18503,7 +18396,7 @@ var HeroHome4 = ({
18503
18396
  registerThemeVariant("hero-home", "balance", HeroHome4);
18504
18397
 
18505
18398
  // src/design_system/sections/header-navigation.balance.tsx
18506
- import React56, { useState as useState27, useRef as useRef16, useCallback as useCallback9 } from "react";
18399
+ import React53, { useState as useState27, useRef as useRef16, useCallback as useCallback9 } from "react";
18507
18400
  import Link10 from "next/link";
18508
18401
  import Image13 from "next/image";
18509
18402
  function HeaderNavigation4({
@@ -18519,7 +18412,7 @@ function HeaderNavigation4({
18519
18412
  const [activeDropdown, setActiveDropdown] = useState27(null);
18520
18413
  const [isMobileMenuOpen, setIsMobileMenuOpen] = useState27(false);
18521
18414
  const closeTimeoutRef = useRef16(null);
18522
- React56.useEffect(() => {
18415
+ React53.useEffect(() => {
18523
18416
  return () => {
18524
18417
  if (closeTimeoutRef.current) {
18525
18418
  clearTimeout(closeTimeoutRef.current);
@@ -18557,7 +18450,7 @@ function HeaderNavigation4({
18557
18450
  const handleDropdownMouseLeave = useCallback9(() => {
18558
18451
  handleMouseLeave();
18559
18452
  }, [handleMouseLeave]);
18560
- return /* @__PURE__ */ React56.createElement(React56.Fragment, null, /* @__PURE__ */ React56.createElement("header", { className: "hidden md:block sticky top-0 z-50 bg-primary", style: { borderBottom: "3px solid rgb(217, 191, 168)" } }, /* @__PURE__ */ React56.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React56.createElement("div", { className: "relative flex items-center justify-between py-5" }, /* @__PURE__ */ React56.createElement(Link10, { href: ((_d = props == null ? void 0 : props.logo) == null ? void 0 : _d.href) || "/", className: "flex items-center z-10" }, logoUrl ? /* @__PURE__ */ React56.createElement(
18453
+ return /* @__PURE__ */ React53.createElement(React53.Fragment, null, /* @__PURE__ */ React53.createElement("header", { className: "hidden md:block sticky top-0 z-50 bg-primary", style: { borderBottom: "3px solid rgb(217, 191, 168)" } }, /* @__PURE__ */ React53.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React53.createElement("div", { className: "relative flex items-center justify-between py-5" }, /* @__PURE__ */ React53.createElement(Link10, { href: ((_d = props == null ? void 0 : props.logo) == null ? void 0 : _d.href) || "/", className: "flex items-center z-10" }, logoUrl ? /* @__PURE__ */ React53.createElement(
18561
18454
  Image13,
18562
18455
  {
18563
18456
  src: logoUrl,
@@ -18566,7 +18459,7 @@ function HeaderNavigation4({
18566
18459
  width: 180,
18567
18460
  height: 48
18568
18461
  }
18569
- ) : /* @__PURE__ */ React56.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React56.createElement("span", { className: "font-display text-2xl font-normal", style: { color: "rgb(148, 102, 76)" } }, companyName), /* @__PURE__ */ React56.createElement("span", { className: "font-body text-xs tracking-widest uppercase", style: { color: "rgb(148, 102, 76)", opacity: 0.7 } }, "Concierge Cosmetic Injections"))), /* @__PURE__ */ React56.createElement("nav", { className: "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 flex items-center gap-1" }, navigation.map((item) => /* @__PURE__ */ React56.createElement(
18462
+ ) : /* @__PURE__ */ React53.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React53.createElement("span", { className: "font-display text-2xl font-normal", style: { color: "rgb(148, 102, 76)" } }, companyName), /* @__PURE__ */ React53.createElement("span", { className: "font-body text-xs tracking-widest uppercase", style: { color: "rgb(148, 102, 76)", opacity: 0.7 } }, "Concierge Cosmetic Injections"))), /* @__PURE__ */ React53.createElement("nav", { className: "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 flex items-center gap-1" }, navigation.map((item) => /* @__PURE__ */ React53.createElement(
18570
18463
  "div",
18571
18464
  {
18572
18465
  key: item.label,
@@ -18574,7 +18467,7 @@ function HeaderNavigation4({
18574
18467
  onMouseEnter: () => handleMouseEnter(item),
18575
18468
  onMouseLeave: handleMouseLeave
18576
18469
  },
18577
- item.href ? /* @__PURE__ */ React56.createElement(
18470
+ item.href ? /* @__PURE__ */ React53.createElement(
18578
18471
  Link10,
18579
18472
  {
18580
18473
  href: item.href,
@@ -18582,15 +18475,15 @@ function HeaderNavigation4({
18582
18475
  style: { color: "rgb(170, 143, 123)" }
18583
18476
  },
18584
18477
  item.label
18585
- ) : /* @__PURE__ */ React56.createElement("span", { className: "font-display text-xl font-semibold px-5 py-2 cursor-pointer", style: { color: "rgb(170, 143, 123)" } }, item.label),
18586
- item.children && item.children.length > 0 && activeDropdown === item.label && /* @__PURE__ */ React56.createElement(
18478
+ ) : /* @__PURE__ */ React53.createElement("span", { className: "font-display text-xl font-semibold px-5 py-2 cursor-pointer", style: { color: "rgb(170, 143, 123)" } }, item.label),
18479
+ item.children && item.children.length > 0 && activeDropdown === item.label && /* @__PURE__ */ React53.createElement(
18587
18480
  "div",
18588
18481
  {
18589
18482
  className: "absolute left-0 top-full pt-2",
18590
18483
  onMouseEnter: handleDropdownMouseEnter,
18591
18484
  onMouseLeave: handleDropdownMouseLeave
18592
18485
  },
18593
- /* @__PURE__ */ React56.createElement("div", { className: "balance-dropdown-panel bg-primary border border-secondary shadow-md min-w-48 py-2" }, item.children.map((child) => /* @__PURE__ */ React56.createElement(
18486
+ /* @__PURE__ */ React53.createElement("div", { className: "balance-dropdown-panel bg-primary border border-secondary shadow-md min-w-48 py-2" }, item.children.map((child) => /* @__PURE__ */ React53.createElement(
18594
18487
  Link10,
18595
18488
  {
18596
18489
  key: child.href,
@@ -18601,7 +18494,7 @@ function HeaderNavigation4({
18601
18494
  child.label
18602
18495
  )))
18603
18496
  )
18604
- ))), /* @__PURE__ */ React56.createElement("div", { className: "flex items-center gap-3 flex-shrink-0 z-10" }, ((_e = props == null ? void 0 : props.cta_button) == null ? void 0 : _e.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React56.createElement(
18497
+ ))), /* @__PURE__ */ React53.createElement("div", { className: "flex items-center gap-3 flex-shrink-0 z-10" }, ((_e = props == null ? void 0 : props.cta_button) == null ? void 0 : _e.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React53.createElement(
18605
18498
  Button2,
18606
18499
  {
18607
18500
  href: ctaUrls.secondaryHref,
@@ -18611,7 +18504,7 @@ function HeaderNavigation4({
18611
18504
  size: "sm"
18612
18505
  },
18613
18506
  props.cta_button.label
18614
- ), /* @__PURE__ */ React56.createElement(
18507
+ ), /* @__PURE__ */ React53.createElement(
18615
18508
  Button2,
18616
18509
  {
18617
18510
  href: ctaUrls.primaryHref,
@@ -18621,15 +18514,15 @@ function HeaderNavigation4({
18621
18514
  size: "sm"
18622
18515
  },
18623
18516
  ((_i = props == null ? void 0 : props.cta_button) == null ? void 0 : _i.secondary_label) && ctaUrls.hasSecondary ? props.cta_button.secondary_label : ((_j = props == null ? void 0 : props.cta_button) == null ? void 0 : _j.label) || ""
18624
- ))))), /* @__PURE__ */ React56.createElement("header", { className: "md:hidden sticky top-0 z-50 bg-primary", style: { borderBottom: "3px solid rgb(217, 191, 168)" } }, /* @__PURE__ */ React56.createElement("div", { className: "flex items-center justify-between px-4 py-4" }, /* @__PURE__ */ React56.createElement(
18517
+ ))))), /* @__PURE__ */ React53.createElement("header", { className: "md:hidden sticky top-0 z-50 bg-primary", style: { borderBottom: "3px solid rgb(217, 191, 168)" } }, /* @__PURE__ */ React53.createElement("div", { className: "flex items-center justify-between px-4 py-4" }, /* @__PURE__ */ React53.createElement(
18625
18518
  "button",
18626
18519
  {
18627
18520
  onClick: () => setIsMobileMenuOpen(true),
18628
18521
  className: "text-fg-primary",
18629
18522
  "aria-label": "Open menu"
18630
18523
  },
18631
- /* @__PURE__ */ React56.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React56.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 6h16M4 12h16M4 18h16" }))
18632
- ), /* @__PURE__ */ React56.createElement(Link10, { href: ((_k = props == null ? void 0 : props.logo) == null ? void 0 : _k.href) || "/", className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React56.createElement(
18524
+ /* @__PURE__ */ React53.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React53.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 6h16M4 12h16M4 18h16" }))
18525
+ ), /* @__PURE__ */ React53.createElement(Link10, { href: ((_k = props == null ? void 0 : props.logo) == null ? void 0 : _k.href) || "/", className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React53.createElement(
18633
18526
  Image13,
18634
18527
  {
18635
18528
  src: logoUrl,
@@ -18638,15 +18531,15 @@ function HeaderNavigation4({
18638
18531
  width: 120,
18639
18532
  height: 32
18640
18533
  }
18641
- ) : /* @__PURE__ */ React56.createElement("span", { className: "font-display text-lg font-normal text-fg-primary" }, companyName)), /* @__PURE__ */ React56.createElement("div", { className: "w-6" }))), isMobileMenuOpen && /* @__PURE__ */ React56.createElement("div", { className: "balance-mobile-menu fixed inset-0 bg-primary z-50 md:hidden" }, /* @__PURE__ */ React56.createElement("div", { className: "flex flex-col h-full" }, /* @__PURE__ */ React56.createElement("div", { className: "flex items-center justify-between px-4 py-4", style: { borderBottom: "3px solid rgb(217, 191, 168)" } }, /* @__PURE__ */ React56.createElement(
18534
+ ) : /* @__PURE__ */ React53.createElement("span", { className: "font-display text-lg font-normal text-fg-primary" }, companyName)), /* @__PURE__ */ React53.createElement("div", { className: "w-6" }))), isMobileMenuOpen && /* @__PURE__ */ React53.createElement("div", { className: "balance-mobile-menu fixed inset-0 bg-primary z-50 md:hidden" }, /* @__PURE__ */ React53.createElement("div", { className: "flex flex-col h-full" }, /* @__PURE__ */ React53.createElement("div", { className: "flex items-center justify-between px-4 py-4", style: { borderBottom: "3px solid rgb(217, 191, 168)" } }, /* @__PURE__ */ React53.createElement(
18642
18535
  "button",
18643
18536
  {
18644
18537
  onClick: () => setIsMobileMenuOpen(false),
18645
18538
  className: "text-fg-primary",
18646
18539
  "aria-label": "Close menu"
18647
18540
  },
18648
- /* @__PURE__ */ React56.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React56.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }))
18649
- ), /* @__PURE__ */ React56.createElement("div", { className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React56.createElement(
18541
+ /* @__PURE__ */ React53.createElement("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, /* @__PURE__ */ React53.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }))
18542
+ ), /* @__PURE__ */ React53.createElement("div", { className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React53.createElement(
18650
18543
  Image13,
18651
18544
  {
18652
18545
  src: logoUrl,
@@ -18655,7 +18548,7 @@ function HeaderNavigation4({
18655
18548
  width: 120,
18656
18549
  height: 32
18657
18550
  }
18658
- ) : /* @__PURE__ */ React56.createElement("span", { className: "font-display text-lg font-normal text-fg-primary" }, companyName)), /* @__PURE__ */ React56.createElement("div", { className: "w-6" })), /* @__PURE__ */ React56.createElement("nav", { className: "flex-1 overflow-y-auto px-4 py-8" }, /* @__PURE__ */ React56.createElement("ul", { className: "space-y-4" }, navigation.map((item) => /* @__PURE__ */ React56.createElement("li", { key: item.label }, /* @__PURE__ */ React56.createElement(
18551
+ ) : /* @__PURE__ */ React53.createElement("span", { className: "font-display text-lg font-normal text-fg-primary" }, companyName)), /* @__PURE__ */ React53.createElement("div", { className: "w-6" })), /* @__PURE__ */ React53.createElement("nav", { className: "flex-1 overflow-y-auto px-4 py-8" }, /* @__PURE__ */ React53.createElement("ul", { className: "space-y-4" }, navigation.map((item) => /* @__PURE__ */ React53.createElement("li", { key: item.label }, /* @__PURE__ */ React53.createElement(
18659
18552
  Link10,
18660
18553
  {
18661
18554
  href: item.href || "#",
@@ -18664,7 +18557,7 @@ function HeaderNavigation4({
18664
18557
  onClick: () => setIsMobileMenuOpen(false)
18665
18558
  },
18666
18559
  item.label
18667
- ), item.children && item.children.length > 0 && /* @__PURE__ */ React56.createElement("ul", { className: "ml-4 mt-2 space-y-2" }, item.children.map((child) => /* @__PURE__ */ React56.createElement("li", { key: child.href }, /* @__PURE__ */ React56.createElement(
18560
+ ), item.children && item.children.length > 0 && /* @__PURE__ */ React53.createElement("ul", { className: "ml-4 mt-2 space-y-2" }, item.children.map((child) => /* @__PURE__ */ React53.createElement("li", { key: child.href }, /* @__PURE__ */ React53.createElement(
18668
18561
  Link10,
18669
18562
  {
18670
18563
  href: child.href,
@@ -18672,7 +18565,7 @@ function HeaderNavigation4({
18672
18565
  onClick: () => setIsMobileMenuOpen(false)
18673
18566
  },
18674
18567
  child.label
18675
- )))))))), /* @__PURE__ */ React56.createElement("div", { className: "px-4 py-6", style: { borderTop: "1px solid rgb(217, 191, 168)" } }, /* @__PURE__ */ React56.createElement("div", { className: "flex flex-col gap-3" }, ((_l = props == null ? void 0 : props.cta_button) == null ? void 0 : _l.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React56.createElement(
18568
+ )))))))), /* @__PURE__ */ React53.createElement("div", { className: "px-4 py-6", style: { borderTop: "1px solid rgb(217, 191, 168)" } }, /* @__PURE__ */ React53.createElement("div", { className: "flex flex-col gap-3" }, ((_l = props == null ? void 0 : props.cta_button) == null ? void 0 : _l.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React53.createElement(
18676
18569
  Button2,
18677
18570
  {
18678
18571
  href: ctaUrls.secondaryHref,
@@ -18682,7 +18575,7 @@ function HeaderNavigation4({
18682
18575
  onClick: () => setIsMobileMenuOpen(false)
18683
18576
  },
18684
18577
  props.cta_button.secondary_label
18685
- ), /* @__PURE__ */ React56.createElement(
18578
+ ), /* @__PURE__ */ React53.createElement(
18686
18579
  Button2,
18687
18580
  {
18688
18581
  href: ctaUrls.primaryHref,
@@ -18692,7 +18585,7 @@ function HeaderNavigation4({
18692
18585
  onClick: () => setIsMobileMenuOpen(false)
18693
18586
  },
18694
18587
  ((_m = props == null ? void 0 : props.cta_button) == null ? void 0 : _m.label) || ""
18695
- ))))), /* @__PURE__ */ React56.createElement("div", { className: "fixed bottom-0 left-0 right-0 z-40 md:hidden", style: { backgroundColor: "rgb(148, 133, 84)" } }, /* @__PURE__ */ React56.createElement("div", { className: "flex gap-0" }, ((_n = props == null ? void 0 : props.cta_button) == null ? void 0 : _n.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React56.createElement(
18588
+ ))))), /* @__PURE__ */ React53.createElement("div", { className: "fixed bottom-0 left-0 right-0 z-40 md:hidden", style: { backgroundColor: "rgb(148, 133, 84)" } }, /* @__PURE__ */ React53.createElement("div", { className: "flex gap-0" }, ((_n = props == null ? void 0 : props.cta_button) == null ? void 0 : _n.secondary_label) && ctaUrls.hasSecondary && /* @__PURE__ */ React53.createElement(
18696
18589
  Button2,
18697
18590
  {
18698
18591
  href: ctaUrls.secondaryHref,
@@ -18703,7 +18596,7 @@ function HeaderNavigation4({
18703
18596
  style: { borderRight: "1px solid rgba(255, 255, 255, 0.2)" }
18704
18597
  },
18705
18598
  props.cta_button.label
18706
- ), /* @__PURE__ */ React56.createElement(
18599
+ ), /* @__PURE__ */ React53.createElement(
18707
18600
  Button2,
18708
18601
  {
18709
18602
  href: ctaUrls.primaryHref,
@@ -18776,10 +18669,10 @@ var FooterHome4 = ({
18776
18669
  registerThemeVariant("footer-home", "balance", FooterHome4);
18777
18670
 
18778
18671
  // src/design_system/sections/contact-section.balance.tsx
18779
- import React58 from "react";
18672
+ import React55 from "react";
18780
18673
 
18781
18674
  // src/design_system/sections/contact-section-form.balance.tsx
18782
- import React57, { useRef as useRef17, useState as useState28 } from "react";
18675
+ import React54, { useRef as useRef17, useState as useState28 } from "react";
18783
18676
  var ContactSectionForm4 = ({
18784
18677
  formDefinition,
18785
18678
  submitButtonText = "Send message",
@@ -18833,14 +18726,14 @@ var ContactSectionForm4 = ({
18833
18726
  setIsSubmitting(false);
18834
18727
  };
18835
18728
  if (!hasFields) return null;
18836
- return /* @__PURE__ */ React57.createElement(Form2, { ref: formRef, onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React57.createElement(
18729
+ return /* @__PURE__ */ React54.createElement(Form2, { ref: formRef, onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React54.createElement(
18837
18730
  DynamicFormFields,
18838
18731
  {
18839
18732
  form: resolvedFormDefinition,
18840
18733
  privacyPolicyUrl,
18841
18734
  termsOfServiceUrl
18842
18735
  }
18843
- ), /* @__PURE__ */ React57.createElement(
18736
+ ), /* @__PURE__ */ React54.createElement(
18844
18737
  Button2,
18845
18738
  {
18846
18739
  type: "submit",
@@ -18851,7 +18744,7 @@ var ContactSectionForm4 = ({
18851
18744
  isLoading: isSubmitting
18852
18745
  },
18853
18746
  isSubmitting ? "Sending..." : submitButtonText
18854
- ), submitStatus === "success" && /* @__PURE__ */ React57.createElement("div", { className: "rounded-sm bg-success-50 p-4 text-success-700 font-body" }, thankYouMessage != null ? thankYouMessage : statusMessage), submitStatus === "error" && /* @__PURE__ */ React57.createElement("div", { className: "rounded-sm bg-error-50 p-4 text-error-700 font-body text-sm" }, statusMessage));
18747
+ ), submitStatus === "success" && /* @__PURE__ */ React54.createElement("div", { className: "rounded-sm bg-success-50 p-4 text-success-700 font-body" }, thankYouMessage != null ? thankYouMessage : statusMessage), submitStatus === "error" && /* @__PURE__ */ React54.createElement("div", { className: "rounded-sm bg-error-50 p-4 text-error-700 font-body text-sm" }, statusMessage));
18855
18748
  };
18856
18749
 
18857
18750
  // src/design_system/sections/contact-section.balance.tsx
@@ -18875,7 +18768,7 @@ var ContactSection4 = ({
18875
18768
  const contactImageUrl = contactPhoto == null ? void 0 : contactPhoto.url;
18876
18769
  const finalContactImage = contactImageUrl && contactImageUrl.trim() !== "" ? contactImageUrl : void 0;
18877
18770
  const finalContactImageAlt = (contactPhoto == null ? void 0 : contactPhoto.alt) || "Contact image";
18878
- return /* @__PURE__ */ React58.createElement("section", { className: "bg-primary py-16 md:py-24" }, /* @__PURE__ */ React58.createElement("div", { className: "mx-auto max-w-4xl px-4 md:px-8" }, /* @__PURE__ */ React58.createElement("div", { className: "text-center mb-12" }, /* @__PURE__ */ React58.createElement("h2", { className: "font-display text-4xl font-normal leading-tight text-fg-primary md:text-5xl" }, title), /* @__PURE__ */ React58.createElement("p", { className: "mt-4 font-body text-lg leading-relaxed text-tertiary max-w-2xl mx-auto" }, subtitle)), finalContactImage && /* @__PURE__ */ React58.createElement("div", { className: "mb-12 overflow-hidden h-72 md:h-96" }, /* @__PURE__ */ React58.createElement(
18771
+ return /* @__PURE__ */ React55.createElement("section", { className: "bg-primary py-16 md:py-24" }, /* @__PURE__ */ React55.createElement("div", { className: "mx-auto max-w-4xl px-4 md:px-8" }, /* @__PURE__ */ React55.createElement("div", { className: "text-center mb-12" }, /* @__PURE__ */ React55.createElement("h2", { className: "font-display text-4xl font-normal leading-tight text-fg-primary md:text-5xl" }, title), /* @__PURE__ */ React55.createElement("p", { className: "mt-4 font-body text-lg leading-relaxed text-tertiary max-w-2xl mx-auto" }, subtitle)), finalContactImage && /* @__PURE__ */ React55.createElement("div", { className: "mb-12 overflow-hidden h-72 md:h-96" }, /* @__PURE__ */ React55.createElement(
18879
18772
  PhotoWithFallback2,
18880
18773
  {
18881
18774
  photoUrl: finalContactImage,
@@ -18883,7 +18776,7 @@ var ContactSection4 = ({
18883
18776
  fallbackId: "contact-image",
18884
18777
  className: "h-full w-full object-cover"
18885
18778
  }
18886
- )), /* @__PURE__ */ React58.createElement("div", { className: "max-w-2xl mx-auto" }, /* @__PURE__ */ React58.createElement(
18779
+ )), /* @__PURE__ */ React55.createElement("div", { className: "max-w-2xl mx-auto" }, /* @__PURE__ */ React55.createElement(
18887
18780
  ContactSectionForm4,
18888
18781
  {
18889
18782
  formDefinition,
@@ -18972,7 +18865,7 @@ var AboutHome4 = ({
18972
18865
  registerThemeVariant("about-home", "balance", AboutHome4);
18973
18866
 
18974
18867
  // src/design_system/sections/testimonials-home.balance.tsx
18975
- import React59 from "react";
18868
+ import React56 from "react";
18976
18869
  var TestimonialsHome4 = ({
18977
18870
  testimonials: testimonialsData,
18978
18871
  title = "",
@@ -18981,7 +18874,7 @@ var TestimonialsHome4 = ({
18981
18874
  }) => {
18982
18875
  const testimonials = Array.isArray(testimonialsData) ? testimonialsData : [];
18983
18876
  const displayTestimonials = perPage ? testimonials.slice(0, perPage) : testimonials;
18984
- return /* @__PURE__ */ React59.createElement("section", { className: "bg-primary py-16 md:py-24" }, /* @__PURE__ */ React59.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React59.createElement("div", { className: "text-center mb-12 max-w-3xl mx-auto" }, /* @__PURE__ */ React59.createElement("h2", { className: "font-display text-4xl font-normal text-fg-primary md:text-5xl mb-4" }, title), subtitle && /* @__PURE__ */ React59.createElement("p", { className: "font-body text-lg text-secondary" }, subtitle)), /* @__PURE__ */ React59.createElement(
18877
+ return /* @__PURE__ */ React56.createElement("section", { className: "bg-primary py-16 md:py-24" }, /* @__PURE__ */ React56.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React56.createElement("div", { className: "text-center mb-12 max-w-3xl mx-auto" }, /* @__PURE__ */ React56.createElement("h2", { className: "font-display text-4xl font-normal text-fg-primary md:text-5xl mb-4" }, title), subtitle && /* @__PURE__ */ React56.createElement("p", { className: "font-body text-lg text-secondary" }, subtitle)), /* @__PURE__ */ React56.createElement(
18985
18878
  CarouselSectionWrapper,
18986
18879
  {
18987
18880
  title: "",
@@ -18995,7 +18888,7 @@ var TestimonialsHome4 = ({
18995
18888
  const avatarUrl = getAvatarUrl(testimonial.photo_attachments, testimonial.id, reviewerName);
18996
18889
  const rating = testimonial.rating || 5;
18997
18890
  const initials = reviewerName.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2);
18998
- return /* @__PURE__ */ React59.createElement(Carousel.Item, { key: testimonial.id || i, className: "pl-4 md:basis-1/2 lg:basis-1/3" }, /* @__PURE__ */ React59.createElement("div", { className: "bg-secondary/30 p-8 h-full flex flex-col" }, /* @__PURE__ */ React59.createElement("div", { className: "flex gap-1 mb-6" }, Array.from({ length: 5 }).map((_, starIdx) => /* @__PURE__ */ React59.createElement(
18891
+ return /* @__PURE__ */ React56.createElement(Carousel.Item, { key: testimonial.id || i, className: "pl-4 md:basis-1/2 lg:basis-1/3" }, /* @__PURE__ */ React56.createElement("div", { className: "bg-secondary/30 p-8 h-full flex flex-col" }, /* @__PURE__ */ React56.createElement("div", { className: "flex gap-1 mb-6" }, Array.from({ length: 5 }).map((_, starIdx) => /* @__PURE__ */ React56.createElement(
18999
18892
  "svg",
19000
18893
  {
19001
18894
  key: starIdx,
@@ -19007,8 +18900,8 @@ var TestimonialsHome4 = ({
19007
18900
  strokeWidth: "2",
19008
18901
  viewBox: "0 0 24 24"
19009
18902
  },
19010
- /* @__PURE__ */ React59.createElement("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" })
19011
- ))), /* @__PURE__ */ React59.createElement("p", { className: "font-body text-base leading-relaxed text-secondary mb-8 flex-grow" }, '"', quote, '"'), /* @__PURE__ */ React59.createElement("div", { className: "flex items-center gap-4 pt-6 border-t border-primary/20" }, /* @__PURE__ */ React59.createElement(
18903
+ /* @__PURE__ */ React56.createElement("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" })
18904
+ ))), /* @__PURE__ */ React56.createElement("p", { className: "font-body text-base leading-relaxed text-secondary mb-8 flex-grow" }, '"', quote, '"'), /* @__PURE__ */ React56.createElement("div", { className: "flex items-center gap-4 pt-6 border-t border-primary/20" }, /* @__PURE__ */ React56.createElement(
19012
18905
  Avatar2,
19013
18906
  {
19014
18907
  src: avatarUrl,
@@ -19016,14 +18909,14 @@ var TestimonialsHome4 = ({
19016
18909
  initials,
19017
18910
  size: "xl"
19018
18911
  }
19019
- ), /* @__PURE__ */ React59.createElement("div", null, /* @__PURE__ */ React59.createElement("p", { className: "font-body text-sm font-medium text-fg-primary" }, reviewerName), /* @__PURE__ */ React59.createElement("p", { className: "font-body text-xs text-tertiary mt-0.5" }, "Verified Customer")))));
18912
+ ), /* @__PURE__ */ React56.createElement("div", null, /* @__PURE__ */ React56.createElement("p", { className: "font-body text-sm font-medium text-fg-primary" }, reviewerName), /* @__PURE__ */ React56.createElement("p", { className: "font-body text-xs text-tertiary mt-0.5" }, "Verified Customer")))));
19020
18913
  })
19021
18914
  )));
19022
18915
  };
19023
18916
  registerThemeVariant("testimonials-home", "balance", TestimonialsHome4);
19024
18917
 
19025
18918
  // src/design_system/sections/blog-section.balance.tsx
19026
- import React60 from "react";
18919
+ import React57 from "react";
19027
18920
  var BlogSection4 = ({
19028
18921
  blogPosts: postsData,
19029
18922
  title = "",
@@ -19043,7 +18936,7 @@ var BlogSection4 = ({
19043
18936
  return "Recent";
19044
18937
  }
19045
18938
  };
19046
- return /* @__PURE__ */ React60.createElement("section", { className: "bg-secondary py-16 md:py-24" }, /* @__PURE__ */ React60.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React60.createElement("div", { className: "text-center mb-16 max-w-3xl mx-auto" }, /* @__PURE__ */ React60.createElement("h2", { className: "font-display text-4xl font-normal text-fg-primary md:text-5xl mb-4" }, title), subtitle && /* @__PURE__ */ React60.createElement("p", { className: "font-body text-lg text-secondary" }, subtitle)), /* @__PURE__ */ React60.createElement(
18939
+ return /* @__PURE__ */ React57.createElement("section", { className: "bg-secondary py-16 md:py-24" }, /* @__PURE__ */ React57.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React57.createElement("div", { className: "text-center mb-16 max-w-3xl mx-auto" }, /* @__PURE__ */ React57.createElement("h2", { className: "font-display text-4xl font-normal text-fg-primary md:text-5xl mb-4" }, title), subtitle && /* @__PURE__ */ React57.createElement("p", { className: "font-body text-lg text-secondary" }, subtitle)), /* @__PURE__ */ React57.createElement(
19047
18940
  CarouselSectionWrapper,
19048
18941
  {
19049
18942
  title: "",
@@ -19053,16 +18946,16 @@ var BlogSection4 = ({
19053
18946
  postsArray.map((post) => {
19054
18947
  var _a;
19055
18948
  const excerpt = ((_a = post.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim().substring(0, 150)) || "";
19056
- return /* @__PURE__ */ React60.createElement(Carousel.Item, { key: post.id, className: "pl-4 md:basis-1/2 lg:basis-1/3" }, /* @__PURE__ */ React60.createElement("a", { href: `/blog/${post.slug}`, className: "flex flex-col h-full group bg-primary" }, /* @__PURE__ */ React60.createElement("div", { className: "w-full h-64 overflow-hidden" }, /* @__PURE__ */ React60.createElement(
18949
+ return /* @__PURE__ */ React57.createElement(Carousel.Item, { key: post.id, className: "pl-4 md:basis-1/2 lg:basis-1/3" }, /* @__PURE__ */ React57.createElement("a", { href: `/blog/${post.slug}`, className: "flex flex-col h-full group bg-primary" }, /* @__PURE__ */ React57.createElement("div", { className: "w-full h-64 overflow-hidden" }, /* @__PURE__ */ React57.createElement(
19057
18950
  PhotoWithFallback2,
19058
18951
  {
19059
18952
  item: post,
19060
18953
  fallbackId: post.id,
19061
18954
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
19062
18955
  }
19063
- )), /* @__PURE__ */ React60.createElement("div", { className: "p-6 flex flex-col flex-grow" }, /* @__PURE__ */ React60.createElement("p", { className: "text-xs font-body font-medium uppercase tracking-wide mb-3 text-brand-accent" }, formatDate4(post.published_at)), /* @__PURE__ */ React60.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mb-3 group-hover:text-brand-accent transition-colors line-clamp-2" }, post.title), excerpt && /* @__PURE__ */ React60.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary flex-grow line-clamp-3" }, excerpt), /* @__PURE__ */ React60.createElement("span", { className: "mt-4 font-body text-sm font-medium uppercase tracking-wide", style: { color: "var(--color-text-brand-accent)" } }, "Read More \u2192"))));
18956
+ )), /* @__PURE__ */ React57.createElement("div", { className: "p-6 flex flex-col flex-grow" }, /* @__PURE__ */ React57.createElement("p", { className: "text-xs font-body font-medium uppercase tracking-wide mb-3 text-brand-accent" }, formatDate4(post.published_at)), /* @__PURE__ */ React57.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mb-3 group-hover:text-brand-accent transition-colors line-clamp-2" }, post.title), excerpt && /* @__PURE__ */ React57.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary flex-grow line-clamp-3" }, excerpt), /* @__PURE__ */ React57.createElement("span", { className: "mt-4 font-body text-sm font-medium uppercase tracking-wide", style: { color: "var(--color-text-brand-accent)" } }, "Read More \u2192"))));
19064
18957
  })
19065
- ), postsArray.length > 0 && /* @__PURE__ */ React60.createElement("div", { className: "mt-12 text-center" }, /* @__PURE__ */ React60.createElement(
18958
+ ), postsArray.length > 0 && /* @__PURE__ */ React57.createElement("div", { className: "mt-12 text-center" }, /* @__PURE__ */ React57.createElement(
19066
18959
  Button2,
19067
18960
  {
19068
18961
  as: "a",
@@ -19077,7 +18970,7 @@ var BlogSection4 = ({
19077
18970
  registerThemeVariant("blog-section", "balance", BlogSection4);
19078
18971
 
19079
18972
  // src/design_system/sections/team-grid.balance.tsx
19080
- import React61 from "react";
18973
+ import React58 from "react";
19081
18974
  var TeamGrid3 = ({
19082
18975
  teamMembers: membersData,
19083
18976
  title = "",
@@ -19088,10 +18981,10 @@ var TeamGrid3 = ({
19088
18981
  }) => {
19089
18982
  const members = Array.isArray(membersData) ? membersData : [];
19090
18983
  const displayMembers = members.slice(0, maxMembers);
19091
- return /* @__PURE__ */ React61.createElement("section", { className: `${backgroundColor} py-16 md:py-24 ${className}` }, /* @__PURE__ */ React61.createElement("div", { className: "mx-auto w-full max-w-container px-4 md:px-8" }, (title || subtitle) && /* @__PURE__ */ React61.createElement("div", { className: "mx-auto mb-12 flex w-full max-w-3xl flex-col items-center text-center" }, title && /* @__PURE__ */ React61.createElement("h2", { className: "text-display-sm font-semibold text-primary md:text-display-md" }, title), subtitle && /* @__PURE__ */ React61.createElement("p", { className: "mt-4 text-lg text-tertiary md:mt-5 md:text-xl" }, subtitle)), displayMembers.length > 0 ? /* @__PURE__ */ React61.createElement("div", { className: "mt-12 md:mt-16" }, /* @__PURE__ */ React61.createElement("ul", { className: "grid w-full grid-cols-1 gap-x-8 gap-y-10 sm:grid-cols-2 md:gap-y-12 lg:grid-cols-3 xl:grid-cols-4 justify-items-center" }, displayMembers.map((member, index) => {
18984
+ return /* @__PURE__ */ React58.createElement("section", { className: `${backgroundColor} py-16 md:py-24 ${className}` }, /* @__PURE__ */ React58.createElement("div", { className: "mx-auto w-full max-w-container px-4 md:px-8" }, (title || subtitle) && /* @__PURE__ */ React58.createElement("div", { className: "mx-auto mb-12 flex w-full max-w-3xl flex-col items-center text-center" }, title && /* @__PURE__ */ React58.createElement("h2", { className: "text-display-sm font-semibold text-primary md:text-display-md" }, title), subtitle && /* @__PURE__ */ React58.createElement("p", { className: "mt-4 text-lg text-tertiary md:mt-5 md:text-xl" }, subtitle)), displayMembers.length > 0 ? /* @__PURE__ */ React58.createElement("div", { className: "mt-12 md:mt-16" }, /* @__PURE__ */ React58.createElement("ul", { className: "grid w-full grid-cols-1 gap-x-8 gap-y-10 sm:grid-cols-2 md:gap-y-12 lg:grid-cols-3 xl:grid-cols-4 justify-items-center" }, displayMembers.map((member, index) => {
19092
18985
  var _a;
19093
18986
  const bio = ((_a = member.bio_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim()) || "";
19094
- return /* @__PURE__ */ React61.createElement("li", { key: member.id || index, className: "flex flex-col gap-5 md:gap-6 max-w-xs w-full" }, /* @__PURE__ */ React61.createElement(
18987
+ return /* @__PURE__ */ React58.createElement("li", { key: member.id || index, className: "flex flex-col gap-5 md:gap-6 max-w-xs w-full" }, /* @__PURE__ */ React58.createElement(
19095
18988
  PhotoWithFallback2,
19096
18989
  {
19097
18990
  item: member,
@@ -19099,13 +18992,13 @@ var TeamGrid3 = ({
19099
18992
  alt: member.name || "Team member",
19100
18993
  className: "h-78 w-full object-cover md:h-74 rounded-2xl"
19101
18994
  }
19102
- ), /* @__PURE__ */ React61.createElement("div", null, /* @__PURE__ */ React61.createElement("h3", { className: "text-lg font-semibold text-primary md:text-xl" }, member.name), /* @__PURE__ */ React61.createElement("p", { className: "text-md text-brand-secondary md:mt-0.5 md:text-lg" }, member.position), bio && /* @__PURE__ */ React61.createElement("p", { className: "mt-4 text-md text-tertiary leading-relaxed" }, bio)));
19103
- }))) : /* @__PURE__ */ React61.createElement("div", { className: "text-center mt-12" }, /* @__PURE__ */ React61.createElement("p", { className: "text-gray-500" }, "No team members available"))));
18995
+ ), /* @__PURE__ */ React58.createElement("div", null, /* @__PURE__ */ React58.createElement("h3", { className: "text-lg font-semibold text-primary md:text-xl" }, member.name), /* @__PURE__ */ React58.createElement("p", { className: "text-md text-brand-secondary md:mt-0.5 md:text-lg" }, member.position), bio && /* @__PURE__ */ React58.createElement("p", { className: "mt-4 text-md text-tertiary leading-relaxed" }, bio)));
18996
+ }))) : /* @__PURE__ */ React58.createElement("div", { className: "text-center mt-12" }, /* @__PURE__ */ React58.createElement("p", { className: "text-gray-500" }, "No team members available"))));
19104
18997
  };
19105
18998
  registerThemeVariant("team-grid", "balance", TeamGrid3);
19106
18999
 
19107
19000
  // src/design_system/sections/services-grid.balance.tsx
19108
- import React62 from "react";
19001
+ import React59 from "react";
19109
19002
  import Link12 from "next/link";
19110
19003
  var ServicesGrid3 = ({
19111
19004
  services: servicesData,
@@ -19115,12 +19008,12 @@ var ServicesGrid3 = ({
19115
19008
  className = ""
19116
19009
  }) => {
19117
19010
  const services = Array.isArray(servicesData) ? servicesData : [];
19118
- return /* @__PURE__ */ React62.createElement("section", { className: `${backgroundColor} py-16 md:py-24 ${className}` }, /* @__PURE__ */ React62.createElement("div", { className: "mx-auto w-full max-w-container px-4 md:px-8" }, (title || subtitle) && /* @__PURE__ */ React62.createElement("div", { className: "mx-auto mb-12 flex w-full max-w-3xl flex-col items-center text-center" }, title && /* @__PURE__ */ React62.createElement("h2", { className: "font-display text-4xl font-normal text-fg-primary md:text-5xl" }, title), subtitle && /* @__PURE__ */ React62.createElement("p", { className: "mt-4 font-body text-lg text-secondary md:mt-5 md:text-xl" }, subtitle)), services.length > 0 ? /* @__PURE__ */ React62.createElement("ul", { className: "grid grid-cols-1 gap-x-8 gap-y-10 sm:grid-cols-2 md:gap-y-12 lg:grid-cols-3" }, services.map((service, index) => {
19011
+ return /* @__PURE__ */ React59.createElement("section", { className: `${backgroundColor} py-16 md:py-24 ${className}` }, /* @__PURE__ */ React59.createElement("div", { className: "mx-auto w-full max-w-container px-4 md:px-8" }, (title || subtitle) && /* @__PURE__ */ React59.createElement("div", { className: "mx-auto mb-12 flex w-full max-w-3xl flex-col items-center text-center" }, title && /* @__PURE__ */ React59.createElement("h2", { className: "font-display text-4xl font-normal text-fg-primary md:text-5xl" }, title), subtitle && /* @__PURE__ */ React59.createElement("p", { className: "mt-4 font-body text-lg text-secondary md:mt-5 md:text-xl" }, subtitle)), services.length > 0 ? /* @__PURE__ */ React59.createElement("ul", { className: "grid grid-cols-1 gap-x-8 gap-y-10 sm:grid-cols-2 md:gap-y-12 lg:grid-cols-3" }, services.map((service, index) => {
19119
19012
  var _a, _b, _c, _d;
19120
19013
  const description = service.summary || (service.description_markdown ? service.description_markdown.replace(/[#*\[\]()]/g, "").trim().substring(0, 120) + "..." : "");
19121
19014
  const photo = ((_b = (_a = service.photo_attachments) == null ? void 0 : _a.find((pa) => pa.featured)) == null ? void 0 : _b.photo) || ((_d = (_c = service.photo_attachments) == null ? void 0 : _c[0]) == null ? void 0 : _d.photo);
19122
19015
  const imageAlt = (photo == null ? void 0 : photo.title) || service.name;
19123
- return /* @__PURE__ */ React62.createElement("li", { key: service.id || index }, /* @__PURE__ */ React62.createElement("div", { className: "flex flex-col gap-12 bg-secondary p-5 md:inline-flex md:gap-16 md:p-6 rounded-lg group" }, /* @__PURE__ */ React62.createElement(Link12, { href: `/services/${service.slug}`, className: "block" }, /* @__PURE__ */ React62.createElement("div", { className: "h-48 w-full overflow-hidden rounded-lg md:h-64" }, /* @__PURE__ */ React62.createElement(
19016
+ return /* @__PURE__ */ React59.createElement("li", { key: service.id || index }, /* @__PURE__ */ React59.createElement("div", { className: "flex flex-col gap-12 bg-secondary p-5 md:inline-flex md:gap-16 md:p-6 rounded-lg group" }, /* @__PURE__ */ React59.createElement(Link12, { href: `/services/${service.slug}`, className: "block" }, /* @__PURE__ */ React59.createElement("div", { className: "h-48 w-full overflow-hidden rounded-lg md:h-64" }, /* @__PURE__ */ React59.createElement(
19124
19017
  PhotoWithFallback2,
19125
19018
  {
19126
19019
  item: service,
@@ -19128,8 +19021,8 @@ var ServicesGrid3 = ({
19128
19021
  alt: imageAlt || "Service image",
19129
19022
  className: "size-full object-cover transition-transform duration-300 group-hover:scale-105"
19130
19023
  }
19131
- )), /* @__PURE__ */ React62.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mt-4 mb-3 group-hover:text-brand-accent transition-colors" }, service.name), description && /* @__PURE__ */ React62.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary mb-4" }, description), /* @__PURE__ */ React62.createElement("span", { className: "font-body text-sm font-medium uppercase tracking-wide", style: { color: "var(--color-text-brand-accent)" } }, "Learn More \u2192"))));
19132
- })) : /* @__PURE__ */ React62.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React62.createElement("p", { className: "font-body text-base text-tertiary" }, "No services available"))));
19024
+ )), /* @__PURE__ */ React59.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mt-4 mb-3 group-hover:text-brand-accent transition-colors" }, service.name), description && /* @__PURE__ */ React59.createElement("p", { className: "font-body text-base leading-relaxed text-tertiary mb-4" }, description), /* @__PURE__ */ React59.createElement("span", { className: "font-body text-sm font-medium uppercase tracking-wide", style: { color: "var(--color-text-brand-accent)" } }, "Learn More \u2192"))));
19025
+ })) : /* @__PURE__ */ React59.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React59.createElement("p", { className: "font-body text-base text-tertiary" }, "No services available"))));
19133
19026
  };
19134
19027
  registerThemeVariant("services-grid", "balance", ServicesGrid3);
19135
19028
 
@@ -19246,7 +19139,7 @@ var FeatureTabHorizontal = ({ title, subtitle, footer, isCurrent }) => /* @__PUR
19246
19139
  );
19247
19140
 
19248
19141
  // src/design_system/sections/service-menu-section.tsx
19249
- import React63, { useState as useState30, useEffect as useEffect11, useCallback as useCallback10, useMemo as useMemo8 } from "react";
19142
+ import React60, { useState as useState30, useEffect as useEffect11, useCallback as useCallback10, useMemo as useMemo8 } from "react";
19250
19143
  import { createPortal } from "react-dom";
19251
19144
  var SERVICE_MENU_MODAL_ROOT_ID = "service-menu-modal-root";
19252
19145
  var CYCLE_INTERVAL_MIN_MS = 6e3;
@@ -19259,6 +19152,10 @@ function seedToUnit(seed) {
19259
19152
  }
19260
19153
  return (h >>> 0) / 4294967296;
19261
19154
  }
19155
+ function getActivePublicOffers(offers) {
19156
+ if (!Array.isArray(offers) || offers.length === 0) return [];
19157
+ return offers.filter((o) => o.active !== false && o.expired !== true);
19158
+ }
19262
19159
  function photoAttachmentDisplayUrl(pa) {
19263
19160
  var _a, _b;
19264
19161
  return ((_a = pa.photo) == null ? void 0 : _a.large_url) || ((_b = pa.photo) == null ? void 0 : _b.medium_url);
@@ -19310,7 +19207,8 @@ function GridCardWithImage({
19310
19207
  onClick,
19311
19208
  websitePhotos,
19312
19209
  companyInformation,
19313
- cycleSeed
19210
+ cycleSeed,
19211
+ hasSpecial
19314
19212
  }) {
19315
19213
  var _a, _b, _c, _d, _e, _f, _g;
19316
19214
  const seed = cycleSeed != null ? cycleSeed : String(fallbackId);
@@ -19338,14 +19236,21 @@ function GridCardWithImage({
19338
19236
  const currentItem = list[currentIndex];
19339
19237
  const displayAlt = (currentItem == null ? void 0 : currentItem.alt) || fallbackAlt;
19340
19238
  const singleUrl = (_a = list[0]) == null ? void 0 : _a.url;
19341
- return /* @__PURE__ */ React63.createElement(
19239
+ return /* @__PURE__ */ React60.createElement(
19342
19240
  "button",
19343
19241
  {
19344
19242
  type: "button",
19345
19243
  onClick,
19346
19244
  className: "flex flex-col h-full w-full text-left group block rounded-lg outline-none focus-visible:ring-2 focus-visible:ring-brand-accent focus-visible:ring-offset-2"
19347
19245
  },
19348
- /* @__PURE__ */ React63.createElement("div", { className: "w-full h-36 overflow-hidden rounded-lg mb-3 relative" }, list.length === 0 ? /* @__PURE__ */ React63.createElement(
19246
+ /* @__PURE__ */ React60.createElement("div", { className: "w-full h-36 overflow-hidden rounded-lg mb-3 relative" }, hasSpecial ? /* @__PURE__ */ React60.createElement(
19247
+ "span",
19248
+ {
19249
+ className: "absolute top-2 right-2 z-10 rounded-full border border-brand-accent/40 bg-secondary/95 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-brand-accent shadow-sm backdrop-blur-sm",
19250
+ "aria-label": "Has special offer"
19251
+ },
19252
+ "Special"
19253
+ ) : null, list.length === 0 ? /* @__PURE__ */ React60.createElement(
19349
19254
  PhotoWithFallback2,
19350
19255
  {
19351
19256
  item: void 0,
@@ -19357,7 +19262,7 @@ function GridCardWithImage({
19357
19262
  }
19358
19263
  ) : list.length === 1 && singleUrl ? (
19359
19264
  // eslint-disable-next-line @next/next/no-img-element -- dynamic API URLs; next/image not configured for external host
19360
- /* @__PURE__ */ React63.createElement(
19265
+ /* @__PURE__ */ React60.createElement(
19361
19266
  "img",
19362
19267
  {
19363
19268
  src: singleUrl,
@@ -19365,13 +19270,13 @@ function GridCardWithImage({
19365
19270
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
19366
19271
  }
19367
19272
  )
19368
- ) : /* @__PURE__ */ React63.createElement(React63.Fragment, null, /* @__PURE__ */ React63.createElement(
19273
+ ) : /* @__PURE__ */ React60.createElement(React60.Fragment, null, /* @__PURE__ */ React60.createElement(
19369
19274
  "div",
19370
19275
  {
19371
19276
  className: `absolute inset-0 ${transitioning ? "transition-opacity duration-[600ms] ease-in-out" : "transition-none"}`,
19372
19277
  style: { opacity: transitioning ? 0 : 1 }
19373
19278
  },
19374
- /* @__PURE__ */ React63.createElement(
19279
+ /* @__PURE__ */ React60.createElement(
19375
19280
  "img",
19376
19281
  {
19377
19282
  src: (_b = list[currentIndex]) == null ? void 0 : _b.url,
@@ -19379,13 +19284,13 @@ function GridCardWithImage({
19379
19284
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
19380
19285
  }
19381
19286
  )
19382
- ), /* @__PURE__ */ React63.createElement(
19287
+ ), /* @__PURE__ */ React60.createElement(
19383
19288
  "div",
19384
19289
  {
19385
19290
  className: `absolute inset-0 ${transitioning ? "transition-opacity duration-[600ms] ease-in-out" : "transition-none"}`,
19386
19291
  style: { opacity: transitioning ? 1 : 0 }
19387
19292
  },
19388
- /* @__PURE__ */ React63.createElement(
19293
+ /* @__PURE__ */ React60.createElement(
19389
19294
  "img",
19390
19295
  {
19391
19296
  src: (_e = list[nextIndex]) == null ? void 0 : _e.url,
@@ -19394,8 +19299,8 @@ function GridCardWithImage({
19394
19299
  }
19395
19300
  )
19396
19301
  ))),
19397
- subtitle && /* @__PURE__ */ React63.createElement("p", { className: "text-xs font-medium text-fg-secondary uppercase tracking-wide line-clamp-1" }, subtitle),
19398
- /* @__PURE__ */ React63.createElement("h4", { className: "font-display text-base font-normal text-fg-primary mt-1 group-hover:underline line-clamp-2" }, title),
19302
+ subtitle && /* @__PURE__ */ React60.createElement("p", { className: "text-xs font-medium text-fg-secondary uppercase tracking-wide line-clamp-1" }, subtitle),
19303
+ /* @__PURE__ */ React60.createElement("h4", { className: "font-display text-base font-normal text-fg-primary mt-1 group-hover:underline line-clamp-2" }, title),
19399
19304
  children
19400
19305
  );
19401
19306
  }
@@ -19405,9 +19310,9 @@ function CarouselRow({
19405
19310
  renderItem
19406
19311
  }) {
19407
19312
  if (!(items == null ? void 0 : items.length)) return null;
19408
- return /* @__PURE__ */ React63.createElement("div", { className: "mb-12 last:mb-0" }, /* @__PURE__ */ React63.createElement(Carousel.Root, { opts: { align: "start", loop: true } }, /* @__PURE__ */ React63.createElement("div", { className: "flex items-center justify-between gap-4 mb-2" }, /* @__PURE__ */ React63.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary md:text-3xl" }, rowTitle), /* @__PURE__ */ React63.createElement("div", { className: "flex gap-2 flex-shrink-0" }, /* @__PURE__ */ React63.createElement(Carousel.PrevTrigger, { className: "rounded-full p-1.5 border border-secondary hover:bg-primary_hover transition-colors disabled:opacity-30 disabled:cursor-not-allowed" }, /* @__PURE__ */ React63.createElement("svg", { className: "w-5 h-5 text-fg-primary", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", "aria-hidden": true }, /* @__PURE__ */ React63.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }))), /* @__PURE__ */ React63.createElement(Carousel.NextTrigger, { className: "rounded-full p-1.5 border border-secondary hover:bg-primary_hover transition-colors disabled:opacity-30 disabled:cursor-not-allowed" }, /* @__PURE__ */ React63.createElement("svg", { className: "w-5 h-5 text-fg-primary", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", "aria-hidden": true }, /* @__PURE__ */ React63.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }))))), /* @__PURE__ */ React63.createElement(Carousel.Content, { className: "-ml-3" }, items.map((item, index) => {
19313
+ return /* @__PURE__ */ React60.createElement("div", { className: "mb-12 last:mb-0" }, /* @__PURE__ */ React60.createElement(Carousel.Root, { opts: { align: "start", loop: true } }, /* @__PURE__ */ React60.createElement("div", { className: "flex items-center justify-between gap-4 mb-2" }, /* @__PURE__ */ React60.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary md:text-3xl" }, rowTitle), /* @__PURE__ */ React60.createElement("div", { className: "flex gap-2 flex-shrink-0" }, /* @__PURE__ */ React60.createElement(Carousel.PrevTrigger, { className: "rounded-full p-1.5 border border-secondary hover:bg-primary_hover transition-colors disabled:opacity-30 disabled:cursor-not-allowed" }, /* @__PURE__ */ React60.createElement("svg", { className: "w-5 h-5 text-fg-primary", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", "aria-hidden": true }, /* @__PURE__ */ React60.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }))), /* @__PURE__ */ React60.createElement(Carousel.NextTrigger, { className: "rounded-full p-1.5 border border-secondary hover:bg-primary_hover transition-colors disabled:opacity-30 disabled:cursor-not-allowed" }, /* @__PURE__ */ React60.createElement("svg", { className: "w-5 h-5 text-fg-primary", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", "aria-hidden": true }, /* @__PURE__ */ React60.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }))))), /* @__PURE__ */ React60.createElement(Carousel.Content, { className: "-ml-3" }, items.map((item, index) => {
19409
19314
  var _a;
19410
- return /* @__PURE__ */ React63.createElement(Carousel.Item, { key: (_a = item.id) != null ? _a : index, className: "pl-3 basis-[70%] sm:basis-1/2 md:basis-1/3 lg:basis-1/4" }, renderItem(item, index));
19315
+ return /* @__PURE__ */ React60.createElement(Carousel.Item, { key: (_a = item.id) != null ? _a : index, className: "pl-3 basis-[70%] sm:basis-1/2 md:basis-1/3 lg:basis-1/4" }, renderItem(item, index));
19411
19316
  }))));
19412
19317
  }
19413
19318
  function GridRow({
@@ -19416,9 +19321,9 @@ function GridRow({
19416
19321
  renderItem
19417
19322
  }) {
19418
19323
  if (!(items == null ? void 0 : items.length)) return null;
19419
- return /* @__PURE__ */ React63.createElement("div", { className: "mb-12 last:mb-0" }, /* @__PURE__ */ React63.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mb-3 md:text-3xl" }, rowTitle), /* @__PURE__ */ React63.createElement("div", { className: "grid grid-cols-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4" }, items.map((item, index) => {
19324
+ return /* @__PURE__ */ React60.createElement("div", { className: "mb-12 last:mb-0" }, /* @__PURE__ */ React60.createElement("h3", { className: "font-display text-2xl font-normal text-fg-primary mb-3 md:text-3xl" }, rowTitle), /* @__PURE__ */ React60.createElement("div", { className: "grid grid-cols-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4" }, items.map((item, index) => {
19420
19325
  var _a;
19421
- return /* @__PURE__ */ React63.createElement("div", { key: (_a = item.id) != null ? _a : index, className: "min-w-0 flex" }, renderItem(item, index));
19326
+ return /* @__PURE__ */ React60.createElement("div", { key: (_a = item.id) != null ? _a : index, className: "min-w-0 flex" }, renderItem(item, index));
19422
19327
  })));
19423
19328
  }
19424
19329
  function MenuBlock({
@@ -19428,54 +19333,57 @@ function MenuBlock({
19428
19333
  layout: layout2
19429
19334
  }) {
19430
19335
  if (!(items == null ? void 0 : items.length)) return null;
19431
- return layout2 === "carousel" ? /* @__PURE__ */ React63.createElement(CarouselRow, { rowTitle, items, renderItem }) : /* @__PURE__ */ React63.createElement(GridRow, { rowTitle, items, renderItem });
19336
+ return layout2 === "carousel" ? /* @__PURE__ */ React60.createElement(CarouselRow, { rowTitle, items, renderItem }) : /* @__PURE__ */ React60.createElement(GridRow, { rowTitle, items, renderItem });
19432
19337
  }
19433
19338
  function formatPriceCents(cents) {
19434
19339
  if (cents == null) return null;
19435
19340
  return new Intl.NumberFormat("en-US", { style: "currency", currency: "USD", minimumFractionDigits: 0, maximumFractionDigits: 0 }).format(cents / 100);
19436
19341
  }
19437
19342
  function ModalSection({ title, children }) {
19438
- return /* @__PURE__ */ React63.createElement("div", null, /* @__PURE__ */ React63.createElement("h3", { className: "font-display text-sm font-semibold text-fg-primary uppercase tracking-wide mb-2" }, title), children);
19343
+ return /* @__PURE__ */ React60.createElement("div", null, /* @__PURE__ */ React60.createElement("h3", { className: "font-display text-sm font-semibold text-fg-primary uppercase tracking-wide mb-2" }, title), children);
19344
+ }
19345
+ function ActiveOffersCallout({ offers }) {
19346
+ if (!offers.length) return null;
19347
+ return /* @__PURE__ */ React60.createElement("div", { className: "rounded-xl border border-secondary bg-secondary/25 p-4 md:p-5 space-y-3 ring-1 ring-brand-accent/25" }, /* @__PURE__ */ React60.createElement("p", { className: "text-xs font-semibold uppercase tracking-wide text-brand-accent" }, "Current specials"), /* @__PURE__ */ React60.createElement("ul", { className: "space-y-3 list-none m-0 p-0" }, offers.map((o) => /* @__PURE__ */ React60.createElement(
19348
+ "li",
19349
+ {
19350
+ key: o.id,
19351
+ className: "rounded-lg border border-secondary border-l-[3px] border-l-brand-accent bg-primary_hover/30 p-4"
19352
+ },
19353
+ /* @__PURE__ */ React60.createElement("p", { className: "font-display text-base font-medium text-fg-primary" }, o.name),
19354
+ o.value_terms ? /* @__PURE__ */ React60.createElement("p", { className: "font-body text-sm text-brand-accent mt-1 font-medium" }, o.value_terms) : null,
19355
+ o.description ? /* @__PURE__ */ React60.createElement("p", { className: "font-body text-sm text-fg-secondary mt-2 leading-relaxed" }, o.description) : null,
19356
+ o.expires_at ? /* @__PURE__ */ React60.createElement("p", { className: "text-xs text-tertiary mt-2" }, "Ends ", new Date(o.expires_at).toLocaleDateString(void 0, { dateStyle: "medium" })) : null
19357
+ ))));
19439
19358
  }
19440
19359
  function DetailModalContent({
19441
19360
  detail,
19442
19361
  serviceItems = []
19443
19362
  }) {
19444
- var _a, _b, _c, _d, _e;
19445
- if (detail.type === "offer") {
19446
- const o = detail.item;
19447
- const categoryLine = ((_a = o.category_names) == null ? void 0 : _a.length) ? o.category_names.join(" | ") : null;
19448
- const descriptionContent = o.description || o.first_service_description_markdown;
19449
- const relatedServices = ((_b = o.services) == null ? void 0 : _b.length) ? o.services : (_c = o.service_items) != null ? _c : [];
19450
- const relatedPackages = (_d = o.packages) != null ? _d : [];
19451
- return /* @__PURE__ */ React63.createElement("div", { className: "space-y-6" }, categoryLine && /* @__PURE__ */ React63.createElement("p", { className: "text-sm font-medium text-fg-secondary uppercase tracking-wide" }, categoryLine), o.value_terms && !categoryLine && /* @__PURE__ */ React63.createElement("p", { className: "text-sm font-medium text-fg-secondary uppercase tracking-wide" }, o.value_terms), descriptionContent && /* @__PURE__ */ React63.createElement(ModalSection, { title: "Offer details" }, /* @__PURE__ */ React63.createElement("div", { className: "prose prose-sm font-body text-fg-primary max-w-none" }, o.description ? /* @__PURE__ */ React63.createElement("p", { className: "text-fg-primary" }, o.description) : /* @__PURE__ */ React63.createElement(MarkdownRenderer2, { content: o.first_service_description_markdown }))), o.expires_at && (() => {
19452
- const d = new Date(o.expires_at);
19453
- if (Number.isNaN(d.getTime())) return null;
19454
- return /* @__PURE__ */ React63.createElement("p", { className: "text-sm text-tertiary" }, "Expires ", d.toLocaleDateString(void 0, { dateStyle: "medium" }));
19455
- })(), relatedServices.length > 0 && /* @__PURE__ */ React63.createElement(ModalSection, { title: "Related services" }, /* @__PURE__ */ React63.createElement("ul", { className: "space-y-4" }, relatedServices.map((s) => /* @__PURE__ */ React63.createElement("li", { key: s.id, className: "border border-secondary rounded-lg p-4 bg-secondary/20" }, /* @__PURE__ */ React63.createElement("p", { className: "font-display font-medium text-fg-primary" }, s.name), "description_markdown" in s && s.description_markdown ? /* @__PURE__ */ React63.createElement("div", { className: "mt-2 prose prose-sm font-body text-fg-secondary max-w-none" }, /* @__PURE__ */ React63.createElement(MarkdownRenderer2, { content: s.description_markdown })) : s.summary ? /* @__PURE__ */ React63.createElement("p", { className: "mt-2 font-body text-sm text-fg-secondary" }, s.summary) : null)))), relatedPackages.length > 0 && /* @__PURE__ */ React63.createElement(ModalSection, { title: "Related packages" }, /* @__PURE__ */ React63.createElement("ul", { className: "space-y-4" }, relatedPackages.map((pkg) => /* @__PURE__ */ React63.createElement("li", { key: pkg.id, className: "border border-secondary rounded-lg p-4 bg-secondary/20" }, /* @__PURE__ */ React63.createElement("p", { className: "font-display font-medium text-fg-primary" }, pkg.name), "description_markdown" in pkg && pkg.description_markdown ? /* @__PURE__ */ React63.createElement("div", { className: "mt-2 prose prose-sm font-body text-fg-secondary max-w-none" }, /* @__PURE__ */ React63.createElement(MarkdownRenderer2, { content: pkg.description_markdown })) : pkg.summary ? /* @__PURE__ */ React63.createElement("p", { className: "mt-2 font-body text-sm text-fg-secondary" }, pkg.summary) : null)))));
19456
- }
19363
+ var _a;
19457
19364
  if (detail.type === "package") {
19458
19365
  const p = detail.item;
19459
- const categoryLine = ((_e = p.category_names) == null ? void 0 : _e.length) ? p.category_names.join(" | ") : null;
19366
+ const categoryLine = ((_a = p.category_names) == null ? void 0 : _a.length) ? p.category_names.join(" | ") : null;
19460
19367
  const descriptionMarkdown2 = p.description_markdown || p.summary || p.first_service_description_markdown;
19461
- return /* @__PURE__ */ React63.createElement("div", { className: "space-y-6" }, categoryLine && /* @__PURE__ */ React63.createElement("p", { className: "text-sm font-medium text-fg-secondary uppercase tracking-wide" }, categoryLine), descriptionMarkdown2 && /* @__PURE__ */ React63.createElement(ModalSection, { title: "Package details" }, /* @__PURE__ */ React63.createElement("div", { className: "prose prose-sm font-body text-fg-primary max-w-none" }, /* @__PURE__ */ React63.createElement(MarkdownRenderer2, { content: descriptionMarkdown2 }))), p.package_items && p.package_items.length > 0 && /* @__PURE__ */ React63.createElement(ModalSection, { title: "What's included" }, /* @__PURE__ */ React63.createElement("ul", { className: "space-y-4" }, p.package_items.map((pi, i) => {
19462
- var _a2, _b2, _c2, _d2, _e2, _f, _g, _h, _i;
19368
+ const packageSpecials = getActivePublicOffers(p.offers);
19369
+ return /* @__PURE__ */ React60.createElement("div", { className: "space-y-6" }, categoryLine && /* @__PURE__ */ React60.createElement("p", { className: "text-sm font-medium text-fg-secondary uppercase tracking-wide" }, categoryLine), /* @__PURE__ */ React60.createElement(ActiveOffersCallout, { offers: packageSpecials }), descriptionMarkdown2 && /* @__PURE__ */ React60.createElement(ModalSection, { title: "Package details" }, /* @__PURE__ */ React60.createElement("div", { className: "prose prose-sm font-body text-fg-primary max-w-none" }, /* @__PURE__ */ React60.createElement(MarkdownRenderer2, { content: descriptionMarkdown2 }))), p.package_items && p.package_items.length > 0 && /* @__PURE__ */ React60.createElement(ModalSection, { title: "What's included" }, /* @__PURE__ */ React60.createElement("ul", { className: "space-y-4" }, p.package_items.map((pi, i) => {
19370
+ var _a2, _b, _c, _d, _e, _f, _g, _h, _i;
19463
19371
  const fullItem = ((_a2 = pi.service_item) == null ? void 0 : _a2.id) != null ? serviceItems.find((si2) => si2.id === pi.service_item.id) : null;
19464
- const name = (_d2 = (_c2 = fullItem == null ? void 0 : fullItem.name) != null ? _c2 : (_b2 = pi.service_item) == null ? void 0 : _b2.name) != null ? _d2 : "Item";
19465
- const desc = (_g = (_e2 = fullItem == null ? void 0 : fullItem.summary) != null ? _e2 : fullItem == null ? void 0 : fullItem.description_markdown) != null ? _g : (_f = pi.service_item) == null ? void 0 : _f.summary;
19466
- return /* @__PURE__ */ React63.createElement("li", { key: (_i = (_h = pi.service_item) == null ? void 0 : _h.id) != null ? _i : i, className: "border border-secondary rounded-lg p-4 bg-secondary/20" }, /* @__PURE__ */ React63.createElement("p", { className: "font-display font-medium text-fg-primary" }, pi.quantity > 1 && `${pi.quantity}\xD7 `, name), desc && /* @__PURE__ */ React63.createElement("div", { className: "mt-2 prose prose-sm font-body text-fg-secondary max-w-none" }, typeof desc === "string" && !desc.includes("\n") && !desc.match(/[#*\[\]]/) ? /* @__PURE__ */ React63.createElement("p", null, desc) : /* @__PURE__ */ React63.createElement(MarkdownRenderer2, { content: desc })));
19467
- }))), p.pricing_info && /* @__PURE__ */ React63.createElement(ModalSection, { title: "Pricing" }, /* @__PURE__ */ React63.createElement("div", { className: "rounded-lg border border-secondary bg-secondary/40 p-4" }, /* @__PURE__ */ React63.createElement("div", { className: "prose prose-sm font-body text-fg-primary max-w-none" }, /* @__PURE__ */ React63.createElement(MarkdownRenderer2, { content: p.pricing_info })))));
19372
+ const name = (_d = (_c = fullItem == null ? void 0 : fullItem.name) != null ? _c : (_b = pi.service_item) == null ? void 0 : _b.name) != null ? _d : "Item";
19373
+ const desc = (_g = (_e = fullItem == null ? void 0 : fullItem.summary) != null ? _e : fullItem == null ? void 0 : fullItem.description_markdown) != null ? _g : (_f = pi.service_item) == null ? void 0 : _f.summary;
19374
+ return /* @__PURE__ */ React60.createElement("li", { key: (_i = (_h = pi.service_item) == null ? void 0 : _h.id) != null ? _i : i, className: "border border-secondary rounded-lg p-4 bg-secondary/20" }, /* @__PURE__ */ React60.createElement("p", { className: "font-display font-medium text-fg-primary" }, pi.quantity > 1 && `${pi.quantity}\xD7 `, name), desc && /* @__PURE__ */ React60.createElement("div", { className: "mt-2 prose prose-sm font-body text-fg-secondary max-w-none" }, typeof desc === "string" && !desc.includes("\n") && !desc.match(/[#*\[\]]/) ? /* @__PURE__ */ React60.createElement("p", null, desc) : /* @__PURE__ */ React60.createElement(MarkdownRenderer2, { content: desc })));
19375
+ }))), p.pricing_info && /* @__PURE__ */ React60.createElement(ModalSection, { title: "Pricing" }, /* @__PURE__ */ React60.createElement("div", { className: "rounded-lg border border-secondary bg-secondary/40 p-4" }, /* @__PURE__ */ React60.createElement("div", { className: "prose prose-sm font-body text-fg-primary max-w-none" }, /* @__PURE__ */ React60.createElement(MarkdownRenderer2, { content: p.pricing_info })))));
19468
19376
  }
19469
19377
  const si = detail.item;
19470
19378
  const priceStr = formatPriceCents(si.price_cents);
19471
19379
  const summary = si.summary || si.service_summary;
19472
19380
  const descriptionMarkdown = si.description_markdown || si.service_description_markdown;
19473
- return /* @__PURE__ */ React63.createElement("div", { className: "space-y-6" }, si.service_name && /* @__PURE__ */ React63.createElement("p", { className: "text-sm font-medium text-fg-secondary uppercase tracking-wide" }, si.service_name), priceStr && /* @__PURE__ */ React63.createElement(ModalSection, { title: "Price" }, /* @__PURE__ */ React63.createElement("p", { className: "font-display text-lg font-normal text-fg-primary" }, priceStr), si.duration_minutes != null && si.duration_minutes > 0 && /* @__PURE__ */ React63.createElement("p", { className: "font-body text-sm text-fg-secondary mt-1" }, "Duration: ", si.duration_minutes, " min")), summary && /* @__PURE__ */ React63.createElement(ModalSection, { title: "Overview" }, /* @__PURE__ */ React63.createElement("p", { className: "font-body text-fg-primary" }, summary)), descriptionMarkdown && /* @__PURE__ */ React63.createElement(ModalSection, { title: "Full description" }, /* @__PURE__ */ React63.createElement("div", { className: "prose prose-sm font-body text-fg-primary max-w-none" }, /* @__PURE__ */ React63.createElement(MarkdownRenderer2, { content: descriptionMarkdown }))), si.pricing_info && /* @__PURE__ */ React63.createElement(ModalSection, { title: "Pricing details" }, /* @__PURE__ */ React63.createElement("div", { className: "rounded-lg border border-secondary bg-secondary/40 p-4" }, /* @__PURE__ */ React63.createElement("div", { className: "prose prose-sm font-body text-fg-primary max-w-none" }, /* @__PURE__ */ React63.createElement(MarkdownRenderer2, { content: si.pricing_info })))));
19381
+ const itemSpecials = getActivePublicOffers(si.offers);
19382
+ return /* @__PURE__ */ React60.createElement("div", { className: "space-y-6" }, si.service_name && /* @__PURE__ */ React60.createElement("p", { className: "text-sm font-medium text-fg-secondary uppercase tracking-wide" }, si.service_name), /* @__PURE__ */ React60.createElement(ActiveOffersCallout, { offers: itemSpecials }), priceStr && /* @__PURE__ */ React60.createElement(ModalSection, { title: "Price" }, /* @__PURE__ */ React60.createElement("p", { className: "font-display text-lg font-normal text-fg-primary" }, priceStr), si.duration_minutes != null && si.duration_minutes > 0 && /* @__PURE__ */ React60.createElement("p", { className: "font-body text-sm text-fg-secondary mt-1" }, "Duration: ", si.duration_minutes, " min")), summary && /* @__PURE__ */ React60.createElement(ModalSection, { title: "Overview" }, /* @__PURE__ */ React60.createElement("p", { className: "font-body text-fg-primary" }, summary)), descriptionMarkdown && /* @__PURE__ */ React60.createElement(ModalSection, { title: "Full description" }, /* @__PURE__ */ React60.createElement("div", { className: "prose prose-sm font-body text-fg-primary max-w-none" }, /* @__PURE__ */ React60.createElement(MarkdownRenderer2, { content: descriptionMarkdown }))), si.pricing_info && /* @__PURE__ */ React60.createElement(ModalSection, { title: "Pricing details" }, /* @__PURE__ */ React60.createElement("div", { className: "rounded-lg border border-secondary bg-secondary/40 p-4" }, /* @__PURE__ */ React60.createElement("div", { className: "prose prose-sm font-body text-fg-primary max-w-none" }, /* @__PURE__ */ React60.createElement(MarkdownRenderer2, { content: si.pricing_info })))));
19474
19383
  }
19475
19384
  function ServiceMenuSection({
19476
19385
  title = "Service Menu",
19477
19386
  subtitle,
19478
- offers = null,
19479
19387
  packages = null,
19480
19388
  services = null,
19481
19389
  websitePhotos,
@@ -19485,24 +19393,20 @@ function ServiceMenuSection({
19485
19393
  servicesRowTitle = "Treatments",
19486
19394
  variant = "section"
19487
19395
  }) {
19488
- const offerList = React63.useMemo(
19489
- () => Array.isArray(offers) ? offers.filter((o) => !o.expired) : [],
19490
- [offers]
19491
- );
19492
- const packageList = React63.useMemo(
19396
+ const packageList = React60.useMemo(
19493
19397
  () => Array.isArray(packages) ? packages : [],
19494
19398
  [packages]
19495
19399
  );
19496
- const serviceList = React63.useMemo(
19400
+ const serviceList = React60.useMemo(
19497
19401
  () => Array.isArray(services) ? services : [],
19498
19402
  [services]
19499
19403
  );
19500
- const serviceItemIdToService = React63.useMemo(() => {
19404
+ const serviceItemIdToService = React60.useMemo(() => {
19501
19405
  const m = /* @__PURE__ */ new Map();
19502
19406
  serviceList.forEach((s) => (s.service_items || []).forEach((si) => m.set(si.id, s)));
19503
19407
  return m;
19504
19408
  }, [serviceList]);
19505
- const packagesForMenu = React63.useMemo(
19409
+ const packagesForMenu = React60.useMemo(
19506
19410
  () => packageList.map((pkg) => {
19507
19411
  var _a, _b, _c;
19508
19412
  const category_names = [
@@ -19520,20 +19424,6 @@ function ServiceMenuSection({
19520
19424
  }),
19521
19425
  [packageList, serviceItemIdToService]
19522
19426
  );
19523
- const offersForMenu = React63.useMemo(
19524
- () => offerList.map((offer) => {
19525
- var _a, _b, _c;
19526
- const category_names = (_b = ((_a = offer.category_names) == null ? void 0 : _a.length) ? offer.category_names : null) != null ? _b : (offer.service_ids || []).map((id3) => {
19527
- var _a2;
19528
- return (_a2 = serviceList.find((s) => s.id === id3)) == null ? void 0 : _a2.name;
19529
- }).filter(Boolean);
19530
- const firstServiceId = (_c = offer.service_ids) == null ? void 0 : _c[0];
19531
- const firstService = firstServiceId ? serviceList.find((s) => s.id === firstServiceId) : void 0;
19532
- const first_service_description_markdown = (firstService == null ? void 0 : firstService.description_markdown) || (firstService == null ? void 0 : firstService.summary) || null;
19533
- return __spreadProps(__spreadValues({}, offer), { category_names: category_names != null ? category_names : [], first_service_description_markdown });
19534
- }),
19535
- [offerList, serviceList]
19536
- );
19537
19427
  const serviceItemsForMenu = serviceList.flatMap(
19538
19428
  (s) => (s.service_items || []).map((si) => __spreadProps(__spreadValues({}, si), {
19539
19429
  service_name: s.name,
@@ -19541,10 +19431,9 @@ function ServiceMenuSection({
19541
19431
  service_description_markdown: s.description_markdown
19542
19432
  }))
19543
19433
  );
19544
- const hasAny = offersForMenu.length > 0 || packagesForMenu.length > 0 || serviceItemsForMenu.length > 0;
19434
+ const hasAny = packagesForMenu.length > 0 || serviceItemsForMenu.length > 0;
19545
19435
  const CAROUSEL_MIN = 3;
19546
19436
  const isPage = variant === "page";
19547
- const offersLayout = isPage ? "grid" : offersForMenu.length >= CAROUSEL_MIN ? "carousel" : "grid";
19548
19437
  const packagesLayout = isPage ? "grid" : packagesForMenu.length >= CAROUSEL_MIN ? "carousel" : "grid";
19549
19438
  const serviceItemsLayout = isPage ? "grid" : serviceItemsForMenu.length >= CAROUSEL_MIN ? "carousel" : "grid";
19550
19439
  const [detailItem, setDetailItem] = useState30(null);
@@ -19562,31 +19451,6 @@ function ServiceMenuSection({
19562
19451
  };
19563
19452
  }, []);
19564
19453
  const closeModal = useCallback10(() => setDetailItem(null), []);
19565
- const renderOfferCard = useCallback10(
19566
- (offer, index) => {
19567
- var _a, _b;
19568
- const categorySubtitle = ((_a = offer.category_names) == null ? void 0 : _a.length) ? offer.category_names.join(" | ") : (_b = offer.value_terms) != null ? _b : null;
19569
- const cardDesc = offer.description || offer.first_service_description_markdown;
19570
- const plainDesc = cardDesc ? (typeof cardDesc === "string" ? cardDesc : "").replace(/[#*`\[\]]/g, "").replace(/\n+/g, " ").trim() : "";
19571
- const descText = plainDesc.length > 120 ? plainDesc.slice(0, 120) + "\u2026" : plainDesc;
19572
- return /* @__PURE__ */ React63.createElement(
19573
- GridCardWithImage,
19574
- {
19575
- photoAttachments: offer.photo_attachments,
19576
- fallbackId: offer.id,
19577
- fallbackAlt: offer.name,
19578
- title: offer.name,
19579
- subtitle: categorySubtitle,
19580
- onClick: () => setDetailItem({ type: "offer", item: offer }),
19581
- websitePhotos,
19582
- companyInformation,
19583
- cycleSeed: `offer-${offer.id}-${index}`
19584
- },
19585
- descText && /* @__PURE__ */ React63.createElement("p", { className: "font-body text-sm text-tertiary mt-1 line-clamp-2" }, descText)
19586
- );
19587
- },
19588
- [websitePhotos, companyInformation]
19589
- );
19590
19454
  const renderPackageCard = useCallback10(
19591
19455
  (pkg, index) => {
19592
19456
  var _a;
@@ -19594,7 +19458,8 @@ function ServiceMenuSection({
19594
19458
  const cardDesc = pkg.description_markdown || pkg.summary || pkg.first_service_description_markdown;
19595
19459
  const plainDesc = cardDesc ? cardDesc.replace(/[#*`\[\]]/g, "").replace(/\n+/g, " ").trim() : "";
19596
19460
  const descText = plainDesc.length > 120 ? plainDesc.slice(0, 120) + "\u2026" : plainDesc;
19597
- return /* @__PURE__ */ React63.createElement(
19461
+ const hasSpecial = getActivePublicOffers(pkg.offers).length > 0;
19462
+ return /* @__PURE__ */ React60.createElement(
19598
19463
  GridCardWithImage,
19599
19464
  {
19600
19465
  photoAttachments: pkg.photo_attachments,
@@ -19605,9 +19470,10 @@ function ServiceMenuSection({
19605
19470
  onClick: () => setDetailItem({ type: "package", item: pkg }),
19606
19471
  websitePhotos,
19607
19472
  companyInformation,
19608
- cycleSeed: `pkg-${pkg.id}-${index}`
19473
+ cycleSeed: `pkg-${pkg.id}-${index}`,
19474
+ hasSpecial
19609
19475
  },
19610
- descText && /* @__PURE__ */ React63.createElement("p", { className: "font-body text-sm text-tertiary mt-1 line-clamp-2" }, descText)
19476
+ descText && /* @__PURE__ */ React60.createElement("p", { className: "font-body text-sm text-tertiary mt-1 line-clamp-2" }, descText)
19611
19477
  );
19612
19478
  },
19613
19479
  [websitePhotos, companyInformation]
@@ -19615,7 +19481,7 @@ function ServiceMenuSection({
19615
19481
  const renderServiceItemCard = useCallback10(
19616
19482
  (si, index) => {
19617
19483
  var _a, _b, _c, _d;
19618
- return /* @__PURE__ */ React63.createElement(
19484
+ return /* @__PURE__ */ React60.createElement(
19619
19485
  GridCardWithImage,
19620
19486
  {
19621
19487
  photoAttachments: si.photo_attachments,
@@ -19626,15 +19492,16 @@ function ServiceMenuSection({
19626
19492
  onClick: () => setDetailItem({ type: "service_item", item: si }),
19627
19493
  websitePhotos,
19628
19494
  companyInformation,
19629
- cycleSeed: `service-item-${si.id}-${index}`
19495
+ cycleSeed: `service-item-${si.id}-${index}`,
19496
+ hasSpecial: getActivePublicOffers(si.offers).length > 0
19630
19497
  },
19631
- formatPriceCents(si.price_cents) && /* @__PURE__ */ React63.createElement("p", { className: "font-body text-sm font-medium text-fg-primary mt-1" }, formatPriceCents(si.price_cents)),
19498
+ formatPriceCents(si.price_cents) && /* @__PURE__ */ React60.createElement("p", { className: "font-body text-sm font-medium text-fg-primary mt-1" }, formatPriceCents(si.price_cents)),
19632
19499
  (() => {
19633
19500
  const desc = si.summary || si.description_markdown || si.service_summary || si.service_description_markdown;
19634
19501
  if (!desc) return null;
19635
19502
  const plain = desc.replace(/[#*`\[\]]/g, "").replace(/\n+/g, " ").trim();
19636
19503
  const text = plain.length > 120 ? plain.slice(0, 120) + "\u2026" : plain;
19637
- return /* @__PURE__ */ React63.createElement("p", { className: "font-body text-sm text-tertiary mt-1 line-clamp-2" }, text);
19504
+ return /* @__PURE__ */ React60.createElement("p", { className: "font-body text-sm text-tertiary mt-1 line-clamp-2" }, text);
19638
19505
  })()
19639
19506
  );
19640
19507
  },
@@ -19642,15 +19509,7 @@ function ServiceMenuSection({
19642
19509
  );
19643
19510
  if (!hasAny) return null;
19644
19511
  const modalTitle = detailItem ? detailItem.item.name : "";
19645
- return /* @__PURE__ */ React63.createElement("section", { className: variant === "page" ? "py-12 md:py-20" : "py-12 md:py-16" }, /* @__PURE__ */ React63.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, variant === "section" && /* @__PURE__ */ React63.createElement("div", { className: "mx-auto max-w-3xl text-center mb-12 md:mb-16" }, title && /* @__PURE__ */ React63.createElement("h2", { className: "font-display text-4xl font-normal text-fg-primary md:text-5xl" }, title), subtitle && /* @__PURE__ */ React63.createElement("p", { className: "mt-4 font-display text-lg leading-relaxed text-tertiary md:text-xl max-w-3xl mx-auto" }, subtitle)), /* @__PURE__ */ React63.createElement(
19646
- MenuBlock,
19647
- {
19648
- rowTitle: "Offers",
19649
- items: offersForMenu,
19650
- layout: offersLayout,
19651
- renderItem: renderOfferCard
19652
- }
19653
- ), /* @__PURE__ */ React63.createElement(
19512
+ return /* @__PURE__ */ React60.createElement("section", { className: variant === "page" ? "py-12 md:py-20" : "py-12 md:py-16" }, /* @__PURE__ */ React60.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, variant === "section" && /* @__PURE__ */ React60.createElement("div", { className: "mx-auto max-w-3xl text-center mb-12 md:mb-16" }, title && /* @__PURE__ */ React60.createElement("h2", { className: "font-display text-4xl font-normal text-fg-primary md:text-5xl" }, title), subtitle && /* @__PURE__ */ React60.createElement("p", { className: "mt-4 font-display text-lg leading-relaxed text-tertiary md:text-xl max-w-3xl mx-auto" }, subtitle)), /* @__PURE__ */ React60.createElement(
19654
19513
  MenuBlock,
19655
19514
  {
19656
19515
  rowTitle: "Packages",
@@ -19658,7 +19517,7 @@ function ServiceMenuSection({
19658
19517
  layout: packagesLayout,
19659
19518
  renderItem: renderPackageCard
19660
19519
  }
19661
- ), /* @__PURE__ */ React63.createElement(
19520
+ ), /* @__PURE__ */ React60.createElement(
19662
19521
  MenuBlock,
19663
19522
  {
19664
19523
  rowTitle: servicesRowTitle,
@@ -19666,8 +19525,8 @@ function ServiceMenuSection({
19666
19525
  layout: serviceItemsLayout,
19667
19526
  renderItem: renderServiceItemCard
19668
19527
  }
19669
- ), variant === "section" && viewAllHref && viewAllText && /* @__PURE__ */ React63.createElement("div", { className: "mt-12 text-center" }, /* @__PURE__ */ React63.createElement(Button2, { href: viewAllHref, color: "primary", size: "md" }, viewAllText))), portalTarget && detailItem && createPortal(
19670
- /* @__PURE__ */ React63.createElement(
19528
+ ), variant === "section" && viewAllHref && viewAllText && /* @__PURE__ */ React60.createElement("div", { className: "mt-12 text-center" }, /* @__PURE__ */ React60.createElement(Button2, { href: viewAllHref, color: "primary", size: "md" }, viewAllText))), portalTarget && detailItem && createPortal(
19529
+ /* @__PURE__ */ React60.createElement(
19671
19530
  Modal,
19672
19531
  {
19673
19532
  isOpen: true,
@@ -19675,7 +19534,7 @@ function ServiceMenuSection({
19675
19534
  title: modalTitle,
19676
19535
  maxWidth: "2xl"
19677
19536
  },
19678
- /* @__PURE__ */ React63.createElement(
19537
+ /* @__PURE__ */ React60.createElement(
19679
19538
  DetailModalContent,
19680
19539
  {
19681
19540
  detail: detailItem,
@@ -19695,9 +19554,9 @@ function createThemedExport2(componentName, BaseComponent) {
19695
19554
  const { theme } = useTheme();
19696
19555
  try {
19697
19556
  const Component2 = getThemedComponent(componentName, theme);
19698
- return React64.createElement(Component2, props);
19557
+ return React61.createElement(Component2, props);
19699
19558
  } catch (e) {
19700
- return React64.createElement(BaseComponent, props);
19559
+ return React61.createElement(BaseComponent, props);
19701
19560
  }
19702
19561
  };
19703
19562
  }
@@ -19736,9 +19595,6 @@ var PolicyDocumentSection2 = PolicyDocumentSection;
19736
19595
  var SocialMediaHero3 = createThemedExport2("hero-social-media", SocialMediaHero);
19737
19596
  var TestimonialsHero3 = createThemedExport2("hero-testimonials", TestimonialsHero);
19738
19597
  var HomeHeroComponent2 = createThemedExport2("home-hero-component", HomeHeroComponent);
19739
- var OffersSection2 = createThemedExport2("offers-section", OffersSection);
19740
- var OffersGallery2 = createThemedExport2("offers-gallery", OffersGallery);
19741
- var OfferDetailSection2 = createThemedExport2("offer-detail", OfferDetailSection);
19742
19598
 
19743
19599
  // src/lib/actions.ts
19744
19600
  var API_URL = process.env.API_URL || "http://localhost:3000/api/v1";
@@ -19844,7 +19700,7 @@ async function submitLeadFormAction(formData) {
19844
19700
  }
19845
19701
 
19846
19702
  // src/design_system/components/ChatWidget.tsx
19847
- import React65, { useState as useState31, useEffect as useEffect12, useRef as useRef18, useCallback as useCallback11 } from "react";
19703
+ import React62, { useState as useState31, useEffect as useEffect12, useRef as useRef18, useCallback as useCallback11 } from "react";
19848
19704
  import { X, MessageChatSquare } from "@untitledui/icons";
19849
19705
  var formatTime = (isoString) => {
19850
19706
  const date = new Date(isoString);
@@ -19998,7 +19854,7 @@ function ChatWidget({
19998
19854
  } : void 0;
19999
19855
  const widgetBrandClass = primaryColor ? "bg-[var(--widget-primary)]" : "bg-brand-solid";
20000
19856
  const widgetBrandHoverClass = primaryColor ? "hover:bg-[var(--widget-primary-hover)]" : "hover:bg-brand-solid_hover";
20001
- return /* @__PURE__ */ React65.createElement(
19857
+ return /* @__PURE__ */ React62.createElement(
20002
19858
  "div",
20003
19859
  {
20004
19860
  className: cx(
@@ -20007,7 +19863,7 @@ function ChatWidget({
20007
19863
  ),
20008
19864
  style: customColorVars
20009
19865
  },
20010
- !isOpen && /* @__PURE__ */ React65.createElement(
19866
+ !isOpen && /* @__PURE__ */ React62.createElement(
20011
19867
  "button",
20012
19868
  {
20013
19869
  onClick: () => setIsOpen(true),
@@ -20017,15 +19873,15 @@ function ChatWidget({
20017
19873
  ),
20018
19874
  "aria-label": "Open chat"
20019
19875
  },
20020
- /* @__PURE__ */ React65.createElement(MessageChatSquare, { className: "size-6" })
19876
+ /* @__PURE__ */ React62.createElement(MessageChatSquare, { className: "size-6" })
20021
19877
  ),
20022
- isOpen && /* @__PURE__ */ React65.createElement("div", { className: "flex h-[500px] w-[380px] flex-col overflow-hidden rounded-xl bg-primary shadow-2xl ring-1 ring-secondary ring-inset" }, /* @__PURE__ */ React65.createElement("div", { className: cx(
19878
+ isOpen && /* @__PURE__ */ React62.createElement("div", { className: "flex h-[500px] w-[380px] flex-col overflow-hidden rounded-xl bg-primary shadow-2xl ring-1 ring-secondary ring-inset" }, /* @__PURE__ */ React62.createElement("div", { className: cx(
20023
19879
  "flex items-center justify-between gap-3 p-4 text-white",
20024
19880
  widgetBrandClass
20025
- ) }, /* @__PURE__ */ React65.createElement("div", { className: "flex min-w-0 flex-1 flex-col gap-2" }, /* @__PURE__ */ React65.createElement("h3", { className: "m-0 text-lg font-semibold leading-tight" }, "Chat with us"), (() => {
19881
+ ) }, /* @__PURE__ */ React62.createElement("div", { className: "flex min-w-0 flex-1 flex-col gap-2" }, /* @__PURE__ */ React62.createElement("h3", { className: "m-0 text-lg font-semibold leading-tight" }, "Chat with us"), (() => {
20026
19882
  const membersWithPhotos = teamMembers.filter((m) => m.photo_url);
20027
19883
  if (membersWithPhotos.length === 0) return null;
20028
- return /* @__PURE__ */ React65.createElement("div", { className: "flex -space-x-2" }, membersWithPhotos.slice(0, 5).map((member) => /* @__PURE__ */ React65.createElement(
19884
+ return /* @__PURE__ */ React62.createElement("div", { className: "flex -space-x-2" }, membersWithPhotos.slice(0, 5).map((member) => /* @__PURE__ */ React62.createElement(
20029
19885
  Avatar,
20030
19886
  {
20031
19887
  key: member.id,
@@ -20034,28 +19890,28 @@ function ChatWidget({
20034
19890
  alt: member.name,
20035
19891
  className: "bg-white ring-2 ring-white"
20036
19892
  }
20037
- )), membersWithPhotos.length > 5 && /* @__PURE__ */ React65.createElement(
19893
+ )), membersWithPhotos.length > 5 && /* @__PURE__ */ React62.createElement(
20038
19894
  Avatar,
20039
19895
  {
20040
19896
  size: "xs",
20041
19897
  className: "bg-white ring-2 ring-white",
20042
- placeholder: /* @__PURE__ */ React65.createElement("span", { className: "flex items-center justify-center text-xs font-semibold text-tertiary" }, "+", membersWithPhotos.length - 5)
19898
+ placeholder: /* @__PURE__ */ React62.createElement("span", { className: "flex items-center justify-center text-xs font-semibold text-tertiary" }, "+", membersWithPhotos.length - 5)
20043
19899
  }
20044
19900
  ));
20045
- })()), /* @__PURE__ */ React65.createElement(
19901
+ })()), /* @__PURE__ */ React62.createElement(
20046
19902
  "button",
20047
19903
  {
20048
19904
  onClick: () => setIsOpen(false),
20049
19905
  className: "cursor-pointer rounded-md p-1 text-white outline-none transition-colors hover:bg-white/10 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",
20050
19906
  "aria-label": "Close chat"
20051
19907
  },
20052
- /* @__PURE__ */ React65.createElement(X, { className: "size-5" })
20053
- )), /* @__PURE__ */ React65.createElement("ul", { className: "flex flex-1 flex-col gap-4 overflow-y-auto px-4 py-4" }, messages.length === 0 && /* @__PURE__ */ React65.createElement("li", { className: "mt-5 text-center text-sm text-quaternary" }, "Start a conversation! We're here to help."), messages.map((message, index) => {
19908
+ /* @__PURE__ */ React62.createElement(X, { className: "size-5" })
19909
+ )), /* @__PURE__ */ React62.createElement("ul", { className: "flex flex-1 flex-col gap-4 overflow-y-auto px-4 py-4" }, messages.length === 0 && /* @__PURE__ */ React62.createElement("li", { className: "mt-5 text-center text-sm text-quaternary" }, "Start a conversation! We're here to help."), messages.map((message, index) => {
20054
19910
  var _a, _b, _c, _d;
20055
19911
  const isUser = message.sender_type === "contact";
20056
19912
  const prevMessage = index > 0 ? messages[index - 1] : null;
20057
19913
  const showAvatar = !isUser && (!prevMessage || prevMessage.sender_type === "contact");
20058
- return /* @__PURE__ */ React65.createElement(
19914
+ return /* @__PURE__ */ React62.createElement(
20059
19915
  "li",
20060
19916
  {
20061
19917
  key: message.id,
@@ -20064,7 +19920,7 @@ function ChatWidget({
20064
19920
  isUser ? "self-end pl-10" : "pr-8"
20065
19921
  )
20066
19922
  },
20067
- !isUser && showAvatar && /* @__PURE__ */ React65.createElement(
19923
+ !isUser && showAvatar && /* @__PURE__ */ React62.createElement(
20068
19924
  Avatar,
20069
19925
  {
20070
19926
  size: "sm",
@@ -20074,8 +19930,8 @@ function ChatWidget({
20074
19930
  initials: ((_c = teamMembers[0]) == null ? void 0 : _c.photo_url) ? void 0 : (((_d = teamMembers[0]) == null ? void 0 : _d.name) || message.sender_display_name).split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2)
20075
19931
  }
20076
19932
  ),
20077
- !isUser && !showAvatar && /* @__PURE__ */ React65.createElement("div", { className: "size-8 shrink-0" }),
20078
- /* @__PURE__ */ React65.createElement("article", { className: "flex min-w-0 flex-1 flex-col gap-1" }, /* @__PURE__ */ React65.createElement("header", { className: "flex items-center gap-2 px-0.5" }, /* @__PURE__ */ React65.createElement("cite", { className: "flex-1 truncate text-xs font-medium text-tertiary not-italic" }, isUser ? providedDisplayName || "You" : message.sender_display_name), /* @__PURE__ */ React65.createElement("time", { className: "text-xs text-quaternary", dateTime: message.created_at }, formatTime(message.created_at))), /* @__PURE__ */ React65.createElement(
19933
+ !isUser && !showAvatar && /* @__PURE__ */ React62.createElement("div", { className: "size-8 shrink-0" }),
19934
+ /* @__PURE__ */ React62.createElement("article", { className: "flex min-w-0 flex-1 flex-col gap-1" }, /* @__PURE__ */ React62.createElement("header", { className: "flex items-center gap-2 px-0.5" }, /* @__PURE__ */ React62.createElement("cite", { className: "flex-1 truncate text-xs font-medium text-tertiary not-italic" }, isUser ? providedDisplayName || "You" : message.sender_display_name), /* @__PURE__ */ React62.createElement("time", { className: "text-xs text-quaternary", dateTime: message.created_at }, formatTime(message.created_at))), /* @__PURE__ */ React62.createElement(
20079
19935
  "div",
20080
19936
  {
20081
19937
  className: cx(
@@ -20089,7 +19945,7 @@ function ChatWidget({
20089
19945
  message.body
20090
19946
  ))
20091
19947
  );
20092
- }), waitingForReply && /* @__PURE__ */ React65.createElement("li", { className: "relative flex items-start gap-3 pr-8" }, /* @__PURE__ */ React65.createElement(Avatar, { size: "sm", className: "shrink-0" }), /* @__PURE__ */ React65.createElement("article", { className: "flex min-w-0 flex-1 flex-col gap-1" }, /* @__PURE__ */ React65.createElement("div", { className: "flex h-9 w-16 items-center justify-center gap-1 rounded-xl rounded-tl-none bg-secondary ring-1 ring-inset ring-secondary" }, /* @__PURE__ */ React65.createElement("div", { className: "size-1.5 animate-bounce rounded-full bg-fg-tertiary [animation-delay:-0.3s]" }), /* @__PURE__ */ React65.createElement("div", { className: "size-1.5 animate-bounce rounded-full bg-fg-quaternary [animation-delay:-0.15s]" }), /* @__PURE__ */ React65.createElement("div", { className: "size-1.5 animate-bounce rounded-full bg-fg-tertiary" })))), /* @__PURE__ */ React65.createElement("div", { ref: messagesEndRef })), /* @__PURE__ */ React65.createElement("div", { className: "flex gap-2 border-t border-secondary p-3" }, /* @__PURE__ */ React65.createElement(
19948
+ }), waitingForReply && /* @__PURE__ */ React62.createElement("li", { className: "relative flex items-start gap-3 pr-8" }, /* @__PURE__ */ React62.createElement(Avatar, { size: "sm", className: "shrink-0" }), /* @__PURE__ */ React62.createElement("article", { className: "flex min-w-0 flex-1 flex-col gap-1" }, /* @__PURE__ */ React62.createElement("div", { className: "flex h-9 w-16 items-center justify-center gap-1 rounded-xl rounded-tl-none bg-secondary ring-1 ring-inset ring-secondary" }, /* @__PURE__ */ React62.createElement("div", { className: "size-1.5 animate-bounce rounded-full bg-fg-tertiary [animation-delay:-0.3s]" }), /* @__PURE__ */ React62.createElement("div", { className: "size-1.5 animate-bounce rounded-full bg-fg-quaternary [animation-delay:-0.15s]" }), /* @__PURE__ */ React62.createElement("div", { className: "size-1.5 animate-bounce rounded-full bg-fg-tertiary" })))), /* @__PURE__ */ React62.createElement("div", { ref: messagesEndRef })), /* @__PURE__ */ React62.createElement("div", { className: "flex gap-2 border-t border-secondary p-3" }, /* @__PURE__ */ React62.createElement(
20093
19949
  "input",
20094
19950
  {
20095
19951
  type: "text",
@@ -20100,7 +19956,7 @@ function ChatWidget({
20100
19956
  disabled: isLoading,
20101
19957
  className: "flex-1 rounded-lg border border-secondary bg-primary px-3 py-2.5 text-sm text-primary outline-none ring-brand transition-colors placeholder:text-placeholder focus:border-brand focus:ring-1 disabled:cursor-not-allowed disabled:bg-disabled"
20102
19958
  }
20103
- ), /* @__PURE__ */ React65.createElement(
19959
+ ), /* @__PURE__ */ React62.createElement(
20104
19960
  "button",
20105
19961
  {
20106
19962
  onClick: sendMessage,
@@ -20201,10 +20057,6 @@ export {
20201
20057
  MarkdownRenderer2 as MarkdownRenderer,
20202
20058
  Modal,
20203
20059
  NativeSelect2 as NativeSelect,
20204
- OfferDetailSection2 as OfferDetailSection,
20205
- OffersGallery2 as OffersGallery,
20206
- OffersGrid,
20207
- OffersSection2 as OffersSection,
20208
20060
  Pagination,
20209
20061
  PaginationPageDefault2 as PaginationPageDefault,
20210
20062
  PaginationPageMinimalCenter2 as PaginationPageMinimalCenter,