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
@@ -38,7 +38,7 @@ var __objRest = (source, exclude) => {
38
38
  };
39
39
 
40
40
  // src/design_system/sections/index.tsx
41
- import React64 from "react";
41
+ import React61 from "react";
42
42
 
43
43
  // src/lib/component-registry.ts
44
44
  var registry = /* @__PURE__ */ new Map();
@@ -8438,116 +8438,9 @@ var PolicyDocumentSection = ({
8438
8438
  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 }))));
8439
8439
  };
8440
8440
 
8441
- // src/design_system/sections/offers-section.tsx
8442
- function OffersSection({
8443
- offers,
8444
- title = "Offers",
8445
- subtitle = "See our current offers.",
8446
- maxOffers = 6,
8447
- backgroundColor = "bg-primary",
8448
- showViewAll = true
8449
- }) {
8450
- const list = Array.isArray(offers) ? offers : [];
8451
- const displayList = list.filter((o) => !o.expired).slice(0, maxOffers);
8452
- if (list.length === 0) {
8453
- return null;
8454
- }
8455
- 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"))));
8456
- }
8457
- function OfferCard({ offer }) {
8458
- 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 && (() => {
8459
- const d = new Date(offer.expires_at);
8460
- if (Number.isNaN(d.getTime())) return null;
8461
- return /* @__PURE__ */ React.createElement("p", { className: "text-xs text-tertiary" }, "Expires ", d.toLocaleDateString());
8462
- })()));
8463
- }
8464
-
8465
- // src/design_system/sections/offers-gallery.tsx
8466
- import React36 from "react";
8467
-
8468
- // src/design_system/sections/offers-grid.tsx
8469
- import React35 from "react";
8470
- function OffersGrid({
8471
- offers,
8472
- title = "Offers",
8473
- subtitle = "See our current offers.",
8474
- websitePhotos,
8475
- companyInformation,
8476
- backgroundColor = "bg-primary"
8477
- }) {
8478
- const list = Array.isArray(offers) ? offers : [];
8479
- const displayList = list.filter((o) => !o.expired);
8480
- 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(
8481
- OffersGridCard,
8482
- {
8483
- offer,
8484
- index,
8485
- websitePhotos,
8486
- companyInformation
8487
- }
8488
- )))) : /* @__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."))));
8489
- }
8490
- function OffersGridCard({
8491
- offer,
8492
- index,
8493
- websitePhotos,
8494
- companyInformation
8495
- }) {
8496
- var _a;
8497
- 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(
8498
- PhotoWithFallback2,
8499
- {
8500
- item: void 0,
8501
- fallbackId: (_a = offer.id) != null ? _a : index,
8502
- alt: offer.name,
8503
- className: "size-full object-cover",
8504
- websitePhotos,
8505
- companyInformation
8506
- }
8507
- )), /* @__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 && (() => {
8508
- const d = new Date(offer.expires_at);
8509
- if (Number.isNaN(d.getTime())) return null;
8510
- return /* @__PURE__ */ React35.createElement("p", { className: "text-xs text-tertiary" }, "Expires ", d.toLocaleDateString());
8511
- })()));
8512
- }
8513
-
8514
- // src/design_system/sections/offers-gallery.tsx
8515
- var OffersGallery = ({
8516
- offers,
8517
- title = "Offers",
8518
- subtitle = "See our current offers.",
8519
- websitePhotos,
8520
- companyInformation,
8521
- className = ""
8522
- }) => /* @__PURE__ */ React36.createElement("section", { className }, /* @__PURE__ */ React36.createElement(
8523
- OffersGrid,
8524
- {
8525
- offers,
8526
- title,
8527
- subtitle,
8528
- websitePhotos,
8529
- companyInformation
8530
- }
8531
- ));
8532
- registerThemeVariant("offers-gallery", "classic", OffersGallery);
8533
-
8534
- // src/design_system/sections/offer-detail.tsx
8535
- import React37 from "react";
8536
- var OfferDetailSection = ({ offer }) => {
8537
- if (!offer) {
8538
- 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"));
8539
- }
8540
- 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 && (() => {
8541
- const d = new Date(offer.expires_at);
8542
- if (Number.isNaN(d.getTime())) return null;
8543
- return /* @__PURE__ */ React37.createElement("p", { className: "text-sm text-gray-500 mb-6" }, "Expires ", d.toLocaleDateString());
8544
- })(), /* @__PURE__ */ React37.createElement(Button2, { href: "/offers" }, "Back to Offers"));
8545
- };
8546
- registerThemeVariant("offer-detail", "classic", OfferDetailSection);
8547
-
8548
8441
  // src/design_system/sections/hero-home.aman.tsx
8549
8442
  import { Fragment as Fragment3, useState as useState15 } from "react";
8550
- import React38 from "react";
8443
+ import React35 from "react";
8551
8444
  var HeroHome2 = ({
8552
8445
  websitePhotos,
8553
8446
  companyInformation,
@@ -8565,7 +8458,7 @@ var HeroHome2 = ({
8565
8458
  url: ((_b = websitePhotos == null ? void 0 : websitePhotos.hero) == null ? void 0 : _b.url) || "",
8566
8459
  alt: ((_c = websitePhotos == null ? void 0 : websitePhotos.hero) == null ? void 0 : _c.alt) || "Hero image"
8567
8460
  };
8568
- 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(
8461
+ 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(
8569
8462
  "a",
8570
8463
  {
8571
8464
  href: effectiveCtaHref,
@@ -8575,7 +8468,7 @@ var HeroHome2 = ({
8575
8468
  style: { color: "var(--color-text-brand-accent)" }
8576
8469
  },
8577
8470
  ctaText
8578
- ))), /* @__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(
8471
+ ))), /* @__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(
8579
8472
  PhotoWithFallback2,
8580
8473
  {
8581
8474
  photoUrl: heroImage.url,
@@ -8583,7 +8476,7 @@ var HeroHome2 = ({
8583
8476
  fallbackId: "hero-home-brand",
8584
8477
  className: "w-full h-full object-cover"
8585
8478
  }
8586
- ), 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(
8479
+ ), 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(
8587
8480
  VideoModal,
8588
8481
  {
8589
8482
  isOpen: showVideo,
@@ -8595,7 +8488,7 @@ var HeroHome2 = ({
8595
8488
  registerThemeVariant("hero-home", "aman", HeroHome2);
8596
8489
 
8597
8490
  // src/design_system/sections/header-navigation.aman.tsx
8598
- import React39, { useState as useState16, useRef as useRef9, useCallback as useCallback5 } from "react";
8491
+ import React36, { useState as useState16, useRef as useRef9, useCallback as useCallback5 } from "react";
8599
8492
  import Link6 from "next/link";
8600
8493
  import Image11 from "next/image";
8601
8494
  var MAX_DROPDOWN_ITEMS = 3;
@@ -8614,14 +8507,14 @@ function HeaderNavigation2({
8614
8507
  const [dropdownTop, setDropdownTop] = useState16(0);
8615
8508
  const [isScrolled, setIsScrolled] = useState16(false);
8616
8509
  const closeTimeoutRef = useRef9(null);
8617
- React39.useEffect(() => {
8510
+ React36.useEffect(() => {
8618
8511
  const handleScroll = () => {
8619
8512
  setIsScrolled(window.scrollY > 10);
8620
8513
  };
8621
8514
  window.addEventListener("scroll", handleScroll);
8622
8515
  return () => window.removeEventListener("scroll", handleScroll);
8623
8516
  }, []);
8624
- React39.useEffect(() => {
8517
+ React36.useEffect(() => {
8625
8518
  return () => {
8626
8519
  if (closeTimeoutRef.current) {
8627
8520
  clearTimeout(closeTimeoutRef.current);
@@ -8684,10 +8577,10 @@ function HeaderNavigation2({
8684
8577
  viewAllLabel: ""
8685
8578
  };
8686
8579
  };
8687
- 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(
8580
+ 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(
8688
8581
  "relative flex items-center justify-between transition-all duration-300",
8689
8582
  isScrolled ? "py-2" : "py-8"
8690
- ) }, /* @__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(
8583
+ ) }, /* @__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(
8691
8584
  Image11,
8692
8585
  {
8693
8586
  src: logoUrl,
@@ -8696,7 +8589,7 @@ function HeaderNavigation2({
8696
8589
  width: 120,
8697
8590
  height: 40
8698
8591
  }
8699
- )), /* @__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(
8592
+ )), /* @__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(
8700
8593
  Button2,
8701
8594
  {
8702
8595
  href: ctaUrls.secondaryHref,
@@ -8707,7 +8600,7 @@ function HeaderNavigation2({
8707
8600
  className: "font-body text-sm uppercase tracking-wide px-6 py-2 rounded-sm"
8708
8601
  },
8709
8602
  props.cta_button.label
8710
- ), /* @__PURE__ */ React39.createElement(
8603
+ ), /* @__PURE__ */ React36.createElement(
8711
8604
  Button2,
8712
8605
  {
8713
8606
  href: ctaUrls.primaryHref,
@@ -8718,7 +8611,7 @@ function HeaderNavigation2({
8718
8611
  className: "font-body text-sm uppercase tracking-wide px-6 py-2 rounded-sm"
8719
8612
  },
8720
8613
  ((_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"
8721
- ))), /* @__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(
8614
+ ))), /* @__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(
8722
8615
  "div",
8723
8616
  {
8724
8617
  key: i,
@@ -8726,7 +8619,7 @@ function HeaderNavigation2({
8726
8619
  onMouseEnter: (e) => handleMouseEnter(item, e),
8727
8620
  onMouseLeave: handleMouseLeave
8728
8621
  },
8729
- /* @__PURE__ */ React39.createElement(
8622
+ /* @__PURE__ */ React36.createElement(
8730
8623
  Link6,
8731
8624
  {
8732
8625
  href: item.href,
@@ -8737,7 +8630,7 @@ function HeaderNavigation2({
8737
8630
  },
8738
8631
  item.label
8739
8632
  ),
8740
- item.children && item.children.length > 0 && activeDropdown === item.label && /* @__PURE__ */ React39.createElement(
8633
+ item.children && item.children.length > 0 && activeDropdown === item.label && /* @__PURE__ */ React36.createElement(
8741
8634
  "div",
8742
8635
  {
8743
8636
  className: "fixed left-0 right-0 w-full pt-6 pb-6 border-b border-secondary bg-primary z-50",
@@ -8745,9 +8638,9 @@ function HeaderNavigation2({
8745
8638
  onMouseEnter: handleDropdownMouseEnter,
8746
8639
  onMouseLeave: handleDropdownMouseLeave
8747
8640
  },
8748
- /* @__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" }, (() => {
8641
+ /* @__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" }, (() => {
8749
8642
  const { items, showViewAll, viewAllHref, viewAllLabel } = getDropdownItems(item);
8750
- return /* @__PURE__ */ React39.createElement(React39.Fragment, null, items.map((link, j) => /* @__PURE__ */ React39.createElement(
8643
+ return /* @__PURE__ */ React36.createElement(React36.Fragment, null, items.map((link, j) => /* @__PURE__ */ React36.createElement(
8751
8644
  Link6,
8752
8645
  {
8753
8646
  key: j,
@@ -8755,7 +8648,7 @@ function HeaderNavigation2({
8755
8648
  className: "font-body text-sm text-fg-primary hover:underline whitespace-nowrap"
8756
8649
  },
8757
8650
  link.label
8758
- )), showViewAll && /* @__PURE__ */ React39.createElement(
8651
+ )), showViewAll && /* @__PURE__ */ React36.createElement(
8759
8652
  Link6,
8760
8653
  {
8761
8654
  href: viewAllHref,
@@ -8766,15 +8659,15 @@ function HeaderNavigation2({
8766
8659
  ));
8767
8660
  })()))
8768
8661
  )
8769
- )))))), /* @__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(
8662
+ )))))), /* @__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(
8770
8663
  "button",
8771
8664
  {
8772
8665
  onClick: () => setIsMobileMenuOpen(true),
8773
8666
  className: "text-fg-primary",
8774
8667
  "aria-label": "Open menu"
8775
8668
  },
8776
- /* @__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" }))
8777
- ), /* @__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(
8669
+ /* @__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" }))
8670
+ ), /* @__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(
8778
8671
  Image11,
8779
8672
  {
8780
8673
  src: logoUrl,
@@ -8783,15 +8676,15 @@ function HeaderNavigation2({
8783
8676
  width: 120,
8784
8677
  height: 32
8785
8678
  }
8786
- ) : /* @__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(
8679
+ ) : /* @__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(
8787
8680
  "button",
8788
8681
  {
8789
8682
  onClick: () => setIsMobileMenuOpen(false),
8790
8683
  className: "text-fg-primary",
8791
8684
  "aria-label": "Close menu"
8792
8685
  },
8793
- /* @__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" }))
8794
- ), /* @__PURE__ */ React39.createElement("div", { className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React39.createElement(
8686
+ /* @__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" }))
8687
+ ), /* @__PURE__ */ React36.createElement("div", { className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React36.createElement(
8795
8688
  Image11,
8796
8689
  {
8797
8690
  src: logoUrl,
@@ -8800,9 +8693,9 @@ function HeaderNavigation2({
8800
8693
  width: 120,
8801
8694
  height: 32
8802
8695
  }
8803
- ) : /* @__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) => {
8696
+ ) : /* @__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) => {
8804
8697
  const { items, showViewAll, viewAllHref, viewAllLabel } = getDropdownItems(item);
8805
- return /* @__PURE__ */ React39.createElement("li", { key: i }, /* @__PURE__ */ React39.createElement(
8698
+ return /* @__PURE__ */ React36.createElement("li", { key: i }, /* @__PURE__ */ React36.createElement(
8806
8699
  Link6,
8807
8700
  {
8808
8701
  href: item.href,
@@ -8810,7 +8703,7 @@ function HeaderNavigation2({
8810
8703
  onClick: () => setIsMobileMenuOpen(false)
8811
8704
  },
8812
8705
  item.label
8813
- ), 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(
8706
+ ), 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(
8814
8707
  Link6,
8815
8708
  {
8816
8709
  href: link.href,
@@ -8818,7 +8711,7 @@ function HeaderNavigation2({
8818
8711
  onClick: () => setIsMobileMenuOpen(false)
8819
8712
  },
8820
8713
  link.label
8821
- ))), showViewAll && /* @__PURE__ */ React39.createElement("li", null, /* @__PURE__ */ React39.createElement(
8714
+ ))), showViewAll && /* @__PURE__ */ React36.createElement("li", null, /* @__PURE__ */ React36.createElement(
8822
8715
  Link6,
8823
8716
  {
8824
8717
  href: viewAllHref,
@@ -8828,7 +8721,7 @@ function HeaderNavigation2({
8828
8721
  viewAllLabel,
8829
8722
  " \u2192"
8830
8723
  ))));
8831
- }))), /* @__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(
8724
+ }))), /* @__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(
8832
8725
  Button2,
8833
8726
  {
8834
8727
  href: ctaUrls.secondaryHref,
@@ -8839,7 +8732,7 @@ function HeaderNavigation2({
8839
8732
  onClick: () => setIsMobileMenuOpen(false)
8840
8733
  },
8841
8734
  props.cta_button.label
8842
- ), /* @__PURE__ */ React39.createElement(
8735
+ ), /* @__PURE__ */ React36.createElement(
8843
8736
  Button2,
8844
8737
  {
8845
8738
  href: ctaUrls.primaryHref,
@@ -8850,7 +8743,7 @@ function HeaderNavigation2({
8850
8743
  onClick: () => setIsMobileMenuOpen(false)
8851
8744
  },
8852
8745
  ((_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"
8853
- ))))), /* @__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(
8746
+ ))))), /* @__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(
8854
8747
  Button2,
8855
8748
  {
8856
8749
  href: ctaUrls.secondaryHref,
@@ -8860,7 +8753,7 @@ function HeaderNavigation2({
8860
8753
  className: "flex-1 font-body text-sm uppercase tracking-wide py-4 rounded-none border-r border-gray-700"
8861
8754
  },
8862
8755
  props.cta_button.label
8863
- ), /* @__PURE__ */ React39.createElement(
8756
+ ), /* @__PURE__ */ React36.createElement(
8864
8757
  Button2,
8865
8758
  {
8866
8759
  href: ctaUrls.primaryHref,
@@ -8961,7 +8854,7 @@ var ServicesGrid2 = ({
8961
8854
  registerThemeVariant("services-grid", "aman", ServicesGrid2);
8962
8855
 
8963
8856
  // src/design_system/sections/testimonials-home.aman.tsx
8964
- import React40 from "react";
8857
+ import React37 from "react";
8965
8858
  var TestimonialsHome2 = ({
8966
8859
  testimonials: testimonialsData,
8967
8860
  title = "",
@@ -8969,7 +8862,7 @@ var TestimonialsHome2 = ({
8969
8862
  }) => {
8970
8863
  const testimonials = Array.isArray(testimonialsData) ? testimonialsData : [];
8971
8864
  const displayTestimonials = perPage ? testimonials.slice(0, perPage) : testimonials;
8972
- return /* @__PURE__ */ React40.createElement("section", null, /* @__PURE__ */ React40.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React40.createElement(
8865
+ return /* @__PURE__ */ React37.createElement("section", null, /* @__PURE__ */ React37.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React37.createElement(
8973
8866
  CarouselSectionWrapper,
8974
8867
  {
8975
8868
  title,
@@ -8984,7 +8877,7 @@ var TestimonialsHome2 = ({
8984
8877
  const avatarUrl = getAvatarUrl(testimonial.photo_attachments, testimonial.id, reviewerName);
8985
8878
  const rating = testimonial.rating || 5;
8986
8879
  const isVerified = true;
8987
- 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(
8880
+ 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(
8988
8881
  "svg",
8989
8882
  {
8990
8883
  key: starIdx,
@@ -8996,8 +8889,8 @@ var TestimonialsHome2 = ({
8996
8889
  strokeWidth: "2",
8997
8890
  viewBox: "0 0 24 24"
8998
8891
  },
8999
- /* @__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" })
9000
- ))), /* @__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(
8892
+ /* @__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" })
8893
+ ))), /* @__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(
9001
8894
  PhotoWithFallback2,
9002
8895
  {
9003
8896
  photoUrl: avatarUrl,
@@ -9005,21 +8898,21 @@ var TestimonialsHome2 = ({
9005
8898
  fallbackId: testimonial.id || i,
9006
8899
  className: "w-full h-full object-cover"
9007
8900
  }
9008
- )), /* @__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)))));
8901
+ )), /* @__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)))));
9009
8902
  })
9010
8903
  )));
9011
8904
  };
9012
8905
  registerThemeVariant("testimonials-home", "aman", TestimonialsHome2);
9013
8906
 
9014
8907
  // src/design_system/sections/testimonials-grid.aman.tsx
9015
- import React41 from "react";
8908
+ import React38 from "react";
9016
8909
  var TestimonialsGrid2 = ({
9017
8910
  testimonials: testimonialsData,
9018
8911
  title = "",
9019
8912
  subtitle = ""
9020
8913
  }) => {
9021
8914
  const testimonials = Array.isArray(testimonialsData) ? testimonialsData : [];
9022
- 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) => {
8915
+ 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) => {
9023
8916
  var _a;
9024
8917
  const quote = ((_a = testimonial.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim()) || "";
9025
8918
  const reviewerName = testimonial.reviewer_name || "Customer";
@@ -9027,7 +8920,7 @@ var TestimonialsGrid2 = ({
9027
8920
  const avatarUrl = getAvatarUrl(testimonial.photo_attachments, testimonial.id, reviewerName);
9028
8921
  const rating = testimonial.rating || 5;
9029
8922
  const isVerified = true;
9030
- 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(
8923
+ 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(
9031
8924
  "svg",
9032
8925
  {
9033
8926
  key: starIdx,
@@ -9039,8 +8932,8 @@ var TestimonialsGrid2 = ({
9039
8932
  strokeWidth: "2",
9040
8933
  viewBox: "0 0 24 24"
9041
8934
  },
9042
- /* @__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" })
9043
- ))), /* @__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(
8935
+ /* @__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" })
8936
+ ))), /* @__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(
9044
8937
  PhotoWithFallback2,
9045
8938
  {
9046
8939
  photoUrl: avatarUrl,
@@ -9048,16 +8941,16 @@ var TestimonialsGrid2 = ({
9048
8941
  fallbackId: testimonial.id || i,
9049
8942
  className: "w-full h-full object-cover"
9050
8943
  }
9051
- )), /* @__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))));
9052
- })) : /* @__PURE__ */ React41.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React41.createElement("p", { className: "font-body text-base text-tertiary" }, "No testimonials available"))));
8944
+ )), /* @__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))));
8945
+ })) : /* @__PURE__ */ React38.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React38.createElement("p", { className: "font-body text-base text-tertiary" }, "No testimonials available"))));
9053
8946
  };
9054
8947
  registerThemeVariant("testimonials-grid", "aman", TestimonialsGrid2);
9055
8948
 
9056
8949
  // src/design_system/sections/contact-section.aman.tsx
9057
- import React43 from "react";
8950
+ import React40 from "react";
9058
8951
 
9059
8952
  // src/design_system/sections/contact-section-form.aman.tsx
9060
- import React42, { useRef as useRef10, useState as useState17 } from "react";
8953
+ import React39, { useRef as useRef10, useState as useState17 } from "react";
9061
8954
  var ContactSectionForm2 = ({
9062
8955
  formDefinition,
9063
8956
  submitButtonText = "Send message",
@@ -9111,14 +9004,14 @@ var ContactSectionForm2 = ({
9111
9004
  setIsSubmitting(false);
9112
9005
  };
9113
9006
  if (!hasFields) return null;
9114
- return /* @__PURE__ */ React42.createElement(Form2, { ref: formRef, onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React42.createElement(
9007
+ return /* @__PURE__ */ React39.createElement(Form2, { ref: formRef, onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React39.createElement(
9115
9008
  DynamicFormFields,
9116
9009
  {
9117
9010
  form: resolvedFormDefinition,
9118
9011
  privacyPolicyUrl,
9119
9012
  termsOfServiceUrl
9120
9013
  }
9121
- ), /* @__PURE__ */ React42.createElement(
9014
+ ), /* @__PURE__ */ React39.createElement(
9122
9015
  Button2,
9123
9016
  {
9124
9017
  type: "submit",
@@ -9129,7 +9022,7 @@ var ContactSectionForm2 = ({
9129
9022
  isLoading: isSubmitting
9130
9023
  },
9131
9024
  isSubmitting ? "Sending..." : submitButtonText
9132
- ), 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));
9025
+ ), 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));
9133
9026
  };
9134
9027
 
9135
9028
  // src/design_system/sections/contact-section.aman.tsx
@@ -9153,14 +9046,14 @@ var ContactSection2 = ({
9153
9046
  const contactImageUrl = contactPhoto == null ? void 0 : contactPhoto.url;
9154
9047
  const finalContactImage = contactImageUrl && contactImageUrl.trim() !== "" ? contactImageUrl : void 0;
9155
9048
  const finalContactImageAlt = (contactPhoto == null ? void 0 : contactPhoto.alt) || "Contact image";
9156
- 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(
9049
+ 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(
9157
9050
  ContactSectionForm2,
9158
9051
  {
9159
9052
  formDefinition,
9160
9053
  privacyPolicyUrl,
9161
9054
  termsOfServiceUrl
9162
9055
  }
9163
- )), /* @__PURE__ */ React43.createElement("div", { className: "max-lg:hidden h-full min-h-0 overflow-hidden" }, /* @__PURE__ */ React43.createElement(
9056
+ )), /* @__PURE__ */ React40.createElement("div", { className: "max-lg:hidden h-full min-h-0 overflow-hidden" }, /* @__PURE__ */ React40.createElement(
9164
9057
  PhotoWithFallback2,
9165
9058
  {
9166
9059
  photoUrl: finalContactImage || "",
@@ -9514,7 +9407,7 @@ var BlogHome2 = ({
9514
9407
  registerThemeVariant("blog-home", "aman", BlogHome2);
9515
9408
 
9516
9409
  // src/design_system/sections/blog-gallery.aman.tsx
9517
- import React44, { useState as useState18 } from "react";
9410
+ import React41, { useState as useState18 } from "react";
9518
9411
  var BlogGallery2 = ({
9519
9412
  blogPosts: postsData,
9520
9413
  postsPerPage = 12,
@@ -9528,13 +9421,13 @@ var BlogGallery2 = ({
9528
9421
  const startIndex = (currentPage - 1) * postsPerPage;
9529
9422
  const endIndex = startIndex + postsPerPage;
9530
9423
  const paginatedNonFeaturedPosts = nonFeaturedPosts.slice(startIndex, endIndex);
9531
- 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(
9424
+ 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(
9532
9425
  "a",
9533
9426
  {
9534
9427
  href: `/blog/${featuredPost.slug}`,
9535
9428
  className: "block mb-16 group"
9536
9429
  },
9537
- /* @__PURE__ */ React44.createElement("div", { className: "w-full h-96 md:h-[500px] mb-8 overflow-hidden" }, /* @__PURE__ */ React44.createElement(
9430
+ /* @__PURE__ */ React41.createElement("div", { className: "w-full h-96 md:h-[500px] mb-8 overflow-hidden" }, /* @__PURE__ */ React41.createElement(
9538
9431
  PhotoWithFallback2,
9539
9432
  {
9540
9433
  item: featuredPost,
@@ -9542,19 +9435,19 @@ var BlogGallery2 = ({
9542
9435
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
9543
9436
  }
9544
9437
  )),
9545
- /* @__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()))
9546
- ), 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) => {
9438
+ /* @__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()))
9439
+ ), 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) => {
9547
9440
  var _a;
9548
9441
  const excerpt = post.excerpt_markdown || ((_a = post.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim().substring(0, 150)) || "";
9549
- 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(
9442
+ 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(
9550
9443
  PhotoWithFallback2,
9551
9444
  {
9552
9445
  item: post,
9553
9446
  fallbackId: post.id,
9554
9447
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
9555
9448
  }
9556
- )), /* @__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));
9557
- })), totalPages > 1 && /* @__PURE__ */ React44.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ React44.createElement(
9449
+ )), /* @__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));
9450
+ })), totalPages > 1 && /* @__PURE__ */ React41.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ React41.createElement(
9558
9451
  PaginationPageDefault2,
9559
9452
  {
9560
9453
  rounded: true,
@@ -9562,7 +9455,7 @@ var BlogGallery2 = ({
9562
9455
  total: totalPages,
9563
9456
  onPageChange: setCurrentPage
9564
9457
  }
9565
- ))) : /* @__PURE__ */ React44.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React44.createElement("p", { className: "font-body text-base text-tertiary" }, "No posts available"))));
9458
+ ))) : /* @__PURE__ */ React41.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React41.createElement("p", { className: "font-body text-base text-tertiary" }, "No posts available"))));
9566
9459
  };
9567
9460
  registerThemeVariant("blog-gallery", "aman", BlogGallery2);
9568
9461
 
@@ -9593,7 +9486,7 @@ var BlogPostSection2 = ({
9593
9486
  registerThemeVariant("blog-post", "aman", BlogPostSection2);
9594
9487
 
9595
9488
  // src/design_system/sections/blog-section.aman.tsx
9596
- import React45 from "react";
9489
+ import React42 from "react";
9597
9490
  var BlogSection2 = ({
9598
9491
  blogPosts: postsData,
9599
9492
  title = "",
@@ -9612,7 +9505,7 @@ var BlogSection2 = ({
9612
9505
  return "Recent";
9613
9506
  }
9614
9507
  };
9615
- return /* @__PURE__ */ React45.createElement("section", null, /* @__PURE__ */ React45.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React45.createElement(
9508
+ return /* @__PURE__ */ React42.createElement("section", null, /* @__PURE__ */ React42.createElement("div", { className: "mx-auto max-w-container px-4 md:px-8" }, /* @__PURE__ */ React42.createElement(
9616
9509
  CarouselSectionWrapper,
9617
9510
  {
9618
9511
  title,
@@ -9622,14 +9515,14 @@ var BlogSection2 = ({
9622
9515
  postsArray.map((post) => {
9623
9516
  var _a;
9624
9517
  const excerpt = ((_a = post.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim().substring(0, 150)) || "";
9625
- 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(
9518
+ 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(
9626
9519
  PhotoWithFallback2,
9627
9520
  {
9628
9521
  item: post,
9629
9522
  fallbackId: post.id,
9630
9523
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
9631
9524
  }
9632
- )), /* @__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)));
9525
+ )), /* @__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)));
9633
9526
  })
9634
9527
  )));
9635
9528
  };
@@ -17633,11 +17526,11 @@ var JobDetailHero2 = ({
17633
17526
  registerThemeVariant("hero-job-detail", "aman", JobDetailHero2);
17634
17527
 
17635
17528
  // src/design_system/sections/job-application-form.aman.tsx
17636
- import React46, { useRef as useRef13, useState as useState21 } from "react";
17529
+ import React43, { useRef as useRef13, useState as useState21 } from "react";
17637
17530
 
17638
17531
  // src/design_system/sections/hero-home.barelux.tsx
17639
17532
  import { Fragment as Fragment6, useState as useState22 } from "react";
17640
- import React47 from "react";
17533
+ import React44 from "react";
17641
17534
  var HeroHome3 = ({
17642
17535
  websitePhotos,
17643
17536
  companyInformation,
@@ -17656,7 +17549,7 @@ var HeroHome3 = ({
17656
17549
  url: ((_b = websitePhotos == null ? void 0 : websitePhotos.hero) == null ? void 0 : _b.url) || "",
17657
17550
  alt: ((_c = websitePhotos == null ? void 0 : websitePhotos.hero) == null ? void 0 : _c.alt) || ""
17658
17551
  };
17659
- 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(
17552
+ 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(
17660
17553
  PhotoWithFallback2,
17661
17554
  {
17662
17555
  photoUrl: heroImage.url,
@@ -17664,7 +17557,7 @@ var HeroHome3 = ({
17664
17557
  fallbackId: "hero-home-barelux",
17665
17558
  className: "w-full h-full object-cover"
17666
17559
  }
17667
- )), /* @__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(
17560
+ )), /* @__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(
17668
17561
  Button2,
17669
17562
  {
17670
17563
  href: effectiveCtaHref,
@@ -17674,7 +17567,7 @@ var HeroHome3 = ({
17674
17567
  size: "md"
17675
17568
  },
17676
17569
  ctaText
17677
- )))), 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(
17570
+ )))), 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(
17678
17571
  VideoModal,
17679
17572
  {
17680
17573
  isOpen: showVideo,
@@ -17686,7 +17579,7 @@ var HeroHome3 = ({
17686
17579
  registerThemeVariant("hero-home", "barelux", HeroHome3);
17687
17580
 
17688
17581
  // src/design_system/sections/header-navigation.barelux.tsx
17689
- import React48, { useState as useState23, useRef as useRef14, useCallback as useCallback8 } from "react";
17582
+ import React45, { useState as useState23, useRef as useRef14, useCallback as useCallback8 } from "react";
17690
17583
  import Link8 from "next/link";
17691
17584
  import Image12 from "next/image";
17692
17585
  var MAX_DROPDOWN_ITEMS2 = 6;
@@ -17703,7 +17596,7 @@ function HeaderNavigation3({
17703
17596
  const [activeDropdown, setActiveDropdown] = useState23(null);
17704
17597
  const [isMobileMenuOpen, setIsMobileMenuOpen] = useState23(false);
17705
17598
  const closeTimeoutRef = useRef14(null);
17706
- React48.useEffect(() => {
17599
+ React45.useEffect(() => {
17707
17600
  return () => {
17708
17601
  if (closeTimeoutRef.current) {
17709
17602
  clearTimeout(closeTimeoutRef.current);
@@ -17759,7 +17652,7 @@ function HeaderNavigation3({
17759
17652
  viewAllLabel: ""
17760
17653
  };
17761
17654
  };
17762
- 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(
17655
+ 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(
17763
17656
  Image12,
17764
17657
  {
17765
17658
  src: logoUrl,
@@ -17768,7 +17661,7 @@ function HeaderNavigation3({
17768
17661
  width: 120,
17769
17662
  height: 40
17770
17663
  }
17771
- ) : /* @__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(
17664
+ ) : /* @__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(
17772
17665
  "div",
17773
17666
  {
17774
17667
  key: i,
@@ -17776,16 +17669,16 @@ function HeaderNavigation3({
17776
17669
  onMouseEnter: () => handleMouseEnter(item),
17777
17670
  onMouseLeave: handleMouseLeave
17778
17671
  },
17779
- /* @__PURE__ */ React48.createElement(
17672
+ /* @__PURE__ */ React45.createElement(
17780
17673
  Link8,
17781
17674
  {
17782
17675
  href: item.href,
17783
17676
  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"
17784
17677
  },
17785
17678
  item.label,
17786
- 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" }))
17679
+ 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" }))
17787
17680
  ),
17788
- item.children && item.children.length > 0 && activeDropdown === item.label && /* @__PURE__ */ React48.createElement(
17681
+ item.children && item.children.length > 0 && activeDropdown === item.label && /* @__PURE__ */ React45.createElement(
17789
17682
  "div",
17790
17683
  {
17791
17684
  className: "absolute left-0 top-full mt-2 w-64 py-3 bg-white border border-secondary rounded-lg shadow-lg z-50",
@@ -17794,7 +17687,7 @@ function HeaderNavigation3({
17794
17687
  },
17795
17688
  (() => {
17796
17689
  const { items, showViewAll, viewAllHref, viewAllLabel } = getDropdownItems(item);
17797
- return /* @__PURE__ */ React48.createElement(React48.Fragment, null, items.map((link, j) => /* @__PURE__ */ React48.createElement(
17690
+ return /* @__PURE__ */ React45.createElement(React45.Fragment, null, items.map((link, j) => /* @__PURE__ */ React45.createElement(
17798
17691
  Link8,
17799
17692
  {
17800
17693
  key: j,
@@ -17802,7 +17695,7 @@ function HeaderNavigation3({
17802
17695
  className: "block font-body text-md text-fg-primary hover:text-brand-accent hover:bg-secondary transition-colors px-4 py-2"
17803
17696
  },
17804
17697
  link.label
17805
- )), showViewAll && /* @__PURE__ */ React48.createElement(
17698
+ )), showViewAll && /* @__PURE__ */ React45.createElement(
17806
17699
  Link8,
17807
17700
  {
17808
17701
  href: viewAllHref,
@@ -17813,7 +17706,7 @@ function HeaderNavigation3({
17813
17706
  ));
17814
17707
  })()
17815
17708
  )
17816
- ))), /* @__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(
17709
+ ))), /* @__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(
17817
17710
  Button2,
17818
17711
  {
17819
17712
  href: ctaUrls.secondaryHref,
@@ -17823,7 +17716,7 @@ function HeaderNavigation3({
17823
17716
  size: "sm"
17824
17717
  },
17825
17718
  props.cta_button.label
17826
- ), /* @__PURE__ */ React48.createElement(
17719
+ ), /* @__PURE__ */ React45.createElement(
17827
17720
  Button2,
17828
17721
  {
17829
17722
  href: ctaUrls.primaryHref,
@@ -17833,15 +17726,15 @@ function HeaderNavigation3({
17833
17726
  size: "sm"
17834
17727
  },
17835
17728
  ((_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) || ""
17836
- ))))), /* @__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(
17729
+ ))))), /* @__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(
17837
17730
  "button",
17838
17731
  {
17839
17732
  onClick: () => setIsMobileMenuOpen(true),
17840
17733
  className: "text-fg-primary",
17841
17734
  "aria-label": "Open menu"
17842
17735
  },
17843
- /* @__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" }))
17844
- ), /* @__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(
17736
+ /* @__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" }))
17737
+ ), /* @__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(
17845
17738
  Image12,
17846
17739
  {
17847
17740
  src: logoUrl,
@@ -17850,15 +17743,15 @@ function HeaderNavigation3({
17850
17743
  width: 120,
17851
17744
  height: 32
17852
17745
  }
17853
- ) : /* @__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(
17746
+ ) : /* @__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(
17854
17747
  "button",
17855
17748
  {
17856
17749
  onClick: () => setIsMobileMenuOpen(false),
17857
17750
  className: "text-fg-primary",
17858
17751
  "aria-label": "Close menu"
17859
17752
  },
17860
- /* @__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" }))
17861
- ), /* @__PURE__ */ React48.createElement("div", { className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React48.createElement(
17753
+ /* @__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" }))
17754
+ ), /* @__PURE__ */ React45.createElement("div", { className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React45.createElement(
17862
17755
  Image12,
17863
17756
  {
17864
17757
  src: logoUrl,
@@ -17867,9 +17760,9 @@ function HeaderNavigation3({
17867
17760
  width: 120,
17868
17761
  height: 32
17869
17762
  }
17870
- ) : /* @__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) => {
17763
+ ) : /* @__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) => {
17871
17764
  const { items } = getDropdownItems(item);
17872
- return /* @__PURE__ */ React48.createElement("li", { key: i }, /* @__PURE__ */ React48.createElement(
17765
+ return /* @__PURE__ */ React45.createElement("li", { key: i }, /* @__PURE__ */ React45.createElement(
17873
17766
  Link8,
17874
17767
  {
17875
17768
  href: item.href,
@@ -17877,7 +17770,7 @@ function HeaderNavigation3({
17877
17770
  onClick: () => setIsMobileMenuOpen(false)
17878
17771
  },
17879
17772
  item.label
17880
- ), 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(
17773
+ ), 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(
17881
17774
  Link8,
17882
17775
  {
17883
17776
  href: link.href,
@@ -17886,7 +17779,7 @@ function HeaderNavigation3({
17886
17779
  },
17887
17780
  link.label
17888
17781
  )))));
17889
- }))), /* @__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(
17782
+ }))), /* @__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(
17890
17783
  Button2,
17891
17784
  {
17892
17785
  href: ctaUrls.secondaryHref,
@@ -17896,7 +17789,7 @@ function HeaderNavigation3({
17896
17789
  onClick: () => setIsMobileMenuOpen(false)
17897
17790
  },
17898
17791
  props.cta_button.secondary_label
17899
- ), /* @__PURE__ */ React48.createElement(
17792
+ ), /* @__PURE__ */ React45.createElement(
17900
17793
  Button2,
17901
17794
  {
17902
17795
  href: ctaUrls.primaryHref,
@@ -17906,7 +17799,7 @@ function HeaderNavigation3({
17906
17799
  onClick: () => setIsMobileMenuOpen(false)
17907
17800
  },
17908
17801
  ((_m = props == null ? void 0 : props.cta_button) == null ? void 0 : _m.label) || ""
17909
- ))))), /* @__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(
17802
+ ))))), /* @__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(
17910
17803
  Button2,
17911
17804
  {
17912
17805
  href: ctaUrls.secondaryHref,
@@ -17916,7 +17809,7 @@ function HeaderNavigation3({
17916
17809
  className: "flex-1 font-body text-sm uppercase tracking-wide py-4 rounded-none border-r border-white/20"
17917
17810
  },
17918
17811
  props.cta_button.label
17919
- ), /* @__PURE__ */ React48.createElement(
17812
+ ), /* @__PURE__ */ React45.createElement(
17920
17813
  Button2,
17921
17814
  {
17922
17815
  href: ctaUrls.primaryHref,
@@ -17931,23 +17824,23 @@ function HeaderNavigation3({
17931
17824
  registerThemeVariant("header-navigation", "barelux", HeaderNavigation3);
17932
17825
 
17933
17826
  // src/design_system/sections/services-home.barelux.tsx
17934
- import React49 from "react";
17827
+ import React46 from "react";
17935
17828
  var ServicesHome3 = ({
17936
17829
  services = [],
17937
17830
  title = "",
17938
17831
  subtitle = ""
17939
17832
  }) => {
17940
17833
  const displayServices = services;
17941
- 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) => {
17834
+ 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) => {
17942
17835
  var _a, _b, _c, _d, _e, _f, _g, _h, _i;
17943
- return /* @__PURE__ */ React49.createElement(
17836
+ return /* @__PURE__ */ React46.createElement(
17944
17837
  "a",
17945
17838
  {
17946
17839
  key: service.id,
17947
17840
  href: `/services/${service.slug}`,
17948
17841
  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"
17949
17842
  },
17950
- /* @__PURE__ */ React49.createElement("div", { className: "relative w-full h-56 overflow-hidden flex-shrink-0" }, /* @__PURE__ */ React49.createElement(
17843
+ /* @__PURE__ */ React46.createElement("div", { className: "relative w-full h-56 overflow-hidden flex-shrink-0" }, /* @__PURE__ */ React46.createElement(
17951
17844
  PhotoWithFallback2,
17952
17845
  {
17953
17846
  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) || "",
@@ -17956,7 +17849,7 @@ var ServicesHome3 = ({
17956
17849
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
17957
17850
  }
17958
17851
  )),
17959
- /* @__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))
17852
+ /* @__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))
17960
17853
  );
17961
17854
  }))));
17962
17855
  };
@@ -18006,7 +17899,7 @@ var AboutHome3 = ({
18006
17899
  registerThemeVariant("about-home", "barelux", AboutHome3);
18007
17900
 
18008
17901
  // src/design_system/sections/testimonials-home.barelux.tsx
18009
- import React50 from "react";
17902
+ import React47 from "react";
18010
17903
  import { ChevronLeft as ChevronLeft7, ChevronRight as ChevronRight2 } from "@untitledui/icons";
18011
17904
  var TestimonialsHome3 = ({
18012
17905
  testimonials: testimonialsData,
@@ -18017,7 +17910,7 @@ var TestimonialsHome3 = ({
18017
17910
  emptyMessage = "No testimonials available"
18018
17911
  }) => {
18019
17912
  const testimonials = Array.isArray(testimonialsData) ? testimonialsData : [];
18020
- 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) => {
17913
+ 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) => {
18021
17914
  var _a;
18022
17915
  const quote = ((_a = testimonial.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim()) || "";
18023
17916
  const reviewerName = testimonial.reviewer_name || "";
@@ -18025,7 +17918,7 @@ var TestimonialsHome3 = ({
18025
17918
  const avatarUrl = getAvatarUrl(testimonial.photo_attachments, testimonial.id, reviewerName);
18026
17919
  const rating = testimonial.rating || 5;
18027
17920
  const isVerified = true;
18028
- 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(
17921
+ 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(
18029
17922
  "svg",
18030
17923
  {
18031
17924
  key: starIdx,
@@ -18037,8 +17930,8 @@ var TestimonialsHome3 = ({
18037
17930
  strokeWidth: "2",
18038
17931
  viewBox: "0 0 24 24"
18039
17932
  },
18040
- /* @__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" })
18041
- ))), /* @__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(
17933
+ /* @__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" })
17934
+ ))), /* @__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(
18042
17935
  PhotoWithFallback2,
18043
17936
  {
18044
17937
  photoUrl: avatarUrl,
@@ -18046,8 +17939,8 @@ var TestimonialsHome3 = ({
18046
17939
  fallbackId: testimonial.id || i,
18047
17940
  className: "w-full h-full object-cover"
18048
17941
  }
18049
- )), /* @__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)))));
18050
- }))) : /* @__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(
17942
+ )), /* @__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)))));
17943
+ }))) : /* @__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(
18051
17944
  Button2,
18052
17945
  {
18053
17946
  href: viewAllHref,
@@ -18060,7 +17953,7 @@ var TestimonialsHome3 = ({
18060
17953
  registerThemeVariant("testimonials-home", "barelux", TestimonialsHome3);
18061
17954
 
18062
17955
  // src/design_system/sections/blog-section.barelux.tsx
18063
- import React51 from "react";
17956
+ import React48 from "react";
18064
17957
  import { ChevronLeft as ChevronLeft8, ChevronRight as ChevronRight3 } from "@untitledui/icons";
18065
17958
  var BlogSection3 = ({
18066
17959
  blogPosts: postsData,
@@ -18085,18 +17978,18 @@ var BlogSection3 = ({
18085
17978
  return recentLabel;
18086
17979
  }
18087
17980
  };
18088
- 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) => {
17981
+ 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) => {
18089
17982
  var _a;
18090
17983
  const excerpt = ((_a = post.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim().substring(0, 150)) || "";
18091
- 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(
17984
+ 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(
18092
17985
  PhotoWithFallback2,
18093
17986
  {
18094
17987
  item: post,
18095
17988
  fallbackId: post.id,
18096
17989
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
18097
17990
  }
18098
- )), /* @__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)));
18099
- }))) : /* @__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(
17991
+ )), /* @__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)));
17992
+ }))) : /* @__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(
18100
17993
  Button2,
18101
17994
  {
18102
17995
  href: viewAllHref,
@@ -18109,7 +18002,7 @@ var BlogSection3 = ({
18109
18002
  registerThemeVariant("blog-section", "barelux", BlogSection3);
18110
18003
 
18111
18004
  // src/design_system/sections/blog-gallery.barelux.tsx
18112
- import React52, { useState as useState24 } from "react";
18005
+ import React49, { useState as useState24 } from "react";
18113
18006
  var BlogGallery3 = ({
18114
18007
  blogPosts: postsData,
18115
18008
  postsPerPage = 12,
@@ -18127,13 +18020,13 @@ var BlogGallery3 = ({
18127
18020
  const startIndex = (currentPage - 1) * postsPerPage;
18128
18021
  const endIndex = startIndex + postsPerPage;
18129
18022
  const paginatedNonFeaturedPosts = nonFeaturedPosts.slice(startIndex, endIndex);
18130
- 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(
18023
+ 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(
18131
18024
  "a",
18132
18025
  {
18133
18026
  href: `/blog/${featuredPost.slug}`,
18134
18027
  className: "block mb-16 group"
18135
18028
  },
18136
- /* @__PURE__ */ React52.createElement("div", { className: "w-full h-96 md:h-[500px] mb-8 overflow-hidden rounded-2xl" }, /* @__PURE__ */ React52.createElement(
18029
+ /* @__PURE__ */ React49.createElement("div", { className: "w-full h-96 md:h-[500px] mb-8 overflow-hidden rounded-2xl" }, /* @__PURE__ */ React49.createElement(
18137
18030
  PhotoWithFallback2,
18138
18031
  {
18139
18032
  item: featuredPost,
@@ -18141,19 +18034,19 @@ var BlogGallery3 = ({
18141
18034
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
18142
18035
  }
18143
18036
  )),
18144
- /* @__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()))
18145
- ), 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) => {
18037
+ /* @__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()))
18038
+ ), 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) => {
18146
18039
  var _a;
18147
18040
  const excerpt = post.excerpt_markdown || ((_a = post.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim().substring(0, 150)) || "";
18148
- 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(
18041
+ 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(
18149
18042
  PhotoWithFallback2,
18150
18043
  {
18151
18044
  item: post,
18152
18045
  fallbackId: post.id,
18153
18046
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
18154
18047
  }
18155
- )), /* @__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));
18156
- })), totalPages > 1 && /* @__PURE__ */ React52.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ React52.createElement(
18048
+ )), /* @__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));
18049
+ })), totalPages > 1 && /* @__PURE__ */ React49.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ React49.createElement(
18157
18050
  PaginationPageDefault2,
18158
18051
  {
18159
18052
  rounded: true,
@@ -18161,7 +18054,7 @@ var BlogGallery3 = ({
18161
18054
  total: totalPages,
18162
18055
  onPageChange: setCurrentPage
18163
18056
  }
18164
- ))) : /* @__PURE__ */ React52.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React52.createElement("p", { className: "font-body text-base text-tertiary" }, emptyMessage))));
18057
+ ))) : /* @__PURE__ */ React49.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React49.createElement("p", { className: "font-body text-base text-tertiary" }, emptyMessage))));
18165
18058
  };
18166
18059
  registerThemeVariant("blog-gallery", "barelux", BlogGallery3);
18167
18060
 
@@ -18256,10 +18149,10 @@ var SocialMediaGrid3 = ({
18256
18149
  registerThemeVariant("social-media-grid", "barelux", SocialMediaGrid3);
18257
18150
 
18258
18151
  // src/design_system/sections/contact-section.barelux.tsx
18259
- import React54 from "react";
18152
+ import React51 from "react";
18260
18153
 
18261
18154
  // src/design_system/sections/contact-section-form.barelux.tsx
18262
- import React53, { useRef as useRef15, useState as useState25 } from "react";
18155
+ import React50, { useRef as useRef15, useState as useState25 } from "react";
18263
18156
  var ContactSectionForm3 = ({
18264
18157
  formDefinition,
18265
18158
  submitButtonText = "Send message",
@@ -18313,14 +18206,14 @@ var ContactSectionForm3 = ({
18313
18206
  setIsSubmitting(false);
18314
18207
  };
18315
18208
  if (!hasFields) return null;
18316
- return /* @__PURE__ */ React53.createElement(Form2, { ref: formRef, onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React53.createElement(
18209
+ return /* @__PURE__ */ React50.createElement(Form2, { ref: formRef, onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React50.createElement(
18317
18210
  DynamicFormFields,
18318
18211
  {
18319
18212
  form: resolvedFormDefinition,
18320
18213
  privacyPolicyUrl,
18321
18214
  termsOfServiceUrl
18322
18215
  }
18323
- ), /* @__PURE__ */ React53.createElement(
18216
+ ), /* @__PURE__ */ React50.createElement(
18324
18217
  Button2,
18325
18218
  {
18326
18219
  type: "submit",
@@ -18331,7 +18224,7 @@ var ContactSectionForm3 = ({
18331
18224
  isLoading: isSubmitting
18332
18225
  },
18333
18226
  submitStatus === "success" ? successMessage.split("!")[0] + "!" : isSubmitting ? "Sending..." : submitButtonText
18334
- ), 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));
18227
+ ), 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));
18335
18228
  };
18336
18229
 
18337
18230
  // src/design_system/sections/contact-section.barelux.tsx
@@ -18355,14 +18248,14 @@ var ContactSection3 = ({
18355
18248
  const contactImageUrl = contactPhoto == null ? void 0 : contactPhoto.url;
18356
18249
  const finalContactImage = contactImageUrl && contactImageUrl.trim() !== "" ? contactImageUrl : void 0;
18357
18250
  const finalContactImageAlt = (contactPhoto == null ? void 0 : contactPhoto.alt) || "Contact image";
18358
- 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(
18251
+ 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(
18359
18252
  ContactSectionForm3,
18360
18253
  {
18361
18254
  formDefinition,
18362
18255
  privacyPolicyUrl,
18363
18256
  termsOfServiceUrl
18364
18257
  }
18365
- )), finalContactImage && /* @__PURE__ */ React54.createElement("div", { className: "max-lg:hidden relative h-full min-h-0 overflow-hidden rounded-lg" }, /* @__PURE__ */ React54.createElement(
18258
+ )), finalContactImage && /* @__PURE__ */ React51.createElement("div", { className: "max-lg:hidden relative h-full min-h-0 overflow-hidden rounded-lg" }, /* @__PURE__ */ React51.createElement(
18366
18259
  PhotoWithFallback2,
18367
18260
  {
18368
18261
  photoUrl: finalContactImage,
@@ -18427,7 +18320,7 @@ registerThemeVariant("footer-home", "barelux", FooterHome3);
18427
18320
 
18428
18321
  // src/design_system/sections/hero-home.balance.tsx
18429
18322
  import { Fragment as Fragment7, useState as useState26 } from "react";
18430
- import React55 from "react";
18323
+ import React52 from "react";
18431
18324
  var HeroHome4 = ({
18432
18325
  websitePhotos,
18433
18326
  companyInformation,
@@ -18445,7 +18338,7 @@ var HeroHome4 = ({
18445
18338
  url: ((_b = websitePhotos == null ? void 0 : websitePhotos.hero) == null ? void 0 : _b.url) || "",
18446
18339
  alt: ((_c = websitePhotos == null ? void 0 : websitePhotos.hero) == null ? void 0 : _c.alt) || "Hero image"
18447
18340
  };
18448
- 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(
18341
+ 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(
18449
18342
  Button2,
18450
18343
  {
18451
18344
  as: "a",
@@ -18457,7 +18350,7 @@ var HeroHome4 = ({
18457
18350
  className: "font-body font-medium"
18458
18351
  },
18459
18352
  ctaText
18460
- )))), /* @__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(
18353
+ )))), /* @__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(
18461
18354
  PhotoWithFallback2,
18462
18355
  {
18463
18356
  photoUrl: heroImage.url,
@@ -18465,7 +18358,7 @@ var HeroHome4 = ({
18465
18358
  fallbackId: "hero-home-balance",
18466
18359
  className: "w-full h-full object-cover"
18467
18360
  }
18468
- ), 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(
18361
+ ), 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(
18469
18362
  VideoModal,
18470
18363
  {
18471
18364
  isOpen: showVideo,
@@ -18477,7 +18370,7 @@ var HeroHome4 = ({
18477
18370
  registerThemeVariant("hero-home", "balance", HeroHome4);
18478
18371
 
18479
18372
  // src/design_system/sections/header-navigation.balance.tsx
18480
- import React56, { useState as useState27, useRef as useRef16, useCallback as useCallback9 } from "react";
18373
+ import React53, { useState as useState27, useRef as useRef16, useCallback as useCallback9 } from "react";
18481
18374
  import Link10 from "next/link";
18482
18375
  import Image13 from "next/image";
18483
18376
  function HeaderNavigation4({
@@ -18493,7 +18386,7 @@ function HeaderNavigation4({
18493
18386
  const [activeDropdown, setActiveDropdown] = useState27(null);
18494
18387
  const [isMobileMenuOpen, setIsMobileMenuOpen] = useState27(false);
18495
18388
  const closeTimeoutRef = useRef16(null);
18496
- React56.useEffect(() => {
18389
+ React53.useEffect(() => {
18497
18390
  return () => {
18498
18391
  if (closeTimeoutRef.current) {
18499
18392
  clearTimeout(closeTimeoutRef.current);
@@ -18531,7 +18424,7 @@ function HeaderNavigation4({
18531
18424
  const handleDropdownMouseLeave = useCallback9(() => {
18532
18425
  handleMouseLeave();
18533
18426
  }, [handleMouseLeave]);
18534
- 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(
18427
+ 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(
18535
18428
  Image13,
18536
18429
  {
18537
18430
  src: logoUrl,
@@ -18540,7 +18433,7 @@ function HeaderNavigation4({
18540
18433
  width: 180,
18541
18434
  height: 48
18542
18435
  }
18543
- ) : /* @__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(
18436
+ ) : /* @__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(
18544
18437
  "div",
18545
18438
  {
18546
18439
  key: item.label,
@@ -18548,7 +18441,7 @@ function HeaderNavigation4({
18548
18441
  onMouseEnter: () => handleMouseEnter(item),
18549
18442
  onMouseLeave: handleMouseLeave
18550
18443
  },
18551
- item.href ? /* @__PURE__ */ React56.createElement(
18444
+ item.href ? /* @__PURE__ */ React53.createElement(
18552
18445
  Link10,
18553
18446
  {
18554
18447
  href: item.href,
@@ -18556,15 +18449,15 @@ function HeaderNavigation4({
18556
18449
  style: { color: "rgb(170, 143, 123)" }
18557
18450
  },
18558
18451
  item.label
18559
- ) : /* @__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),
18560
- item.children && item.children.length > 0 && activeDropdown === item.label && /* @__PURE__ */ React56.createElement(
18452
+ ) : /* @__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),
18453
+ item.children && item.children.length > 0 && activeDropdown === item.label && /* @__PURE__ */ React53.createElement(
18561
18454
  "div",
18562
18455
  {
18563
18456
  className: "absolute left-0 top-full pt-2",
18564
18457
  onMouseEnter: handleDropdownMouseEnter,
18565
18458
  onMouseLeave: handleDropdownMouseLeave
18566
18459
  },
18567
- /* @__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(
18460
+ /* @__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(
18568
18461
  Link10,
18569
18462
  {
18570
18463
  key: child.href,
@@ -18575,7 +18468,7 @@ function HeaderNavigation4({
18575
18468
  child.label
18576
18469
  )))
18577
18470
  )
18578
- ))), /* @__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(
18471
+ ))), /* @__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(
18579
18472
  Button2,
18580
18473
  {
18581
18474
  href: ctaUrls.secondaryHref,
@@ -18585,7 +18478,7 @@ function HeaderNavigation4({
18585
18478
  size: "sm"
18586
18479
  },
18587
18480
  props.cta_button.label
18588
- ), /* @__PURE__ */ React56.createElement(
18481
+ ), /* @__PURE__ */ React53.createElement(
18589
18482
  Button2,
18590
18483
  {
18591
18484
  href: ctaUrls.primaryHref,
@@ -18595,15 +18488,15 @@ function HeaderNavigation4({
18595
18488
  size: "sm"
18596
18489
  },
18597
18490
  ((_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) || ""
18598
- ))))), /* @__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(
18491
+ ))))), /* @__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(
18599
18492
  "button",
18600
18493
  {
18601
18494
  onClick: () => setIsMobileMenuOpen(true),
18602
18495
  className: "text-fg-primary",
18603
18496
  "aria-label": "Open menu"
18604
18497
  },
18605
- /* @__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" }))
18606
- ), /* @__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(
18498
+ /* @__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" }))
18499
+ ), /* @__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(
18607
18500
  Image13,
18608
18501
  {
18609
18502
  src: logoUrl,
@@ -18612,15 +18505,15 @@ function HeaderNavigation4({
18612
18505
  width: 120,
18613
18506
  height: 32
18614
18507
  }
18615
- ) : /* @__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(
18508
+ ) : /* @__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(
18616
18509
  "button",
18617
18510
  {
18618
18511
  onClick: () => setIsMobileMenuOpen(false),
18619
18512
  className: "text-fg-primary",
18620
18513
  "aria-label": "Close menu"
18621
18514
  },
18622
- /* @__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" }))
18623
- ), /* @__PURE__ */ React56.createElement("div", { className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React56.createElement(
18515
+ /* @__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" }))
18516
+ ), /* @__PURE__ */ React53.createElement("div", { className: "flex items-center" }, logoUrl ? /* @__PURE__ */ React53.createElement(
18624
18517
  Image13,
18625
18518
  {
18626
18519
  src: logoUrl,
@@ -18629,7 +18522,7 @@ function HeaderNavigation4({
18629
18522
  width: 120,
18630
18523
  height: 32
18631
18524
  }
18632
- ) : /* @__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(
18525
+ ) : /* @__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(
18633
18526
  Link10,
18634
18527
  {
18635
18528
  href: item.href || "#",
@@ -18638,7 +18531,7 @@ function HeaderNavigation4({
18638
18531
  onClick: () => setIsMobileMenuOpen(false)
18639
18532
  },
18640
18533
  item.label
18641
- ), 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(
18534
+ ), 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(
18642
18535
  Link10,
18643
18536
  {
18644
18537
  href: child.href,
@@ -18646,7 +18539,7 @@ function HeaderNavigation4({
18646
18539
  onClick: () => setIsMobileMenuOpen(false)
18647
18540
  },
18648
18541
  child.label
18649
- )))))))), /* @__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(
18542
+ )))))))), /* @__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(
18650
18543
  Button2,
18651
18544
  {
18652
18545
  href: ctaUrls.secondaryHref,
@@ -18656,7 +18549,7 @@ function HeaderNavigation4({
18656
18549
  onClick: () => setIsMobileMenuOpen(false)
18657
18550
  },
18658
18551
  props.cta_button.secondary_label
18659
- ), /* @__PURE__ */ React56.createElement(
18552
+ ), /* @__PURE__ */ React53.createElement(
18660
18553
  Button2,
18661
18554
  {
18662
18555
  href: ctaUrls.primaryHref,
@@ -18666,7 +18559,7 @@ function HeaderNavigation4({
18666
18559
  onClick: () => setIsMobileMenuOpen(false)
18667
18560
  },
18668
18561
  ((_m = props == null ? void 0 : props.cta_button) == null ? void 0 : _m.label) || ""
18669
- ))))), /* @__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(
18562
+ ))))), /* @__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(
18670
18563
  Button2,
18671
18564
  {
18672
18565
  href: ctaUrls.secondaryHref,
@@ -18677,7 +18570,7 @@ function HeaderNavigation4({
18677
18570
  style: { borderRight: "1px solid rgba(255, 255, 255, 0.2)" }
18678
18571
  },
18679
18572
  props.cta_button.label
18680
- ), /* @__PURE__ */ React56.createElement(
18573
+ ), /* @__PURE__ */ React53.createElement(
18681
18574
  Button2,
18682
18575
  {
18683
18576
  href: ctaUrls.primaryHref,
@@ -18750,10 +18643,10 @@ var FooterHome4 = ({
18750
18643
  registerThemeVariant("footer-home", "balance", FooterHome4);
18751
18644
 
18752
18645
  // src/design_system/sections/contact-section.balance.tsx
18753
- import React58 from "react";
18646
+ import React55 from "react";
18754
18647
 
18755
18648
  // src/design_system/sections/contact-section-form.balance.tsx
18756
- import React57, { useRef as useRef17, useState as useState28 } from "react";
18649
+ import React54, { useRef as useRef17, useState as useState28 } from "react";
18757
18650
  var ContactSectionForm4 = ({
18758
18651
  formDefinition,
18759
18652
  submitButtonText = "Send message",
@@ -18807,14 +18700,14 @@ var ContactSectionForm4 = ({
18807
18700
  setIsSubmitting(false);
18808
18701
  };
18809
18702
  if (!hasFields) return null;
18810
- return /* @__PURE__ */ React57.createElement(Form2, { ref: formRef, onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React57.createElement(
18703
+ return /* @__PURE__ */ React54.createElement(Form2, { ref: formRef, onSubmit: handleSubmit, className: "flex flex-col gap-6" }, /* @__PURE__ */ React54.createElement(
18811
18704
  DynamicFormFields,
18812
18705
  {
18813
18706
  form: resolvedFormDefinition,
18814
18707
  privacyPolicyUrl,
18815
18708
  termsOfServiceUrl
18816
18709
  }
18817
- ), /* @__PURE__ */ React57.createElement(
18710
+ ), /* @__PURE__ */ React54.createElement(
18818
18711
  Button2,
18819
18712
  {
18820
18713
  type: "submit",
@@ -18825,7 +18718,7 @@ var ContactSectionForm4 = ({
18825
18718
  isLoading: isSubmitting
18826
18719
  },
18827
18720
  isSubmitting ? "Sending..." : submitButtonText
18828
- ), 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));
18721
+ ), 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));
18829
18722
  };
18830
18723
 
18831
18724
  // src/design_system/sections/contact-section.balance.tsx
@@ -18849,7 +18742,7 @@ var ContactSection4 = ({
18849
18742
  const contactImageUrl = contactPhoto == null ? void 0 : contactPhoto.url;
18850
18743
  const finalContactImage = contactImageUrl && contactImageUrl.trim() !== "" ? contactImageUrl : void 0;
18851
18744
  const finalContactImageAlt = (contactPhoto == null ? void 0 : contactPhoto.alt) || "Contact image";
18852
- 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(
18745
+ 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(
18853
18746
  PhotoWithFallback2,
18854
18747
  {
18855
18748
  photoUrl: finalContactImage,
@@ -18857,7 +18750,7 @@ var ContactSection4 = ({
18857
18750
  fallbackId: "contact-image",
18858
18751
  className: "h-full w-full object-cover"
18859
18752
  }
18860
- )), /* @__PURE__ */ React58.createElement("div", { className: "max-w-2xl mx-auto" }, /* @__PURE__ */ React58.createElement(
18753
+ )), /* @__PURE__ */ React55.createElement("div", { className: "max-w-2xl mx-auto" }, /* @__PURE__ */ React55.createElement(
18861
18754
  ContactSectionForm4,
18862
18755
  {
18863
18756
  formDefinition,
@@ -18946,7 +18839,7 @@ var AboutHome4 = ({
18946
18839
  registerThemeVariant("about-home", "balance", AboutHome4);
18947
18840
 
18948
18841
  // src/design_system/sections/testimonials-home.balance.tsx
18949
- import React59 from "react";
18842
+ import React56 from "react";
18950
18843
  var TestimonialsHome4 = ({
18951
18844
  testimonials: testimonialsData,
18952
18845
  title = "",
@@ -18955,7 +18848,7 @@ var TestimonialsHome4 = ({
18955
18848
  }) => {
18956
18849
  const testimonials = Array.isArray(testimonialsData) ? testimonialsData : [];
18957
18850
  const displayTestimonials = perPage ? testimonials.slice(0, perPage) : testimonials;
18958
- 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(
18851
+ 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(
18959
18852
  CarouselSectionWrapper,
18960
18853
  {
18961
18854
  title: "",
@@ -18969,7 +18862,7 @@ var TestimonialsHome4 = ({
18969
18862
  const avatarUrl = getAvatarUrl(testimonial.photo_attachments, testimonial.id, reviewerName);
18970
18863
  const rating = testimonial.rating || 5;
18971
18864
  const initials = reviewerName.split(" ").map((n) => n[0]).join("").toUpperCase().slice(0, 2);
18972
- 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(
18865
+ 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(
18973
18866
  "svg",
18974
18867
  {
18975
18868
  key: starIdx,
@@ -18981,8 +18874,8 @@ var TestimonialsHome4 = ({
18981
18874
  strokeWidth: "2",
18982
18875
  viewBox: "0 0 24 24"
18983
18876
  },
18984
- /* @__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" })
18985
- ))), /* @__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(
18877
+ /* @__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" })
18878
+ ))), /* @__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(
18986
18879
  Avatar2,
18987
18880
  {
18988
18881
  src: avatarUrl,
@@ -18990,14 +18883,14 @@ var TestimonialsHome4 = ({
18990
18883
  initials,
18991
18884
  size: "xl"
18992
18885
  }
18993
- ), /* @__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")))));
18886
+ ), /* @__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")))));
18994
18887
  })
18995
18888
  )));
18996
18889
  };
18997
18890
  registerThemeVariant("testimonials-home", "balance", TestimonialsHome4);
18998
18891
 
18999
18892
  // src/design_system/sections/blog-section.balance.tsx
19000
- import React60 from "react";
18893
+ import React57 from "react";
19001
18894
  var BlogSection4 = ({
19002
18895
  blogPosts: postsData,
19003
18896
  title = "",
@@ -19017,7 +18910,7 @@ var BlogSection4 = ({
19017
18910
  return "Recent";
19018
18911
  }
19019
18912
  };
19020
- 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(
18913
+ 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(
19021
18914
  CarouselSectionWrapper,
19022
18915
  {
19023
18916
  title: "",
@@ -19027,16 +18920,16 @@ var BlogSection4 = ({
19027
18920
  postsArray.map((post) => {
19028
18921
  var _a;
19029
18922
  const excerpt = ((_a = post.content_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim().substring(0, 150)) || "";
19030
- 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(
18923
+ 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(
19031
18924
  PhotoWithFallback2,
19032
18925
  {
19033
18926
  item: post,
19034
18927
  fallbackId: post.id,
19035
18928
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
19036
18929
  }
19037
- )), /* @__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"))));
18930
+ )), /* @__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"))));
19038
18931
  })
19039
- ), postsArray.length > 0 && /* @__PURE__ */ React60.createElement("div", { className: "mt-12 text-center" }, /* @__PURE__ */ React60.createElement(
18932
+ ), postsArray.length > 0 && /* @__PURE__ */ React57.createElement("div", { className: "mt-12 text-center" }, /* @__PURE__ */ React57.createElement(
19040
18933
  Button2,
19041
18934
  {
19042
18935
  as: "a",
@@ -19051,7 +18944,7 @@ var BlogSection4 = ({
19051
18944
  registerThemeVariant("blog-section", "balance", BlogSection4);
19052
18945
 
19053
18946
  // src/design_system/sections/team-grid.balance.tsx
19054
- import React61 from "react";
18947
+ import React58 from "react";
19055
18948
  var TeamGrid3 = ({
19056
18949
  teamMembers: membersData,
19057
18950
  title = "",
@@ -19062,10 +18955,10 @@ var TeamGrid3 = ({
19062
18955
  }) => {
19063
18956
  const members = Array.isArray(membersData) ? membersData : [];
19064
18957
  const displayMembers = members.slice(0, maxMembers);
19065
- 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) => {
18958
+ 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) => {
19066
18959
  var _a;
19067
18960
  const bio = ((_a = member.bio_markdown) == null ? void 0 : _a.replace(/[#*\[\]()]/g, "").trim()) || "";
19068
- 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(
18961
+ 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(
19069
18962
  PhotoWithFallback2,
19070
18963
  {
19071
18964
  item: member,
@@ -19073,13 +18966,13 @@ var TeamGrid3 = ({
19073
18966
  alt: member.name || "Team member",
19074
18967
  className: "h-78 w-full object-cover md:h-74 rounded-2xl"
19075
18968
  }
19076
- ), /* @__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)));
19077
- }))) : /* @__PURE__ */ React61.createElement("div", { className: "text-center mt-12" }, /* @__PURE__ */ React61.createElement("p", { className: "text-gray-500" }, "No team members available"))));
18969
+ ), /* @__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)));
18970
+ }))) : /* @__PURE__ */ React58.createElement("div", { className: "text-center mt-12" }, /* @__PURE__ */ React58.createElement("p", { className: "text-gray-500" }, "No team members available"))));
19078
18971
  };
19079
18972
  registerThemeVariant("team-grid", "balance", TeamGrid3);
19080
18973
 
19081
18974
  // src/design_system/sections/services-grid.balance.tsx
19082
- import React62 from "react";
18975
+ import React59 from "react";
19083
18976
  import Link12 from "next/link";
19084
18977
  var ServicesGrid3 = ({
19085
18978
  services: servicesData,
@@ -19089,12 +18982,12 @@ var ServicesGrid3 = ({
19089
18982
  className = ""
19090
18983
  }) => {
19091
18984
  const services = Array.isArray(servicesData) ? servicesData : [];
19092
- 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) => {
18985
+ 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) => {
19093
18986
  var _a, _b, _c, _d;
19094
18987
  const description = service.summary || (service.description_markdown ? service.description_markdown.replace(/[#*\[\]()]/g, "").trim().substring(0, 120) + "..." : "");
19095
18988
  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);
19096
18989
  const imageAlt = (photo == null ? void 0 : photo.title) || service.name;
19097
- 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(
18990
+ 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(
19098
18991
  PhotoWithFallback2,
19099
18992
  {
19100
18993
  item: service,
@@ -19102,8 +18995,8 @@ var ServicesGrid3 = ({
19102
18995
  alt: imageAlt || "Service image",
19103
18996
  className: "size-full object-cover transition-transform duration-300 group-hover:scale-105"
19104
18997
  }
19105
- )), /* @__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"))));
19106
- })) : /* @__PURE__ */ React62.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React62.createElement("p", { className: "font-body text-base text-tertiary" }, "No services available"))));
18998
+ )), /* @__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"))));
18999
+ })) : /* @__PURE__ */ React59.createElement("div", { className: "text-center py-12" }, /* @__PURE__ */ React59.createElement("p", { className: "font-body text-base text-tertiary" }, "No services available"))));
19107
19000
  };
19108
19001
  registerThemeVariant("services-grid", "balance", ServicesGrid3);
19109
19002
 
@@ -19220,7 +19113,7 @@ var FeatureTabHorizontal = ({ title, subtitle, footer, isCurrent }) => /* @__PUR
19220
19113
  );
19221
19114
 
19222
19115
  // src/design_system/sections/service-menu-section.tsx
19223
- import React63, { useState as useState30, useEffect as useEffect11, useCallback as useCallback10, useMemo as useMemo8 } from "react";
19116
+ import React60, { useState as useState30, useEffect as useEffect11, useCallback as useCallback10, useMemo as useMemo8 } from "react";
19224
19117
  import { createPortal } from "react-dom";
19225
19118
  var SERVICE_MENU_MODAL_ROOT_ID = "service-menu-modal-root";
19226
19119
  var CYCLE_INTERVAL_MIN_MS = 6e3;
@@ -19233,6 +19126,10 @@ function seedToUnit(seed) {
19233
19126
  }
19234
19127
  return (h >>> 0) / 4294967296;
19235
19128
  }
19129
+ function getActivePublicOffers(offers) {
19130
+ if (!Array.isArray(offers) || offers.length === 0) return [];
19131
+ return offers.filter((o) => o.active !== false && o.expired !== true);
19132
+ }
19236
19133
  function photoAttachmentDisplayUrl(pa) {
19237
19134
  var _a, _b;
19238
19135
  return ((_a = pa.photo) == null ? void 0 : _a.large_url) || ((_b = pa.photo) == null ? void 0 : _b.medium_url);
@@ -19284,7 +19181,8 @@ function GridCardWithImage({
19284
19181
  onClick,
19285
19182
  websitePhotos,
19286
19183
  companyInformation,
19287
- cycleSeed
19184
+ cycleSeed,
19185
+ hasSpecial
19288
19186
  }) {
19289
19187
  var _a, _b, _c, _d, _e, _f, _g;
19290
19188
  const seed = cycleSeed != null ? cycleSeed : String(fallbackId);
@@ -19312,14 +19210,21 @@ function GridCardWithImage({
19312
19210
  const currentItem = list[currentIndex];
19313
19211
  const displayAlt = (currentItem == null ? void 0 : currentItem.alt) || fallbackAlt;
19314
19212
  const singleUrl = (_a = list[0]) == null ? void 0 : _a.url;
19315
- return /* @__PURE__ */ React63.createElement(
19213
+ return /* @__PURE__ */ React60.createElement(
19316
19214
  "button",
19317
19215
  {
19318
19216
  type: "button",
19319
19217
  onClick,
19320
19218
  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"
19321
19219
  },
19322
- /* @__PURE__ */ React63.createElement("div", { className: "w-full h-36 overflow-hidden rounded-lg mb-3 relative" }, list.length === 0 ? /* @__PURE__ */ React63.createElement(
19220
+ /* @__PURE__ */ React60.createElement("div", { className: "w-full h-36 overflow-hidden rounded-lg mb-3 relative" }, hasSpecial ? /* @__PURE__ */ React60.createElement(
19221
+ "span",
19222
+ {
19223
+ 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",
19224
+ "aria-label": "Has special offer"
19225
+ },
19226
+ "Special"
19227
+ ) : null, list.length === 0 ? /* @__PURE__ */ React60.createElement(
19323
19228
  PhotoWithFallback2,
19324
19229
  {
19325
19230
  item: void 0,
@@ -19331,7 +19236,7 @@ function GridCardWithImage({
19331
19236
  }
19332
19237
  ) : list.length === 1 && singleUrl ? (
19333
19238
  // eslint-disable-next-line @next/next/no-img-element -- dynamic API URLs; next/image not configured for external host
19334
- /* @__PURE__ */ React63.createElement(
19239
+ /* @__PURE__ */ React60.createElement(
19335
19240
  "img",
19336
19241
  {
19337
19242
  src: singleUrl,
@@ -19339,13 +19244,13 @@ function GridCardWithImage({
19339
19244
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
19340
19245
  }
19341
19246
  )
19342
- ) : /* @__PURE__ */ React63.createElement(React63.Fragment, null, /* @__PURE__ */ React63.createElement(
19247
+ ) : /* @__PURE__ */ React60.createElement(React60.Fragment, null, /* @__PURE__ */ React60.createElement(
19343
19248
  "div",
19344
19249
  {
19345
19250
  className: `absolute inset-0 ${transitioning ? "transition-opacity duration-[600ms] ease-in-out" : "transition-none"}`,
19346
19251
  style: { opacity: transitioning ? 0 : 1 }
19347
19252
  },
19348
- /* @__PURE__ */ React63.createElement(
19253
+ /* @__PURE__ */ React60.createElement(
19349
19254
  "img",
19350
19255
  {
19351
19256
  src: (_b = list[currentIndex]) == null ? void 0 : _b.url,
@@ -19353,13 +19258,13 @@ function GridCardWithImage({
19353
19258
  className: "w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
19354
19259
  }
19355
19260
  )
19356
- ), /* @__PURE__ */ React63.createElement(
19261
+ ), /* @__PURE__ */ React60.createElement(
19357
19262
  "div",
19358
19263
  {
19359
19264
  className: `absolute inset-0 ${transitioning ? "transition-opacity duration-[600ms] ease-in-out" : "transition-none"}`,
19360
19265
  style: { opacity: transitioning ? 1 : 0 }
19361
19266
  },
19362
- /* @__PURE__ */ React63.createElement(
19267
+ /* @__PURE__ */ React60.createElement(
19363
19268
  "img",
19364
19269
  {
19365
19270
  src: (_e = list[nextIndex]) == null ? void 0 : _e.url,
@@ -19368,8 +19273,8 @@ function GridCardWithImage({
19368
19273
  }
19369
19274
  )
19370
19275
  ))),
19371
- subtitle && /* @__PURE__ */ React63.createElement("p", { className: "text-xs font-medium text-fg-secondary uppercase tracking-wide line-clamp-1" }, subtitle),
19372
- /* @__PURE__ */ React63.createElement("h4", { className: "font-display text-base font-normal text-fg-primary mt-1 group-hover:underline line-clamp-2" }, title),
19276
+ subtitle && /* @__PURE__ */ React60.createElement("p", { className: "text-xs font-medium text-fg-secondary uppercase tracking-wide line-clamp-1" }, subtitle),
19277
+ /* @__PURE__ */ React60.createElement("h4", { className: "font-display text-base font-normal text-fg-primary mt-1 group-hover:underline line-clamp-2" }, title),
19373
19278
  children
19374
19279
  );
19375
19280
  }
@@ -19379,9 +19284,9 @@ function CarouselRow({
19379
19284
  renderItem
19380
19285
  }) {
19381
19286
  if (!(items == null ? void 0 : items.length)) return null;
19382
- 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) => {
19287
+ 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) => {
19383
19288
  var _a;
19384
- 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));
19289
+ 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));
19385
19290
  }))));
19386
19291
  }
19387
19292
  function GridRow({
@@ -19390,9 +19295,9 @@ function GridRow({
19390
19295
  renderItem
19391
19296
  }) {
19392
19297
  if (!(items == null ? void 0 : items.length)) return null;
19393
- 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) => {
19298
+ 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) => {
19394
19299
  var _a;
19395
- return /* @__PURE__ */ React63.createElement("div", { key: (_a = item.id) != null ? _a : index, className: "min-w-0 flex" }, renderItem(item, index));
19300
+ return /* @__PURE__ */ React60.createElement("div", { key: (_a = item.id) != null ? _a : index, className: "min-w-0 flex" }, renderItem(item, index));
19396
19301
  })));
19397
19302
  }
19398
19303
  function MenuBlock({
@@ -19402,54 +19307,57 @@ function MenuBlock({
19402
19307
  layout: layout2
19403
19308
  }) {
19404
19309
  if (!(items == null ? void 0 : items.length)) return null;
19405
- return layout2 === "carousel" ? /* @__PURE__ */ React63.createElement(CarouselRow, { rowTitle, items, renderItem }) : /* @__PURE__ */ React63.createElement(GridRow, { rowTitle, items, renderItem });
19310
+ return layout2 === "carousel" ? /* @__PURE__ */ React60.createElement(CarouselRow, { rowTitle, items, renderItem }) : /* @__PURE__ */ React60.createElement(GridRow, { rowTitle, items, renderItem });
19406
19311
  }
19407
19312
  function formatPriceCents(cents) {
19408
19313
  if (cents == null) return null;
19409
19314
  return new Intl.NumberFormat("en-US", { style: "currency", currency: "USD", minimumFractionDigits: 0, maximumFractionDigits: 0 }).format(cents / 100);
19410
19315
  }
19411
19316
  function ModalSection({ title, children }) {
19412
- 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);
19317
+ 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);
19318
+ }
19319
+ function ActiveOffersCallout({ offers }) {
19320
+ if (!offers.length) return null;
19321
+ 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(
19322
+ "li",
19323
+ {
19324
+ key: o.id,
19325
+ className: "rounded-lg border border-secondary border-l-[3px] border-l-brand-accent bg-primary_hover/30 p-4"
19326
+ },
19327
+ /* @__PURE__ */ React60.createElement("p", { className: "font-display text-base font-medium text-fg-primary" }, o.name),
19328
+ o.value_terms ? /* @__PURE__ */ React60.createElement("p", { className: "font-body text-sm text-brand-accent mt-1 font-medium" }, o.value_terms) : null,
19329
+ o.description ? /* @__PURE__ */ React60.createElement("p", { className: "font-body text-sm text-fg-secondary mt-2 leading-relaxed" }, o.description) : null,
19330
+ 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
19331
+ ))));
19413
19332
  }
19414
19333
  function DetailModalContent({
19415
19334
  detail,
19416
19335
  serviceItems = []
19417
19336
  }) {
19418
- var _a, _b, _c, _d, _e;
19419
- if (detail.type === "offer") {
19420
- const o = detail.item;
19421
- const categoryLine = ((_a = o.category_names) == null ? void 0 : _a.length) ? o.category_names.join(" | ") : null;
19422
- const descriptionContent = o.description || o.first_service_description_markdown;
19423
- const relatedServices = ((_b = o.services) == null ? void 0 : _b.length) ? o.services : (_c = o.service_items) != null ? _c : [];
19424
- const relatedPackages = (_d = o.packages) != null ? _d : [];
19425
- 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 && (() => {
19426
- const d = new Date(o.expires_at);
19427
- if (Number.isNaN(d.getTime())) return null;
19428
- return /* @__PURE__ */ React63.createElement("p", { className: "text-sm text-tertiary" }, "Expires ", d.toLocaleDateString(void 0, { dateStyle: "medium" }));
19429
- })(), 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)))));
19430
- }
19337
+ var _a;
19431
19338
  if (detail.type === "package") {
19432
19339
  const p = detail.item;
19433
- const categoryLine = ((_e = p.category_names) == null ? void 0 : _e.length) ? p.category_names.join(" | ") : null;
19340
+ const categoryLine = ((_a = p.category_names) == null ? void 0 : _a.length) ? p.category_names.join(" | ") : null;
19434
19341
  const descriptionMarkdown2 = p.description_markdown || p.summary || p.first_service_description_markdown;
19435
- 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) => {
19436
- var _a2, _b2, _c2, _d2, _e2, _f, _g, _h, _i;
19342
+ const packageSpecials = getActivePublicOffers(p.offers);
19343
+ 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) => {
19344
+ var _a2, _b, _c, _d, _e, _f, _g, _h, _i;
19437
19345
  const fullItem = ((_a2 = pi.service_item) == null ? void 0 : _a2.id) != null ? serviceItems.find((si2) => si2.id === pi.service_item.id) : null;
19438
- const name = (_d2 = (_c2 = fullItem == null ? void 0 : fullItem.name) != null ? _c2 : (_b2 = pi.service_item) == null ? void 0 : _b2.name) != null ? _d2 : "Item";
19439
- 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;
19440
- 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 })));
19441
- }))), 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 })))));
19346
+ const name = (_d = (_c = fullItem == null ? void 0 : fullItem.name) != null ? _c : (_b = pi.service_item) == null ? void 0 : _b.name) != null ? _d : "Item";
19347
+ 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;
19348
+ 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 })));
19349
+ }))), 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 })))));
19442
19350
  }
19443
19351
  const si = detail.item;
19444
19352
  const priceStr = formatPriceCents(si.price_cents);
19445
19353
  const summary = si.summary || si.service_summary;
19446
19354
  const descriptionMarkdown = si.description_markdown || si.service_description_markdown;
19447
- 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 })))));
19355
+ const itemSpecials = getActivePublicOffers(si.offers);
19356
+ 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 })))));
19448
19357
  }
19449
19358
  function ServiceMenuSection({
19450
19359
  title = "Service Menu",
19451
19360
  subtitle,
19452
- offers = null,
19453
19361
  packages = null,
19454
19362
  services = null,
19455
19363
  websitePhotos,
@@ -19459,24 +19367,20 @@ function ServiceMenuSection({
19459
19367
  servicesRowTitle = "Treatments",
19460
19368
  variant = "section"
19461
19369
  }) {
19462
- const offerList = React63.useMemo(
19463
- () => Array.isArray(offers) ? offers.filter((o) => !o.expired) : [],
19464
- [offers]
19465
- );
19466
- const packageList = React63.useMemo(
19370
+ const packageList = React60.useMemo(
19467
19371
  () => Array.isArray(packages) ? packages : [],
19468
19372
  [packages]
19469
19373
  );
19470
- const serviceList = React63.useMemo(
19374
+ const serviceList = React60.useMemo(
19471
19375
  () => Array.isArray(services) ? services : [],
19472
19376
  [services]
19473
19377
  );
19474
- const serviceItemIdToService = React63.useMemo(() => {
19378
+ const serviceItemIdToService = React60.useMemo(() => {
19475
19379
  const m = /* @__PURE__ */ new Map();
19476
19380
  serviceList.forEach((s) => (s.service_items || []).forEach((si) => m.set(si.id, s)));
19477
19381
  return m;
19478
19382
  }, [serviceList]);
19479
- const packagesForMenu = React63.useMemo(
19383
+ const packagesForMenu = React60.useMemo(
19480
19384
  () => packageList.map((pkg) => {
19481
19385
  var _a, _b, _c;
19482
19386
  const category_names = [
@@ -19494,20 +19398,6 @@ function ServiceMenuSection({
19494
19398
  }),
19495
19399
  [packageList, serviceItemIdToService]
19496
19400
  );
19497
- const offersForMenu = React63.useMemo(
19498
- () => offerList.map((offer) => {
19499
- var _a, _b, _c;
19500
- const category_names = (_b = ((_a = offer.category_names) == null ? void 0 : _a.length) ? offer.category_names : null) != null ? _b : (offer.service_ids || []).map((id3) => {
19501
- var _a2;
19502
- return (_a2 = serviceList.find((s) => s.id === id3)) == null ? void 0 : _a2.name;
19503
- }).filter(Boolean);
19504
- const firstServiceId = (_c = offer.service_ids) == null ? void 0 : _c[0];
19505
- const firstService = firstServiceId ? serviceList.find((s) => s.id === firstServiceId) : void 0;
19506
- const first_service_description_markdown = (firstService == null ? void 0 : firstService.description_markdown) || (firstService == null ? void 0 : firstService.summary) || null;
19507
- return __spreadProps(__spreadValues({}, offer), { category_names: category_names != null ? category_names : [], first_service_description_markdown });
19508
- }),
19509
- [offerList, serviceList]
19510
- );
19511
19401
  const serviceItemsForMenu = serviceList.flatMap(
19512
19402
  (s) => (s.service_items || []).map((si) => __spreadProps(__spreadValues({}, si), {
19513
19403
  service_name: s.name,
@@ -19515,10 +19405,9 @@ function ServiceMenuSection({
19515
19405
  service_description_markdown: s.description_markdown
19516
19406
  }))
19517
19407
  );
19518
- const hasAny = offersForMenu.length > 0 || packagesForMenu.length > 0 || serviceItemsForMenu.length > 0;
19408
+ const hasAny = packagesForMenu.length > 0 || serviceItemsForMenu.length > 0;
19519
19409
  const CAROUSEL_MIN = 3;
19520
19410
  const isPage = variant === "page";
19521
- const offersLayout = isPage ? "grid" : offersForMenu.length >= CAROUSEL_MIN ? "carousel" : "grid";
19522
19411
  const packagesLayout = isPage ? "grid" : packagesForMenu.length >= CAROUSEL_MIN ? "carousel" : "grid";
19523
19412
  const serviceItemsLayout = isPage ? "grid" : serviceItemsForMenu.length >= CAROUSEL_MIN ? "carousel" : "grid";
19524
19413
  const [detailItem, setDetailItem] = useState30(null);
@@ -19536,31 +19425,6 @@ function ServiceMenuSection({
19536
19425
  };
19537
19426
  }, []);
19538
19427
  const closeModal = useCallback10(() => setDetailItem(null), []);
19539
- const renderOfferCard = useCallback10(
19540
- (offer, index) => {
19541
- var _a, _b;
19542
- const categorySubtitle = ((_a = offer.category_names) == null ? void 0 : _a.length) ? offer.category_names.join(" | ") : (_b = offer.value_terms) != null ? _b : null;
19543
- const cardDesc = offer.description || offer.first_service_description_markdown;
19544
- const plainDesc = cardDesc ? (typeof cardDesc === "string" ? cardDesc : "").replace(/[#*`\[\]]/g, "").replace(/\n+/g, " ").trim() : "";
19545
- const descText = plainDesc.length > 120 ? plainDesc.slice(0, 120) + "\u2026" : plainDesc;
19546
- return /* @__PURE__ */ React63.createElement(
19547
- GridCardWithImage,
19548
- {
19549
- photoAttachments: offer.photo_attachments,
19550
- fallbackId: offer.id,
19551
- fallbackAlt: offer.name,
19552
- title: offer.name,
19553
- subtitle: categorySubtitle,
19554
- onClick: () => setDetailItem({ type: "offer", item: offer }),
19555
- websitePhotos,
19556
- companyInformation,
19557
- cycleSeed: `offer-${offer.id}-${index}`
19558
- },
19559
- descText && /* @__PURE__ */ React63.createElement("p", { className: "font-body text-sm text-tertiary mt-1 line-clamp-2" }, descText)
19560
- );
19561
- },
19562
- [websitePhotos, companyInformation]
19563
- );
19564
19428
  const renderPackageCard = useCallback10(
19565
19429
  (pkg, index) => {
19566
19430
  var _a;
@@ -19568,7 +19432,8 @@ function ServiceMenuSection({
19568
19432
  const cardDesc = pkg.description_markdown || pkg.summary || pkg.first_service_description_markdown;
19569
19433
  const plainDesc = cardDesc ? cardDesc.replace(/[#*`\[\]]/g, "").replace(/\n+/g, " ").trim() : "";
19570
19434
  const descText = plainDesc.length > 120 ? plainDesc.slice(0, 120) + "\u2026" : plainDesc;
19571
- return /* @__PURE__ */ React63.createElement(
19435
+ const hasSpecial = getActivePublicOffers(pkg.offers).length > 0;
19436
+ return /* @__PURE__ */ React60.createElement(
19572
19437
  GridCardWithImage,
19573
19438
  {
19574
19439
  photoAttachments: pkg.photo_attachments,
@@ -19579,9 +19444,10 @@ function ServiceMenuSection({
19579
19444
  onClick: () => setDetailItem({ type: "package", item: pkg }),
19580
19445
  websitePhotos,
19581
19446
  companyInformation,
19582
- cycleSeed: `pkg-${pkg.id}-${index}`
19447
+ cycleSeed: `pkg-${pkg.id}-${index}`,
19448
+ hasSpecial
19583
19449
  },
19584
- descText && /* @__PURE__ */ React63.createElement("p", { className: "font-body text-sm text-tertiary mt-1 line-clamp-2" }, descText)
19450
+ descText && /* @__PURE__ */ React60.createElement("p", { className: "font-body text-sm text-tertiary mt-1 line-clamp-2" }, descText)
19585
19451
  );
19586
19452
  },
19587
19453
  [websitePhotos, companyInformation]
@@ -19589,7 +19455,7 @@ function ServiceMenuSection({
19589
19455
  const renderServiceItemCard = useCallback10(
19590
19456
  (si, index) => {
19591
19457
  var _a, _b, _c, _d;
19592
- return /* @__PURE__ */ React63.createElement(
19458
+ return /* @__PURE__ */ React60.createElement(
19593
19459
  GridCardWithImage,
19594
19460
  {
19595
19461
  photoAttachments: si.photo_attachments,
@@ -19600,15 +19466,16 @@ function ServiceMenuSection({
19600
19466
  onClick: () => setDetailItem({ type: "service_item", item: si }),
19601
19467
  websitePhotos,
19602
19468
  companyInformation,
19603
- cycleSeed: `service-item-${si.id}-${index}`
19469
+ cycleSeed: `service-item-${si.id}-${index}`,
19470
+ hasSpecial: getActivePublicOffers(si.offers).length > 0
19604
19471
  },
19605
- formatPriceCents(si.price_cents) && /* @__PURE__ */ React63.createElement("p", { className: "font-body text-sm font-medium text-fg-primary mt-1" }, formatPriceCents(si.price_cents)),
19472
+ formatPriceCents(si.price_cents) && /* @__PURE__ */ React60.createElement("p", { className: "font-body text-sm font-medium text-fg-primary mt-1" }, formatPriceCents(si.price_cents)),
19606
19473
  (() => {
19607
19474
  const desc = si.summary || si.description_markdown || si.service_summary || si.service_description_markdown;
19608
19475
  if (!desc) return null;
19609
19476
  const plain = desc.replace(/[#*`\[\]]/g, "").replace(/\n+/g, " ").trim();
19610
19477
  const text = plain.length > 120 ? plain.slice(0, 120) + "\u2026" : plain;
19611
- return /* @__PURE__ */ React63.createElement("p", { className: "font-body text-sm text-tertiary mt-1 line-clamp-2" }, text);
19478
+ return /* @__PURE__ */ React60.createElement("p", { className: "font-body text-sm text-tertiary mt-1 line-clamp-2" }, text);
19612
19479
  })()
19613
19480
  );
19614
19481
  },
@@ -19616,15 +19483,7 @@ function ServiceMenuSection({
19616
19483
  );
19617
19484
  if (!hasAny) return null;
19618
19485
  const modalTitle = detailItem ? detailItem.item.name : "";
19619
- 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(
19620
- MenuBlock,
19621
- {
19622
- rowTitle: "Offers",
19623
- items: offersForMenu,
19624
- layout: offersLayout,
19625
- renderItem: renderOfferCard
19626
- }
19627
- ), /* @__PURE__ */ React63.createElement(
19486
+ 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(
19628
19487
  MenuBlock,
19629
19488
  {
19630
19489
  rowTitle: "Packages",
@@ -19632,7 +19491,7 @@ function ServiceMenuSection({
19632
19491
  layout: packagesLayout,
19633
19492
  renderItem: renderPackageCard
19634
19493
  }
19635
- ), /* @__PURE__ */ React63.createElement(
19494
+ ), /* @__PURE__ */ React60.createElement(
19636
19495
  MenuBlock,
19637
19496
  {
19638
19497
  rowTitle: servicesRowTitle,
@@ -19640,8 +19499,8 @@ function ServiceMenuSection({
19640
19499
  layout: serviceItemsLayout,
19641
19500
  renderItem: renderServiceItemCard
19642
19501
  }
19643
- ), 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(
19644
- /* @__PURE__ */ React63.createElement(
19502
+ ), 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(
19503
+ /* @__PURE__ */ React60.createElement(
19645
19504
  Modal,
19646
19505
  {
19647
19506
  isOpen: true,
@@ -19649,7 +19508,7 @@ function ServiceMenuSection({
19649
19508
  title: modalTitle,
19650
19509
  maxWidth: "2xl"
19651
19510
  },
19652
- /* @__PURE__ */ React63.createElement(
19511
+ /* @__PURE__ */ React60.createElement(
19653
19512
  DetailModalContent,
19654
19513
  {
19655
19514
  detail: detailItem,
@@ -19669,9 +19528,9 @@ function createThemedExport2(componentName, BaseComponent) {
19669
19528
  const { theme } = useTheme();
19670
19529
  try {
19671
19530
  const Component2 = getThemedComponent(componentName, theme);
19672
- return React64.createElement(Component2, props);
19531
+ return React61.createElement(Component2, props);
19673
19532
  } catch (e) {
19674
- return React64.createElement(BaseComponent, props);
19533
+ return React61.createElement(BaseComponent, props);
19675
19534
  }
19676
19535
  };
19677
19536
  }
@@ -19710,9 +19569,6 @@ var PolicyDocumentSection2 = PolicyDocumentSection;
19710
19569
  var SocialMediaHero3 = createThemedExport2("hero-social-media", SocialMediaHero);
19711
19570
  var TestimonialsHero3 = createThemedExport2("hero-testimonials", TestimonialsHero);
19712
19571
  var HomeHeroComponent2 = createThemedExport2("home-hero-component", HomeHeroComponent);
19713
- var OffersSection2 = createThemedExport2("offers-section", OffersSection);
19714
- var OffersGallery2 = createThemedExport2("offers-gallery", OffersGallery);
19715
- var OfferDetailSection2 = createThemedExport2("offer-detail", OfferDetailSection);
19716
19572
  export {
19717
19573
  AboutHome5 as AboutHome,
19718
19574
  BlogCardFullWidthHorizontal,
@@ -19773,10 +19629,6 @@ export {
19773
19629
  LocationDetailHero3 as LocationDetailHero,
19774
19630
  LocationDetailsSection3 as LocationDetailsSection,
19775
19631
  LocationGrid3 as LocationGrid,
19776
- OfferDetailSection2 as OfferDetailSection,
19777
- OffersGallery2 as OffersGallery,
19778
- OffersGrid,
19779
- OffersSection2 as OffersSection,
19780
19632
  PolicyDocumentSection2 as PolicyDocumentSection,
19781
19633
  ServiceDetailContent2 as ServiceDetailContent,
19782
19634
  ServiceDetailHero3 as ServiceDetailHero,