property-practice-ui 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/{Textarea-u7ONHI5M.d.cts → Textarea-BNvLsAXP.d.cts} +1 -10
  3. package/dist/{Textarea-u7ONHI5M.d.ts → Textarea-BNvLsAXP.d.ts} +1 -10
  4. package/dist/atoms.cjs +5 -3
  5. package/dist/atoms.cjs.map +1 -1
  6. package/dist/atoms.d.cts +12 -3
  7. package/dist/atoms.d.ts +12 -3
  8. package/dist/atoms.js +5 -3
  9. package/dist/atoms.js.map +1 -1
  10. package/dist/index.cjs +794 -300
  11. package/dist/index.cjs.map +1 -1
  12. package/dist/index.d.cts +34 -17
  13. package/dist/index.d.ts +34 -17
  14. package/dist/index.js +790 -296
  15. package/dist/index.js.map +1 -1
  16. package/package.json +1 -1
  17. package/src/atoms/Chip/Chip.tsx +29 -0
  18. package/src/atoms/SecondaryInput/SecondaryInput.tsx +5 -3
  19. package/src/molecules/Address/Address.tsx +113 -26
  20. package/src/molecules/CTAContainer/CTAContainer.tsx +28 -2
  21. package/src/molecules/ContentCard/ContentCard.tsx +5 -0
  22. package/src/molecules/ExtendedButton/ExtendedButton.stories.tsx +31 -0
  23. package/src/molecules/ExtendedButton/ExtendedButton.tsx +29 -0
  24. package/src/molecules/ProductInfo/ProductInfo.tsx +18 -0
  25. package/src/molecules/SideNav/SideNav.stories.tsx +161 -11
  26. package/src/molecules/SideNav/SideNav.tsx +219 -44
  27. package/src/organism/ContactForm/ContactForm.tsx +13 -2
  28. package/src/organism/FeatureCarousel/FeatureCarousel.tsx +130 -45
  29. package/src/organism/Footer/Footer.tsx +2 -2
  30. package/src/organism/Header/Header.tsx +70 -0
  31. package/src/templates/AboutUs/AboutUs.tsx +2 -2
  32. package/src/templates/Contact/Contact.tsx +21 -6
  33. package/src/templates/FAQ/FAQ.tsx +0 -1
  34. package/src/templates/Features/Features.tsx +26 -18
  35. package/src/templates/Hero/Hero.tsx +34 -8
  36. package/src/templates/OtherProducts/OtherProducts.tsx +73 -22
  37. package/src/tokens/colors.ts +1 -0
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var react = require('react');
4
- var styled39 = require('styled-components');
4
+ var styled40 = require('styled-components');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var hi2 = require('react-icons/hi2');
7
7
  var fa = require('react-icons/fa');
@@ -15,7 +15,7 @@ var hi = require('react-icons/hi');
15
15
 
16
16
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
17
17
 
18
- var styled39__default = /*#__PURE__*/_interopDefault(styled39);
18
+ var styled40__default = /*#__PURE__*/_interopDefault(styled40);
19
19
  var Link2__default = /*#__PURE__*/_interopDefault(Link2);
20
20
 
21
21
  // src/molecules/Dropdown/Dropdown.tsx
@@ -40,7 +40,8 @@ var colors = {
40
40
  active: "#828282",
41
41
  error: "#F87171",
42
42
  focus: "#3B82F6",
43
- brand: "#1D3C77"
43
+ brand: "#1D3C77",
44
+ light: "#f3f3f3"
44
45
  },
45
46
  text: {
46
47
  brand: "#1D3C77",
@@ -89,12 +90,12 @@ var spaces = {
89
90
  9: "56px",
90
91
  20: "150px"
91
92
  };
92
- var StyledLabel = styled39__default.default.span`
93
+ var StyledLabel = styled40__default.default.span`
93
94
  color: ${(props) => colors.text[props?.color]};
94
95
  font-size: ${sizes.sm};
95
96
  font-weight: ${(props) => props.fontWeight};
96
97
  `;
97
- var StyledFloatingLabel = styled39__default.default(StyledLabel)`
98
+ var StyledFloatingLabel = styled40__default.default(StyledLabel)`
98
99
  position: absolute;
99
100
  left: 0;
100
101
  bottom: 100%;
@@ -119,7 +120,7 @@ var FloatingLabel = ({
119
120
  return /* @__PURE__ */ jsxRuntime.jsx(StyledFloatingLabel, { color, fontWeight, children: value });
120
121
  };
121
122
  var variants = ["brand", "teal", "blue"];
122
- var StyledContainer = styled39__default.default.button`
123
+ var StyledContainer = styled40__default.default.button`
123
124
  padding: 0.75rem;
124
125
  ${(props) => props.as === "button" ? `
125
126
  width: 2.5rem;
@@ -149,7 +150,7 @@ var StyledContainer = styled39__default.default.button`
149
150
  transform: rotate(45deg);
150
151
  }
151
152
  `;
152
- var StyledIcon = styled39__default.default(hi2.HiArrowUpRight)`
153
+ var StyledIcon = styled40__default.default(hi2.HiArrowUpRight)`
153
154
  width: 1rem;
154
155
  height: 1rem;
155
156
  color: ${colors.text.secondary};
@@ -179,10 +180,10 @@ var radii = {
179
180
  lg: "10px",
180
181
  xl: "16px"
181
182
  };
182
- var spin = styled39.keyframes`
183
+ var spin = styled40.keyframes`
183
184
  to { transform: rotate(360deg); }
184
185
  `;
185
- var Ring = styled39__default.default.span`
186
+ var Ring = styled40__default.default.span`
186
187
  display: inline-block;
187
188
  width: ${({ size }) => typeof size === "number" ? `${size}px` : size};
188
189
  height: ${({ size }) => typeof size === "number" ? `${size}px` : size};
@@ -217,7 +218,7 @@ var Loader = ({
217
218
  );
218
219
  };
219
220
  var ButtonTypes = ["submit", "reset", "button"];
220
- var StyledButton = styled39__default.default.button`
221
+ var StyledButton = styled40__default.default.button`
221
222
  padding: ${spaces[2]} ${spaces[4]};
222
223
  background-color: ${(props) => props.variant === "light" ? colors.button.primary : colors.button.secondary};
223
224
  border-radius: ${radii.lg};
@@ -244,7 +245,7 @@ var StyledButton = styled39__default.default.button`
244
245
  color: ${colors.text.primary};
245
246
  }
246
247
  `;
247
- var ButtonText = styled39__default.default.span`
248
+ var ButtonText = styled40__default.default.span`
248
249
  font-size: 12px;
249
250
  font-weight: 700;
250
251
  `;
@@ -273,7 +274,7 @@ var Button = ({
273
274
  };
274
275
  Button.types = ButtonTypes;
275
276
  var variants2 = ["primary", "secondary", "subtle", "error"];
276
- var StyledDescription = styled39__default.default.p`
277
+ var StyledDescription = styled40__default.default.p`
277
278
  margin: 0;
278
279
  font-size: 1rem;
279
280
  line-height: 1.6;
@@ -299,7 +300,7 @@ var Description = ({
299
300
  return /* @__PURE__ */ jsxRuntime.jsx(StyledDescription, { variant, children });
300
301
  };
301
302
  Description.variants = variants2;
302
- var StyledButton2 = styled39__default.default.button`
303
+ var StyledButton2 = styled40__default.default.button`
303
304
  display: flex;
304
305
  align-items: center;
305
306
  height: 2.5rem;
@@ -325,12 +326,12 @@ var ExtendedButton = ({
325
326
  /* @__PURE__ */ jsxRuntime.jsx(TextButton, { asChild: true, text, bgVariant: textBgVariant, textVariant, uppercase: false })
326
327
  ] });
327
328
  };
328
- var Container = styled39__default.default.div`
329
+ var Container = styled40__default.default.div`
329
330
  display: flex;
330
331
  gap: 1rem;
331
332
  background-color: transparent;
332
333
  `;
333
- var ThumbnailWrapper = styled39__default.default.div`
334
+ var ThumbnailWrapper = styled40__default.default.div`
334
335
  width: ${(props) => props.$size || "3rem"};
335
336
  height: ${(props) => props.$size || "3rem"};
336
337
  border-radius: 50%;
@@ -340,18 +341,18 @@ var ThumbnailWrapper = styled39__default.default.div`
340
341
  justify-content: center;
341
342
  flex-shrink: 0;
342
343
  `;
343
- var Content = styled39__default.default.div`
344
+ var Content = styled40__default.default.div`
344
345
  display: flex;
345
346
  flex-direction: column;
346
347
  gap: 0.25rem;
347
348
  `;
348
- var Title = styled39__default.default.h3`
349
+ var Title = styled40__default.default.h3`
349
350
  margin: 0;
350
351
  font-size: 1rem;
351
352
  font-weight: 600;
352
353
  color: ${(props) => colors.text[props.titleColor]};
353
354
  `;
354
- var Description2 = styled39__default.default.p`
355
+ var Description2 = styled40__default.default.p`
355
356
  margin: 0;
356
357
  font-size: 0.875rem;
357
358
  line-height: 1.5;
@@ -393,12 +394,12 @@ var FeatureItem = ({
393
394
  var breakpoints = {
394
395
  sm: "640px",
395
396
  lg: "1024px"};
396
- styled39__default.default.div`
397
+ styled40__default.default.div`
397
398
  width: 100%;
398
399
  display: flex;
399
400
  justify-content: center;
400
401
  `;
401
- styled39__default.default.div`
402
+ styled40__default.default.div`
402
403
  display: flex;
403
404
  flex-direction: column;
404
405
  padding: ${spaces[4]};
@@ -426,7 +427,7 @@ var variants3 = {
426
427
  letterSpacing: "0.2px"
427
428
  }
428
429
  };
429
- var StyledText = styled39__default.default.h1`
430
+ var StyledText = styled40__default.default.h1`
430
431
  color: ${(props) => colors.text[props?.color]};
431
432
  font-size: ${(props) => variants3[props.variant].fontSize};
432
433
  font-weight: ${(props) => variants3[props.variant].fontWeight};
@@ -443,7 +444,7 @@ var Header = ({
443
444
 
444
445
  // src/types.ts
445
446
  var InputTypes = ["number", "text", "email", "date"];
446
- var StyledInput = styled39__default.default.input`
447
+ var StyledInput = styled40__default.default.input`
447
448
  display: block;
448
449
  height: 100%;
449
450
  width: 100%;
@@ -457,7 +458,7 @@ var Input = ({ name, onChange, ...rest }) => {
457
458
  };
458
459
  Input.types = InputTypes;
459
460
  var variants4 = ["primary", "secondary", "subtle", "error"];
460
- var StyledPill = styled39__default.default.span`
461
+ var StyledPill = styled40__default.default.span`
461
462
  display: inline-block;
462
463
  padding: 0.5rem 1rem;
463
464
  border-radius: 9999px;
@@ -519,7 +520,7 @@ var Pill = ({
519
520
  return /* @__PURE__ */ jsxRuntime.jsx(StyledPill, { variant, $inverse: inverse, children });
520
521
  };
521
522
  Pill.variants = variants4;
522
- var Container3 = styled39__default.default.div`
523
+ var Container3 = styled40__default.default.div`
523
524
  border-radius: ${radii.md};
524
525
  padding: ${spaces["3"]};
525
526
  display: flex;
@@ -545,7 +546,7 @@ var Container3 = styled39__default.default.div`
545
546
  background-color: rgba(255, 255, 255, 0.92);
546
547
  }
547
548
  `;
548
- var Label2 = styled39__default.default.span`
549
+ var Label2 = styled40__default.default.span`
549
550
  font-size: 16px;
550
551
  font-weight: ${(props) => props.isSelected ? "800" : "400"};
551
552
  text-align: center;
@@ -556,10 +557,10 @@ var RadioItem = ({ label, isSelected, onClick }) => {
556
557
  /* @__PURE__ */ jsxRuntime.jsx(Label2, { isSelected, children: label })
557
558
  ] });
558
559
  };
559
- var Container4 = styled39__default.default.div`
560
+ var Container4 = styled40__default.default.div`
560
561
  width: 100%;
561
562
  `;
562
- var Label3 = styled39__default.default.label`
563
+ var Label3 = styled40__default.default.label`
563
564
  display: block;
564
565
  font-size: 13px;
565
566
  font-weight: 600;
@@ -567,12 +568,13 @@ var Label3 = styled39__default.default.label`
567
568
  opacity: 0.8;
568
569
  margin-bottom: 0.5rem;
569
570
  `;
570
- var StyledInput2 = styled39__default.default.input`
571
+ var StyledInput2 = styled40__default.default.input`
572
+ box-sizing: border-box;
571
573
  height: 2.75rem;
572
574
  width: 100%;
573
575
  border-radius: 6px;
574
576
  border: 1px solid ${(props) => props.$borderColor || "#d1d5db"};
575
- background-color: ${(props) => props.$bgColor ? colors.background[props.$bgColor] : colors.background?.light};
577
+ background-color: ${(props) => props.$bgColor ? colors.background[props.$bgColor] : colors.background?.secondary};
576
578
  padding: 0 0.75rem;
577
579
  font-size: 15px;
578
580
  color: ${(props) => props.$textColor ? colors.text[props.$textColor] : colors.text.primary};
@@ -589,11 +591,12 @@ var StyledInput2 = styled39__default.default.input`
589
591
  }};
590
592
  }
591
593
  `;
592
- var StyledTextArea = styled39__default.default.textarea`
594
+ var StyledTextArea = styled40__default.default.textarea`
595
+ box-sizing: border-box;
593
596
  width: 100%;
594
597
  border-radius: 6px;
595
598
  border: 1px solid ${(props) => props.$borderColor || "#d1d5db"};
596
- background-color: ${(props) => props.$bgColor ? colors.background[props.$bgColor] : colors.background?.light};
599
+ background-color: ${(props) => props.$bgColor ? colors.background[props.$bgColor] : colors.background?.secondary};
597
600
  padding: 0.75rem;
598
601
  font-size: 15px;
599
602
  color: ${(props) => props.$textColor ? colors.text[props.$textColor] : colors.text.primary};
@@ -616,7 +619,7 @@ var SecondaryInput = ({
616
619
  labelColor = "brand",
617
620
  inputTextColor = "primary",
618
621
  placeholderColor = "subtle",
619
- backgroundColor = "light",
622
+ backgroundColor = "secondary",
620
623
  borderColor = "#d1d5db",
621
624
  focusRingColor = "brand",
622
625
  ...rest
@@ -648,7 +651,7 @@ var SecondaryInput = ({
648
651
  ] });
649
652
  };
650
653
  var variants5 = ["primary", "secondary", "inverse", "filled"];
651
- var StyledButton3 = styled39__default.default.button`
654
+ var StyledButton3 = styled40__default.default.button`
652
655
  width: 2.5rem;
653
656
  height: 2.5rem;
654
657
  display: flex;
@@ -724,7 +727,7 @@ var SocialButton = ({
724
727
  };
725
728
  SocialButton.variants = variants5;
726
729
  var variants6 = ["primary", "secondary", "subtle"];
727
- var CheckboxContainer = styled39__default.default.label`
730
+ var CheckboxContainer = styled40__default.default.label`
728
731
  display: flex;
729
732
  align-items: flex-start;
730
733
  gap: 0.75rem;
@@ -732,12 +735,12 @@ var CheckboxContainer = styled39__default.default.label`
732
735
  font-size: 0.875rem;
733
736
  line-height: 1.5;
734
737
  `;
735
- var HiddenCheckbox = styled39__default.default.input.attrs({ type: "checkbox" })`
738
+ var HiddenCheckbox = styled40__default.default.input.attrs({ type: "checkbox" })`
736
739
  position: absolute;
737
740
  opacity: 0;
738
741
  cursor: pointer;
739
742
  `;
740
- var StyledCheckbox = styled39__default.default.div`
743
+ var StyledCheckbox = styled40__default.default.div`
741
744
  width: 1.25rem;
742
745
  height: 1.25rem;
743
746
  border: 2px solid ${(props) => {
@@ -785,7 +788,7 @@ var StyledCheckbox = styled39__default.default.div`
785
788
  display: ${(props) => props.$checked ? "block" : "none"};
786
789
  }
787
790
  `;
788
- var Text = styled39__default.default.span`
791
+ var Text = styled40__default.default.span`
789
792
  color: ${(props) => {
790
793
  switch (props.variant) {
791
794
  case "primary":
@@ -799,7 +802,7 @@ var Text = styled39__default.default.span`
799
802
  }
800
803
  }};
801
804
  `;
802
- var Link = styled39__default.default.a`
805
+ var Link = styled40__default.default.a`
803
806
  color: ${(props) => {
804
807
  switch (props.variant) {
805
808
  case "primary":
@@ -866,7 +869,7 @@ var variants7 = {
866
869
  fontWeight: 500
867
870
  }
868
871
  };
869
- var StyledText2 = styled39__default.default.h1`
872
+ var StyledText2 = styled40__default.default.h1`
870
873
  color: ${(props) => colors.text[props?.color]};
871
874
  font-size: ${(props) => variants7[props.variant].fontSize};
872
875
  font-weight: ${(props) => variants7[props.variant].fontWeight};
@@ -879,7 +882,7 @@ var Text2 = ({
879
882
  return /* @__PURE__ */ jsxRuntime.jsx(StyledText2, { color, variant, children });
880
883
  };
881
884
  Text2.variants = sizes2;
882
- var StyledTextarea = styled39__default.default.textarea`
885
+ var StyledTextarea = styled40__default.default.textarea`
883
886
  display: block;
884
887
  width: 100%;
885
888
  height: 100%;
@@ -900,7 +903,7 @@ var Textarea = ({
900
903
  Textarea.types = InputTypes;
901
904
  var bgVariants = ["primary", "secondary", "tertiary", "subtle", "blue", "brand", "light", "transparent"];
902
905
  var textVariants = ["brand", "primary", "secondary", "tertiary", "subtle", "light", "error", "blue"];
903
- var StyledContainer2 = styled39__default.default.button`
906
+ var StyledContainer2 = styled40__default.default.button`
904
907
  padding: 0 1rem;
905
908
  height: 2.5rem;
906
909
  display: flex;
@@ -919,7 +922,7 @@ var StyledContainer2 = styled39__default.default.button`
919
922
  opacity: 0.9;
920
923
  }
921
924
  `;
922
- var StyledText3 = styled39__default.default.span`
925
+ var StyledText3 = styled40__default.default.span`
923
926
  color: ${(props) => colors.text[props.textVariant]};
924
927
  font-size: 0.75rem;
925
928
  letter-spacing: 0.05em;
@@ -947,7 +950,7 @@ var TextButton = ({
947
950
  };
948
951
  TextButton.bgVariants = bgVariants;
949
952
  TextButton.textVariants = textVariants;
950
- styled39__default.default.div`
953
+ styled40__default.default.div`
951
954
  display: inline-flex;
952
955
  background-color: ${(props) => {
953
956
  switch (props.variant) {
@@ -965,7 +968,7 @@ styled39__default.default.div`
965
968
  padding: 0.25rem;
966
969
  gap: 0.25rem;
967
970
  `;
968
- styled39__default.default.button`
971
+ styled40__default.default.button`
969
972
  padding: 0.5rem 1.5rem;
970
973
  border-radius: 9999px;
971
974
  border: none;
@@ -1010,10 +1013,10 @@ styled39__default.default.button`
1010
1013
  opacity: ${(props) => props.$isActive ? 1 : 0.7};
1011
1014
  }
1012
1015
  `;
1013
- var Container5 = styled39__default.default.div`
1016
+ var Container5 = styled40__default.default.div`
1014
1017
  width: 100%;
1015
1018
  `;
1016
- var InnerContainer2 = styled39__default.default.div`
1019
+ var InnerContainer2 = styled40__default.default.div`
1017
1020
  position: relative;
1018
1021
  width: 100%;
1019
1022
  min-height: 58px;
@@ -1046,7 +1049,7 @@ var InputContainer = ({
1046
1049
  typeof error === "string" && /* @__PURE__ */ jsxRuntime.jsx(Label, { value: error, color: "error" })
1047
1050
  ] });
1048
1051
  };
1049
- var Select = styled39__default.default.select`
1052
+ var Select = styled40__default.default.select`
1050
1053
  width: 100%;
1051
1054
  color: ${colors.text.subtle};
1052
1055
  background: transparent;
@@ -1068,7 +1071,7 @@ var Select = styled39__default.default.select`
1068
1071
  color: ${colors.text.subtle};
1069
1072
  }
1070
1073
  `;
1071
- var OptionItem = styled39__default.default.option`
1074
+ var OptionItem = styled40__default.default.option`
1072
1075
  color: ${(props) => props.disabled ? colors.text.light : colors.text.subtle};
1073
1076
  `;
1074
1077
  var Dropdown = ({
@@ -2022,20 +2025,20 @@ function TopMenu({ logoUrl, children }) {
2022
2025
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-x-4 text-sm font-medium ", children })
2023
2026
  ] }) });
2024
2027
  }
2025
- var Container6 = styled39__default.default.div`
2028
+ var Container6 = styled40__default.default.div`
2026
2029
  width: 100%;
2027
2030
  padding: ${spaces[4]};
2028
2031
  `;
2029
2032
  var AccordionContent = ({ children }) => {
2030
2033
  return /* @__PURE__ */ jsxRuntime.jsx(Container6, { children });
2031
2034
  };
2032
- var Container7 = styled39__default.default.div`
2035
+ var Container7 = styled40__default.default.div`
2033
2036
  display: flex;
2034
2037
  align-items: center;
2035
2038
  justify-content: space-between;
2036
2039
  width: 100%;
2037
2040
  `;
2038
- var HeaderContainer = styled39__default.default.div`
2041
+ var HeaderContainer = styled40__default.default.div`
2039
2042
  display: flex;
2040
2043
  align-items: center;
2041
2044
  gap: ${spaces[2]};
@@ -2067,7 +2070,7 @@ var AccordionHeader = ({
2067
2070
  )
2068
2071
  ] });
2069
2072
  };
2070
- var Container8 = styled39__default.default.div`
2073
+ var Container8 = styled40__default.default.div`
2071
2074
  border-radius: ${radii.lg};
2072
2075
  background-color: ${colors.background.secondary};
2073
2076
  padding: ${spaces[4]};
@@ -2096,19 +2099,88 @@ var Accordion = ({
2096
2099
  ] });
2097
2100
  };
2098
2101
  var variants9 = ["primary", "inverse", "subtle"];
2099
- var AddressContainer = styled39__default.default.div`
2102
+ var AddressContainer = styled40__default.default.div`
2100
2103
  display: flex;
2101
2104
  flex-direction: column;
2102
- gap: 1rem;
2103
2105
  background-color: transparent;
2104
2106
  padding: 2rem;
2107
+
2108
+ /* Desktop: normal spacing */
2109
+ @media (min-width: 768px) {
2110
+ gap: 1rem;
2111
+ }
2112
+
2113
+ /* Mobile: no gap, handled by collapse */
2114
+ @media (max-width: 767px) {
2115
+ padding: 1rem;
2116
+ gap: 0;
2117
+ }
2118
+ `;
2119
+ var HeaderWrapper = styled40__default.default.div`
2120
+ display: flex;
2121
+ justify-content: space-between;
2122
+ align-items: center;
2123
+
2124
+ /* Desktop: not clickable */
2125
+ @media (min-width: 768px) {
2126
+ cursor: default;
2127
+ }
2128
+
2129
+ /* Mobile: clickable */
2130
+ @media (max-width: 767px) {
2131
+ cursor: ${(props) => props.$isClickable ? "pointer" : "default"};
2132
+ padding: 0.5rem 0;
2133
+ user-select: none;
2134
+ }
2135
+ `;
2136
+ var ToggleIcon = styled40__default.default.div`
2137
+ display: none;
2138
+
2139
+ /* Only show on mobile */
2140
+ @media (max-width: 767px) {
2141
+ display: flex;
2142
+ align-items: center;
2143
+ font-size: 1.5rem;
2144
+
2145
+ color: ${(props) => {
2146
+ switch (props.variant) {
2147
+ case "primary":
2148
+ return colors.text.primary;
2149
+ case "inverse":
2150
+ return colors.text.secondary;
2151
+ case "subtle":
2152
+ return colors.text.subtle;
2153
+ default:
2154
+ return colors.text.primary;
2155
+ }
2156
+ }};
2157
+ }
2158
+ `;
2159
+ var CollapseContent = styled40__default.default.div`
2160
+ display: flex;
2161
+ flex-direction: column;
2162
+ gap: 1rem;
2163
+
2164
+ /* Desktop: always visible */
2165
+ @media (min-width: 768px) {
2166
+ display: flex;
2167
+ }
2168
+
2169
+ /* Mobile: collapsible */
2170
+ @media (max-width: 767px) {
2171
+ max-height: ${(props) => props.$isOpen ? "500px" : "0"};
2172
+ opacity: ${(props) => props.$isOpen ? "1" : "0"};
2173
+ overflow: hidden;
2174
+ transition: max-height 0.3s ease, opacity 0.3s ease;
2175
+ padding-top: ${(props) => props.$isOpen ? "1rem" : "0"};
2176
+ }
2105
2177
  `;
2106
- var InfoSection = styled39__default.default.div`
2178
+ var InfoSection = styled40__default.default.div`
2107
2179
  display: flex;
2108
2180
  flex-direction: column;
2109
2181
  gap: 0.5rem;
2110
2182
  `;
2111
- var InfoText = styled39__default.default.p`
2183
+ var InfoText = styled40__default.default.p`
2112
2184
  margin: 0;
2113
2185
  font-size: 0.875rem;
2114
2186
  line-height: 1.6;
@@ -2126,7 +2198,7 @@ var InfoText = styled39__default.default.p`
2126
2198
  }};
2127
2199
  font-weight: ${(props) => props.$bold ? 600 : 400};
2128
2200
  `;
2129
- var ButtonWrapper = styled39__default.default.div`
2201
+ var ButtonWrapper = styled40__default.default.div`
2130
2202
  margin-top: 0.5rem;
2131
2203
  `;
2132
2204
  var Address = ({
@@ -2138,6 +2210,7 @@ var Address = ({
2138
2210
  onDirectionsClick,
2139
2211
  variant = "primary"
2140
2212
  }) => {
2213
+ const [isOpen, setIsOpen] = react.useState(false);
2141
2214
  const handleDirectionsClick = () => {
2142
2215
  if (onDirectionsClick) {
2143
2216
  onDirectionsClick();
@@ -2176,26 +2249,38 @@ var Address = ({
2176
2249
  }
2177
2250
  };
2178
2251
  return /* @__PURE__ */ jsxRuntime.jsxs(AddressContainer, { children: [
2179
- /* @__PURE__ */ jsxRuntime.jsx(Header, { variant: "h1", color: getHeaderVariant(), children: title }),
2180
- /* @__PURE__ */ jsxRuntime.jsxs(InfoSection, { children: [
2181
- phone && /* @__PURE__ */ jsxRuntime.jsx(InfoText, { variant, children: phone }),
2182
- email && /* @__PURE__ */ jsxRuntime.jsx(InfoText, { variant, $bold: true, children: email.toUpperCase() }),
2183
- addressLines.map((line, index) => /* @__PURE__ */ jsxRuntime.jsx(InfoText, { variant, children: line }, index))
2184
- ] }),
2185
- /* @__PURE__ */ jsxRuntime.jsx(ButtonWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(
2186
- TextButton,
2252
+ /* @__PURE__ */ jsxRuntime.jsxs(
2253
+ HeaderWrapper,
2187
2254
  {
2188
- text: directionsText,
2189
- onClick: handleDirectionsClick,
2190
- bgVariant: getButtonBgVariant(),
2191
- textVariant: getButtonTextVariant(),
2192
- uppercase: true
2255
+ $isClickable: true,
2256
+ onClick: () => setIsOpen(!isOpen),
2257
+ children: [
2258
+ /* @__PURE__ */ jsxRuntime.jsx(Header, { variant: "h1", color: getHeaderVariant(), children: title }),
2259
+ /* @__PURE__ */ jsxRuntime.jsx(ToggleIcon, { variant, children: isOpen ? /* @__PURE__ */ jsxRuntime.jsx(hi2.HiMinus, {}) : /* @__PURE__ */ jsxRuntime.jsx(hi2.HiPlus, {}) })
2260
+ ]
2193
2261
  }
2194
- ) })
2262
+ ),
2263
+ /* @__PURE__ */ jsxRuntime.jsxs(CollapseContent, { $isOpen: isOpen, children: [
2264
+ /* @__PURE__ */ jsxRuntime.jsxs(InfoSection, { children: [
2265
+ phone && /* @__PURE__ */ jsxRuntime.jsx(InfoText, { variant, children: phone }),
2266
+ email && /* @__PURE__ */ jsxRuntime.jsx(InfoText, { variant, $bold: true, children: email.toUpperCase() }),
2267
+ addressLines.map((line, index) => /* @__PURE__ */ jsxRuntime.jsx(InfoText, { variant, children: line }, index))
2268
+ ] }),
2269
+ /* @__PURE__ */ jsxRuntime.jsx(ButtonWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(
2270
+ TextButton,
2271
+ {
2272
+ text: directionsText,
2273
+ onClick: handleDirectionsClick,
2274
+ bgVariant: getButtonBgVariant(),
2275
+ textVariant: getButtonTextVariant(),
2276
+ uppercase: true
2277
+ }
2278
+ ) })
2279
+ ] })
2195
2280
  ] });
2196
2281
  };
2197
2282
  Address.variants = variants9;
2198
- var CheckboxWrapper = styled39__default.default.label`
2283
+ var CheckboxWrapper = styled40__default.default.label`
2199
2284
  display: flex;
2200
2285
  align-items: center;
2201
2286
  gap: ${spaces[2]};
@@ -2203,10 +2288,10 @@ var CheckboxWrapper = styled39__default.default.label`
2203
2288
  font-size: 16px;
2204
2289
  color: ${colors.text.subtle};
2205
2290
  `;
2206
- var HiddenCheckbox2 = styled39__default.default.input.attrs({ type: "checkbox" })`
2291
+ var HiddenCheckbox2 = styled40__default.default.input.attrs({ type: "checkbox" })`
2207
2292
  display: none;
2208
2293
  `;
2209
- var StyledCheckbox2 = styled39__default.default.span`
2294
+ var StyledCheckbox2 = styled40__default.default.span`
2210
2295
  width: ${sizes.lg};
2211
2296
  height: ${sizes.lg};
2212
2297
  border: 1.5px solid ${colors.background.tertiary};
@@ -2225,11 +2310,11 @@ var CheckboxItem = ({
2225
2310
  label
2226
2311
  ] });
2227
2312
  };
2228
- var Container9 = styled39__default.default.div`
2313
+ var Container9 = styled40__default.default.div`
2229
2314
  display: flex;
2230
2315
  flex-direction: column;
2231
2316
  `;
2232
- var OptionsContainer = styled39__default.default.div`
2317
+ var OptionsContainer = styled40__default.default.div`
2233
2318
  display: flex;
2234
2319
  gap: ${spaces[4]};
2235
2320
  `;
@@ -2260,7 +2345,7 @@ var Checkbox = ({
2260
2345
  )) })
2261
2346
  ] });
2262
2347
  };
2263
- var Container10 = styled39__default.default.div`
2348
+ var Container10 = styled40__default.default.div`
2264
2349
  display: flex;
2265
2350
  flex-direction: column;
2266
2351
  gap: 1rem;
@@ -2270,8 +2355,13 @@ var Container10 = styled39__default.default.div`
2270
2355
  padding: 1.5rem;
2271
2356
  border-radius: 8px;
2272
2357
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
2358
+ flex-shrink: 0;
2359
+
2360
+ @media (max-width: 767px) {
2361
+ width: 70vw;
2362
+ }
2273
2363
  `;
2274
- var ThumbnailWrapper2 = styled39__default.default.div`
2364
+ var ThumbnailWrapper2 = styled40__default.default.div`
2275
2365
  width: 180px;
2276
2366
  height: 180px;
2277
2367
  border-radius: 50%;
@@ -2282,7 +2372,7 @@ var ThumbnailWrapper2 = styled39__default.default.div`
2282
2372
  flex-shrink: 0;
2283
2373
  align-self: center;
2284
2374
  `;
2285
- var ButtonWrapper2 = styled39__default.default.div`
2375
+ var ButtonWrapper2 = styled40__default.default.div`
2286
2376
  display: flex;
2287
2377
  justify-content: flex-start;
2288
2378
  margin-top: auto;
@@ -2312,31 +2402,57 @@ var ContentCard = ({
2312
2402
  ] });
2313
2403
  };
2314
2404
  var variants10 = ["primary", "secondary", "transparent"];
2315
- var Container11 = styled39__default.default.div`
2405
+ var Container11 = styled40__default.default.div`
2316
2406
  display: flex;
2317
2407
  flex-direction: column;
2318
2408
  gap: 1.5rem;
2319
2409
  padding: 3rem 2rem;
2320
-
2321
2410
  max-width: 500px;
2411
+
2412
+ /* Mobile adjustments */
2413
+ @media (max-width: 767px) {
2414
+ padding: 2rem 1rem;
2415
+ max-width: 100%;
2416
+ }
2322
2417
  `;
2323
- var Header2 = styled39__default.default.h1`
2418
+ var Header2 = styled40__default.default.h1`
2324
2419
  margin: 0;
2325
2420
  font-size: 2.5rem;
2326
2421
  font-weight: 700;
2327
2422
  line-height: 1.2;
2328
2423
  color: ${(props) => colors.text[props.textColor]};
2424
+
2425
+ /* Responsive font size */
2426
+ @media (max-width: 767px) {
2427
+ font-size: 2rem;
2428
+ }
2429
+
2430
+ @media (max-width: 480px) {
2431
+ font-size: 1.75rem;
2432
+ }
2329
2433
  `;
2330
- var Description3 = styled39__default.default.p`
2434
+ var Description3 = styled40__default.default.p`
2331
2435
  margin: 0;
2332
2436
  font-size: 1.125rem;
2333
2437
  line-height: 1.6;
2334
2438
  color: ${(props) => colors.text[props.textColor]};
2439
+
2440
+ /* Responsive font size */
2441
+ @media (max-width: 767px) {
2442
+ font-size: 1rem;
2443
+ }
2335
2444
  `;
2336
- var ButtonGroup = styled39__default.default.div`
2445
+ var ButtonGroup = styled40__default.default.div`
2337
2446
  display: flex;
2338
2447
  gap: 1rem;
2339
2448
  align-items: center;
2449
+
2450
+ /* Stack vertically on mobile */
2451
+ @media (max-width: 767px) {
2452
+ flex-direction: column;
2453
+ align-items: stretch;
2454
+ width: 100%;
2455
+ }
2340
2456
  `;
2341
2457
  var CTAContainer = ({
2342
2458
  header,
@@ -2381,11 +2497,11 @@ var CTAContainer = ({
2381
2497
  ] });
2382
2498
  };
2383
2499
  CTAContainer.variants = variants10;
2384
- var AccordionContainer = styled39__default.default.div`
2500
+ var AccordionContainer = styled40__default.default.div`
2385
2501
  border-bottom: 1px solid ${colors.text.light};
2386
2502
  padding: 1.5rem 0;
2387
2503
  `;
2388
- var AccordionHeader2 = styled39__default.default.button`
2504
+ var AccordionHeader2 = styled40__default.default.button`
2389
2505
  width: 100%;
2390
2506
  display: flex;
2391
2507
  align-items: center;
@@ -2396,23 +2512,23 @@ var AccordionHeader2 = styled39__default.default.button`
2396
2512
  text-align: left;
2397
2513
  padding: 0;
2398
2514
  `;
2399
- var NumberBadge = styled39__default.default.span`
2515
+ var NumberBadge = styled40__default.default.span`
2400
2516
  font-size: 1rem;
2401
2517
  font-weight: 600;
2402
2518
  color: ${(props) => colors.text[props.numberColor]};
2403
2519
  flex-shrink: 0;
2404
2520
  `;
2405
- var HeaderWrapper = styled39__default.default.div`
2521
+ var HeaderWrapper2 = styled40__default.default.div`
2406
2522
  flex-grow: 1;
2407
2523
  `;
2408
- var IconWrapper = styled39__default.default.div`
2524
+ var IconWrapper = styled40__default.default.div`
2409
2525
  color: ${(props) => colors.text[props.iconColor]};
2410
2526
  flex-shrink: 0;
2411
2527
  display: flex;
2412
2528
  align-items: center;
2413
2529
  justify-content: center;
2414
2530
  `;
2415
- var AccordionContent2 = styled39__default.default.div`
2531
+ var AccordionContent2 = styled40__default.default.div`
2416
2532
  max-height: ${(props) => props.$isOpen ? "1000px" : "0"};
2417
2533
  overflow: hidden;
2418
2534
  transition: max-height 0.3s ease-in-out;
@@ -2434,17 +2550,17 @@ var FAQAccordion = ({
2434
2550
  return /* @__PURE__ */ jsxRuntime.jsxs(AccordionContainer, { children: [
2435
2551
  /* @__PURE__ */ jsxRuntime.jsxs(AccordionHeader2, { onClick: () => setIsOpen(!isOpen), children: [
2436
2552
  /* @__PURE__ */ jsxRuntime.jsx(NumberBadge, { numberColor, children: number }),
2437
- /* @__PURE__ */ jsxRuntime.jsx(HeaderWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(Header, { variant: headerVariant, color: titleColor, children: title }) }),
2553
+ /* @__PURE__ */ jsxRuntime.jsx(HeaderWrapper2, { children: /* @__PURE__ */ jsxRuntime.jsx(Header, { variant: headerVariant, color: titleColor, children: title }) }),
2438
2554
  /* @__PURE__ */ jsxRuntime.jsx(IconWrapper, { iconColor, children: isOpen ? /* @__PURE__ */ jsxRuntime.jsx(hi2.HiMinus, { size: 24 }) : /* @__PURE__ */ jsxRuntime.jsx(hi2.HiPlus, { size: 24 }) })
2439
2555
  ] }),
2440
2556
  /* @__PURE__ */ jsxRuntime.jsx(AccordionContent2, { $isOpen: isOpen, children: /* @__PURE__ */ jsxRuntime.jsx(Description, { variant: contentVariant, children: content }) })
2441
2557
  ] });
2442
2558
  };
2443
- var Container12 = styled39__default.default.div`
2559
+ var Container12 = styled40__default.default.div`
2444
2560
  display: flex;
2445
2561
  flex-direction: column;
2446
2562
  `;
2447
- var FeatureWrapper = styled39__default.default.div`
2563
+ var FeatureWrapper = styled40__default.default.div`
2448
2564
  padding: 1rem 0;
2449
2565
  border-bottom: 1px solid #e5e7eb;
2450
2566
 
@@ -2529,15 +2645,15 @@ var Input2 = ({ label, error, ...rest }) => {
2529
2645
  ] });
2530
2646
  };
2531
2647
  Input2.types = Input.types;
2532
- var fadeIn = styled39.keyframes`
2648
+ var fadeIn = styled40.keyframes`
2533
2649
  from { opacity: 0 }
2534
2650
  to { opacity: 1 }
2535
2651
  `;
2536
- styled39.keyframes`
2652
+ styled40.keyframes`
2537
2653
  from { transform: translateY(8px) scale(.98); opacity: 0 }
2538
2654
  to { transform: translateY(0) scale(1); opacity: 1 }
2539
2655
  `;
2540
- var Overlay = styled39__default.default.div`
2656
+ var Overlay = styled40__default.default.div`
2541
2657
  height: 100vh;
2542
2658
  width: 100vw;
2543
2659
  background-color: rgba(0, 0, 0, 0.4);
@@ -2549,7 +2665,7 @@ var Overlay = styled39__default.default.div`
2549
2665
  justify-content: center;
2550
2666
  animation: ${fadeIn} 160ms ease-out;
2551
2667
  `;
2552
- var ContentContainer = styled39__default.default.div`
2668
+ var ContentContainer = styled40__default.default.div`
2553
2669
  position: relative;
2554
2670
  width: min(${breakpoints.sm}, 92vw);
2555
2671
  max-height: 86vh;
@@ -2573,7 +2689,7 @@ var Modal = ({
2573
2689
  if (!visible) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {});
2574
2690
  return /* @__PURE__ */ jsxRuntime.jsx(Overlay, { contentPosition, onClick: onDismiss, children: /* @__PURE__ */ jsxRuntime.jsx(ContentContainer, { onClick: (e) => e.stopPropagation(), children }) });
2575
2691
  };
2576
- var Container13 = styled39__default.default.div`
2692
+ var Container13 = styled40__default.default.div`
2577
2693
  display: flex;
2578
2694
  align-items: center ;
2579
2695
  justify-content: space-between;
@@ -2581,7 +2697,7 @@ padding: ${spaces[2]} ${spaces[3]};
2581
2697
  background-color: ${(props) => props.isComplete ? colors.background.blue : colors.background.light};
2582
2698
  border-radius: ${radii.sm};
2583
2699
  `;
2584
- var Row = styled39__default.default.div`
2700
+ var Row = styled40__default.default.div`
2585
2701
  display: flex;
2586
2702
  align-items: center;
2587
2703
  gap: ${spaces[2]};
@@ -2595,21 +2711,21 @@ var OverviewRowItem = ({ isComplete, isMainHeader, title }) => {
2595
2711
  ] })
2596
2712
  ] });
2597
2713
  };
2598
- var Container14 = styled39__default.default.div`
2714
+ var Container14 = styled40__default.default.div`
2599
2715
  width: '100%';
2600
2716
  min-height: '100vh';
2601
2717
  padding-bottom: ${spaces[9]};
2602
2718
  `;
2603
- var HeaderContainer2 = styled39__default.default.div`
2719
+ var HeaderContainer2 = styled40__default.default.div`
2604
2720
  padding: ${spaces[4.5]} ${spaces[6]};
2605
2721
  display: flex;
2606
2722
  align-items: center;
2607
2723
  justify-content: space-between;
2608
2724
  `;
2609
- var ContentContainer2 = styled39__default.default.div`
2725
+ var ContentContainer2 = styled40__default.default.div`
2610
2726
  border-top: 1px solid ${colors.border.hover};
2611
2727
  `;
2612
- var SpinnerContainer = styled39__default.default.div`
2728
+ var SpinnerContainer = styled40__default.default.div`
2613
2729
  display: flex;
2614
2730
  width: 100%;
2615
2731
  padding: ${spaces[6]};
@@ -2632,7 +2748,7 @@ var PageLayout = ({
2632
2748
  ] });
2633
2749
  };
2634
2750
  var variants11 = ["documents", "properties"];
2635
- var Container15 = styled39__default.default.div`
2751
+ var Container15 = styled40__default.default.div`
2636
2752
  display: flex;
2637
2753
  flex-direction: column;
2638
2754
  align-items: center;
@@ -2658,7 +2774,7 @@ var EmptyState = ({ variant, message }) => {
2658
2774
  ] });
2659
2775
  };
2660
2776
  EmptyState.variants = variants11;
2661
- var Container16 = styled39__default.default.div`
2777
+ var Container16 = styled40__default.default.div`
2662
2778
  width: 100%;
2663
2779
  height: 100%;
2664
2780
  `;
@@ -2685,13 +2801,20 @@ var PDFPreviewer = ({ url }) => {
2685
2801
  }
2686
2802
  ) });
2687
2803
  };
2688
- var Container17 = styled39__default.default.div`
2804
+ var Container17 = styled40__default.default.div`
2689
2805
  display: flex;
2690
2806
  gap: 1.5rem;
2691
2807
  align-items: center;
2692
2808
  max-width: 600px;
2809
+
2810
+ /* Mobile: stack vertically */
2811
+ @media (max-width: 767px) {
2812
+ flex-direction: column;
2813
+ align-items: flex-start;
2814
+ max-width: 100%;
2815
+ }
2693
2816
  `;
2694
- var ImageWrapper = styled39__default.default.div`
2817
+ var ImageWrapper = styled40__default.default.div`
2695
2818
  flex-shrink: 0;
2696
2819
  width: 180px;
2697
2820
  height: 180px;
@@ -2703,13 +2826,24 @@ var ImageWrapper = styled39__default.default.div`
2703
2826
  height: 100%;
2704
2827
  object-fit: cover;
2705
2828
  }
2829
+
2830
+ /* Mobile: full width */
2831
+ @media (max-width: 767px) {
2832
+ width: 100%;
2833
+ height: 200px;
2834
+ }
2706
2835
  `;
2707
- var ContentWrapper = styled39__default.default.div`
2836
+ var ContentWrapper = styled40__default.default.div`
2708
2837
  display: flex;
2709
2838
  flex-direction: column;
2710
2839
  gap: 1rem;
2840
+
2841
+ /* Mobile: full width */
2842
+ @media (max-width: 767px) {
2843
+ width: 100%;
2844
+ }
2711
2845
  `;
2712
- var LogoWrapper = styled39__default.default.div`
2846
+ var LogoWrapper = styled40__default.default.div`
2713
2847
  max-width: 200px;
2714
2848
 
2715
2849
  img {
@@ -2747,15 +2881,15 @@ var ProductInfo = ({
2747
2881
  ] })
2748
2882
  ] });
2749
2883
  };
2750
- var Container18 = styled39__default.default.div``;
2751
- var OptionsContainer2 = styled39__default.default.div`
2884
+ var Container18 = styled40__default.default.div``;
2885
+ var OptionsContainer2 = styled40__default.default.div`
2752
2886
  margin-top: ${spaces[2]};
2753
2887
  display: flex;
2754
2888
  flex-direction: row;
2755
2889
  flex: 1;
2756
2890
  gap: ${spaces[2]};
2757
2891
  `;
2758
- var LabelContainer = styled39__default.default.div`
2892
+ var LabelContainer = styled40__default.default.div`
2759
2893
  padding-left: ${spaces[1]};
2760
2894
  `;
2761
2895
  var RadioGroup = ({
@@ -2780,7 +2914,7 @@ var RadioGroup = ({
2780
2914
  ] });
2781
2915
  };
2782
2916
  var variants12 = ["primary", "secondary", "subtle"];
2783
- var Overlay2 = styled39__default.default.div`
2917
+ var Overlay2 = styled40__default.default.div`
2784
2918
  position: fixed;
2785
2919
  top: 0;
2786
2920
  left: 0;
@@ -2792,7 +2926,7 @@ var Overlay2 = styled39__default.default.div`
2792
2926
  justify-content: center;
2793
2927
  z-index: 1000;
2794
2928
  `;
2795
- var ChartContainer = styled39__default.default.div`
2929
+ var ChartContainer = styled40__default.default.div`
2796
2930
  background-color: #ffffff;
2797
2931
  border-radius: 8px;
2798
2932
  padding: 2rem;
@@ -2800,13 +2934,13 @@ var ChartContainer = styled39__default.default.div`
2800
2934
  width: 90%;
2801
2935
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
2802
2936
  `;
2803
- var HeaderSection = styled39__default.default.div`
2937
+ var HeaderSection = styled40__default.default.div`
2804
2938
  display: flex;
2805
2939
  justify-content: space-between;
2806
2940
  align-items: center;
2807
2941
  margin-bottom: 1.5rem;
2808
2942
  `;
2809
- var CloseButton = styled39__default.default.button`
2943
+ var CloseButton = styled40__default.default.button`
2810
2944
  background-color: ${(props) => {
2811
2945
  switch (props.variant) {
2812
2946
  case "primary":
@@ -2834,14 +2968,14 @@ var CloseButton = styled39__default.default.button`
2834
2968
  opacity: 0.8;
2835
2969
  }
2836
2970
  `;
2837
- var Table2 = styled39__default.default.table`
2971
+ var Table2 = styled40__default.default.table`
2838
2972
  width: 100%;
2839
2973
  border-collapse: collapse;
2840
2974
  `;
2841
- var TableHeader2 = styled39__default.default.thead`
2975
+ var TableHeader2 = styled40__default.default.thead`
2842
2976
  border-bottom: 2px solid #e5e7eb;
2843
2977
  `;
2844
- var TableHeaderCell = styled39__default.default.th`
2978
+ var TableHeaderCell = styled40__default.default.th`
2845
2979
  text-align: left;
2846
2980
  padding: 0.75rem 0;
2847
2981
  font-size: 0.875rem;
@@ -2860,15 +2994,15 @@ var TableHeaderCell = styled39__default.default.th`
2860
2994
  }
2861
2995
  }};
2862
2996
  `;
2863
- var TableBody = styled39__default.default.tbody``;
2864
- var TableRow2 = styled39__default.default.tr`
2997
+ var TableBody = styled40__default.default.tbody``;
2998
+ var TableRow2 = styled40__default.default.tr`
2865
2999
  border-bottom: 1px solid #f3f4f6;
2866
3000
 
2867
3001
  &:last-child {
2868
3002
  border-bottom: none;
2869
3003
  }
2870
3004
  `;
2871
- var TableCell = styled39__default.default.td`
3005
+ var TableCell = styled40__default.default.td`
2872
3006
  padding: 0.75rem 0;
2873
3007
  font-size: 0.875rem;
2874
3008
  color: ${(props) => {
@@ -2919,27 +3053,97 @@ var RatesChart = ({
2919
3053
  ] }) });
2920
3054
  };
2921
3055
  RatesChart.variants = variants12;
2922
- var StyledNav = styled39__default.default.nav`
3056
+ var Backdrop = styled40__default.default.div`
3057
+ display: none;
3058
+
3059
+ @media (max-width: 767px) {
3060
+ display: ${(props) => props.$isOpen ? "block" : "none"};
3061
+ position: fixed;
3062
+ top: 0;
3063
+ left: 0;
3064
+ right: 0;
3065
+ bottom: 0;
3066
+ background-color: rgba(0, 0, 0, 0.5);
3067
+ z-index: 9998;
3068
+ }
3069
+ `;
3070
+ var BackToTopWrapper = styled40__default.default.div`
3071
+ @media (max-width: 767px) {
3072
+ display: none;
3073
+ }
3074
+ `;
3075
+ var StyledNav = styled40__default.default.nav`
2923
3076
  width: 195px;
2924
- background-color: #ffffff;
2925
- border-right: 1px solid #e5e7eb;
2926
3077
  display: flex;
2927
3078
  flex-direction: column;
2928
3079
  min-height: 500px;
2929
3080
  height: 100vh;
2930
3081
  padding-bottom: 15px;
3082
+
3083
+ @media (min-width: 768px) {
3084
+ position: relative;
3085
+ background-color: #ffffff;
3086
+ border-right: 1px solid #e5e7eb;
3087
+ }
3088
+
3089
+ @media (max-width: 767px) {
3090
+ position: fixed;
3091
+ top: 0;
3092
+ left: 0;
3093
+ width: 100%;
3094
+ z-index: 9999;
3095
+ background-color: ${(props) => colors.background[props.$mobileBgVariant]};
3096
+ border-right: 1px solid ${(props) => colors.border[props.$borderVariant]};
3097
+ transform: translateX(${(props) => props.$isOpen ? "0" : "-100%"});
3098
+ transition: transform 0.3s ease-in-out;
3099
+ box-shadow: ${(props) => props.$isOpen ? "2px 0 8px rgba(0, 0, 0, 0.15)" : "none"};
3100
+ }
3101
+ `;
3102
+ var CloseButton2 = styled40__default.default.button`
3103
+ background: none;
3104
+ border: none;
3105
+ font-size: 1.5rem;
3106
+ cursor: pointer;
3107
+ padding: 0.5rem;
3108
+ color: ${(props) => colors.border[props.$textVariant]};
3109
+
3110
+ &:hover {
3111
+ opacity: 0.7;
3112
+ }
2931
3113
  `;
2932
- var NavList = styled39__default.default.ul`
3114
+ var MobileHeader = styled40__default.default.div`
3115
+ display: none;
3116
+
3117
+ @media (max-width: 767px) {
3118
+ display: flex;
3119
+ justify-content: space-between;
3120
+ align-items: center;
3121
+ padding: 1rem;
3122
+ }
3123
+ `;
3124
+ var NavList = styled40__default.default.ul`
2933
3125
  display: flex;
2934
3126
  flex-direction: column;
2935
3127
  list-style: none;
2936
3128
  margin: 0;
2937
3129
  padding: 0;
2938
3130
  `;
2939
- var NavItem = styled39__default.default.li`
3131
+ var DesktopNavList = styled40__default.default(NavList)`
3132
+ @media (max-width: 767px) {
3133
+ display: none;
3134
+ }
3135
+ `;
3136
+ var MobileNavList = styled40__default.default(NavList)`
3137
+ display: none;
3138
+
3139
+ @media (max-width: 767px) {
3140
+ display: flex;
3141
+ }
3142
+ `;
3143
+ var NavItem = styled40__default.default.li`
2940
3144
  display: flex;
2941
3145
  `;
2942
- var NavLink = styled39__default.default.a`
3146
+ var NavLink = styled40__default.default.a`
2943
3147
  display: flex;
2944
3148
  align-items: center;
2945
3149
  text-decoration: none;
@@ -2952,7 +3156,7 @@ var NavLink = styled39__default.default.a`
2952
3156
  }
2953
3157
  `}
2954
3158
  `;
2955
- var ActiveTriangle = styled39__default.default.div`
3159
+ var ActiveTriangle = styled40__default.default.div`
2956
3160
  width: 0;
2957
3161
  height: 0;
2958
3162
  border-top: 4px solid transparent;
@@ -2961,25 +3165,53 @@ var ActiveTriangle = styled39__default.default.div`
2961
3165
  flex-shrink: 0;
2962
3166
  margin-left: 1.5rem;
2963
3167
  `;
2964
- var InactiveSpacer = styled39__default.default.span`
3168
+ var InactiveSpacer = styled40__default.default.span`
2965
3169
  width: 6px;
2966
3170
  margin-right: 0.5rem;
2967
3171
  flex-shrink: 0;
2968
3172
  `;
2969
- var Divider = styled39__default.default.div`
3173
+ var Divider = styled40__default.default.div`
2970
3174
  height: 1px;
2971
3175
  background-color: ${(props) => colors.border[props.dividerColor]};
2972
3176
  margin: 1rem;
2973
3177
  `;
2974
- var Spacer = styled39__default.default.div`
3178
+ var Spacer = styled40__default.default.div`
2975
3179
  flex-grow: 1;
2976
3180
  `;
3181
+ var DesktopOnlySpacer = styled40__default.default(Spacer)`
3182
+ @media (max-width: 767px) {
3183
+ display: none;
3184
+ }
3185
+ `;
3186
+ var MobileButtonsWrapper = styled40__default.default.div`
3187
+ display: none;
3188
+
3189
+ @media (max-width: 767px) {
3190
+ display: flex;
3191
+ flex-direction: row;
3192
+ gap: 0.5rem;
3193
+ padding: 0 1rem;
3194
+ margin-top: auto;
3195
+ margin-bottom: 20px;
3196
+ }
3197
+ `;
2977
3198
  var SideNav = ({
3199
+ logo,
2978
3200
  items,
2979
3201
  activeItem,
2980
3202
  onBackToTop,
3203
+ isOpen = true,
3204
+ onClose,
3205
+ mobileButtons = [],
3206
+ mobileBgVariant = "tertiary",
3207
+ borderVariant = "primary",
3208
+ closeButtonVariant = "light",
3209
+ mobileActiveTextBgVariant = "transparent",
3210
+ mobileActiveTextVariant = "light",
3211
+ mobileInactiveTextBgVariant = "transparent",
3212
+ mobileInactiveTextVariant = "light",
2981
3213
  triangleColor = "primary",
2982
- dividerColor = "primary",
3214
+ dividerColor = "light",
2983
3215
  activeTextBgVariant = "transparent",
2984
3216
  activeTextVariant = "brand",
2985
3217
  inactiveTextBgVariant = "transparent",
@@ -2987,40 +3219,71 @@ var SideNav = ({
2987
3219
  backToTopBgVariant = "transparent",
2988
3220
  backToTopTextVariant = "subtle"
2989
3221
  }) => {
2990
- return /* @__PURE__ */ jsxRuntime.jsxs(StyledNav, { children: [
2991
- /* @__PURE__ */ jsxRuntime.jsx(Spacer, {}),
2992
- /* @__PURE__ */ jsxRuntime.jsx(NavList, { children: items.map((item) => {
2993
- const isActive = activeItem === item.href;
2994
- return /* @__PURE__ */ jsxRuntime.jsx(NavItem, { children: /* @__PURE__ */ jsxRuntime.jsxs(NavLink, { href: item.href, $isActive: isActive, children: [
2995
- isActive ? /* @__PURE__ */ jsxRuntime.jsx(ActiveTriangle, { triangleColor }) : /* @__PURE__ */ jsxRuntime.jsx(InactiveSpacer, {}),
2996
- /* @__PURE__ */ jsxRuntime.jsx(
2997
- TextButton,
2998
- {
2999
- asChild: true,
3000
- text: item.label,
3001
- bgVariant: isActive ? activeTextBgVariant : inactiveTextBgVariant,
3002
- textVariant: isActive ? activeTextVariant : inactiveTextVariant,
3003
- uppercase: false,
3004
- bold: isActive
3005
- }
3006
- )
3007
- ] }) }, item.href);
3008
- }) }),
3009
- /* @__PURE__ */ jsxRuntime.jsx(Divider, { dividerColor }),
3010
- /* @__PURE__ */ jsxRuntime.jsx(Spacer, {}),
3011
- /* @__PURE__ */ jsxRuntime.jsx(
3012
- TextButton,
3222
+ const renderNavItems = (isMobile) => items.map((item) => {
3223
+ const isActive = activeItem === item.href;
3224
+ return /* @__PURE__ */ jsxRuntime.jsx(NavItem, { children: /* @__PURE__ */ jsxRuntime.jsxs(NavLink, { href: item.href, $isActive: isActive, children: [
3225
+ isActive ? /* @__PURE__ */ jsxRuntime.jsx(ActiveTriangle, { triangleColor }) : /* @__PURE__ */ jsxRuntime.jsx(InactiveSpacer, {}),
3226
+ /* @__PURE__ */ jsxRuntime.jsx(
3227
+ TextButton,
3228
+ {
3229
+ asChild: true,
3230
+ text: item.label,
3231
+ bgVariant: isActive ? isMobile && mobileActiveTextBgVariant ? mobileActiveTextBgVariant : activeTextBgVariant : isMobile && mobileInactiveTextBgVariant ? mobileInactiveTextBgVariant : inactiveTextBgVariant,
3232
+ textVariant: isActive ? isMobile && mobileActiveTextVariant ? mobileActiveTextVariant : activeTextVariant : isMobile && mobileInactiveTextVariant ? mobileInactiveTextVariant : inactiveTextVariant,
3233
+ uppercase: false,
3234
+ bold: isActive
3235
+ }
3236
+ )
3237
+ ] }) }, item.href);
3238
+ });
3239
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3240
+ /* @__PURE__ */ jsxRuntime.jsx(Backdrop, { $isOpen: isOpen, onClick: onClose }),
3241
+ /* @__PURE__ */ jsxRuntime.jsxs(
3242
+ StyledNav,
3013
3243
  {
3014
- text: "Back to top",
3015
- onClick: onBackToTop,
3016
- bgVariant: backToTopBgVariant,
3017
- textVariant: backToTopTextVariant,
3018
- uppercase: false
3244
+ $isOpen: isOpen,
3245
+ $mobileBgVariant: mobileBgVariant,
3246
+ $borderVariant: borderVariant,
3247
+ children: [
3248
+ /* @__PURE__ */ jsxRuntime.jsxs(MobileHeader, { children: [
3249
+ logo,
3250
+ /* @__PURE__ */ jsxRuntime.jsx(CloseButton2, { onClick: onClose, "aria-label": "Close menu", $textVariant: closeButtonVariant, children: "\u2715" })
3251
+ ] }),
3252
+ /* @__PURE__ */ jsxRuntime.jsx(DesktopOnlySpacer, {}),
3253
+ /* @__PURE__ */ jsxRuntime.jsx(DesktopNavList, { children: renderNavItems(false) }),
3254
+ /* @__PURE__ */ jsxRuntime.jsx(MobileNavList, { children: renderNavItems(true) }),
3255
+ /* @__PURE__ */ jsxRuntime.jsx(Divider, { dividerColor }),
3256
+ /* @__PURE__ */ jsxRuntime.jsx(Spacer, {}),
3257
+ mobileButtons.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3258
+ /* @__PURE__ */ jsxRuntime.jsx(Divider, { dividerColor }),
3259
+ /* @__PURE__ */ jsxRuntime.jsx(MobileButtonsWrapper, { children: mobileButtons.map((button, index) => /* @__PURE__ */ jsxRuntime.jsx(
3260
+ ExtendedButton,
3261
+ {
3262
+ text: button.text,
3263
+ onClick: button.onClick,
3264
+ textBgVariant: button.bgVariant || "transparent",
3265
+ textVariant: button.textVariant || "subtle",
3266
+ arrowVariant: button.arrowButton || "blue"
3267
+ },
3268
+ index
3269
+ )) })
3270
+ ] }),
3271
+ /* @__PURE__ */ jsxRuntime.jsx(BackToTopWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(
3272
+ TextButton,
3273
+ {
3274
+ text: "Back to top",
3275
+ onClick: onBackToTop,
3276
+ bgVariant: backToTopBgVariant,
3277
+ textVariant: backToTopTextVariant,
3278
+ uppercase: false
3279
+ }
3280
+ ) })
3281
+ ]
3019
3282
  }
3020
3283
  )
3021
3284
  ] });
3022
3285
  };
3023
- var Overlay3 = styled39__default.default.div`
3286
+ var Overlay3 = styled40__default.default.div`
3024
3287
  position: fixed;
3025
3288
  top: 0;
3026
3289
  left: 0;
@@ -3031,7 +3294,7 @@ var Overlay3 = styled39__default.default.div`
3031
3294
  justify-content: flex-end;
3032
3295
  z-index: 1000;
3033
3296
  `;
3034
- var PanelContainer = styled39__default.default.div`
3297
+ var PanelContainer = styled40__default.default.div`
3035
3298
  background-color: #ffffff;
3036
3299
  width: 100%;
3037
3300
  max-width: 400px;
@@ -3045,7 +3308,7 @@ var PanelContainer = styled39__default.default.div`
3045
3308
  transition: transform 0.3s ease-in-out;
3046
3309
  overflow-y: auto;
3047
3310
  `;
3048
- var CloseButton2 = styled39__default.default.button`
3311
+ var CloseButton3 = styled40__default.default.button`
3049
3312
  position: absolute;
3050
3313
  top: 1.5rem;
3051
3314
  right: 1.5rem;
@@ -3066,7 +3329,7 @@ var CloseButton2 = styled39__default.default.button`
3066
3329
  opacity: 0.8;
3067
3330
  }
3068
3331
  `;
3069
- var IconWrapper2 = styled39__default.default.div`
3332
+ var IconWrapper2 = styled40__default.default.div`
3070
3333
  width: 100%;
3071
3334
  display: flex;
3072
3335
  justify-content: center;
@@ -3083,7 +3346,7 @@ var IconWrapper2 = styled39__default.default.div`
3083
3346
  object-fit: contain;
3084
3347
  }
3085
3348
  `;
3086
- var ContentWrapper2 = styled39__default.default.div`
3349
+ var ContentWrapper2 = styled40__default.default.div`
3087
3350
  display: flex;
3088
3351
  flex-direction: column;
3089
3352
  gap: 1.5rem;
@@ -3104,7 +3367,7 @@ var SidePanel = ({
3104
3367
  buttonTextVariant = "secondary"
3105
3368
  }) => {
3106
3369
  return /* @__PURE__ */ jsxRuntime.jsx(Overlay3, { $isOpen: isOpen, onClick: onClose, children: /* @__PURE__ */ jsxRuntime.jsxs(PanelContainer, { $isOpen: isOpen, onClick: (e) => e.stopPropagation(), children: [
3107
- /* @__PURE__ */ jsxRuntime.jsx(CloseButton2, { onClick: onClose, closeButtonBgColor, children: /* @__PURE__ */ jsxRuntime.jsx(hi.HiX, { size: 24 }) }),
3370
+ /* @__PURE__ */ jsxRuntime.jsx(CloseButton3, { onClick: onClose, closeButtonBgColor, children: /* @__PURE__ */ jsxRuntime.jsx(hi.HiX, { size: 24 }) }),
3108
3371
  /* @__PURE__ */ jsxRuntime.jsx(IconWrapper2, { children: icon }),
3109
3372
  /* @__PURE__ */ jsxRuntime.jsxs(ContentWrapper2, { children: [
3110
3373
  /* @__PURE__ */ jsxRuntime.jsx(Header, { variant: "h2", color: titleColor, children: title }),
@@ -3122,7 +3385,7 @@ var SidePanel = ({
3122
3385
  ] })
3123
3386
  ] }) });
3124
3387
  };
3125
- var Container19 = styled39__default.default.div`
3388
+ var Container19 = styled40__default.default.div`
3126
3389
  width: 100%;
3127
3390
  background-color: ${(props) => props.isSelected ? colors.background.blue : colors.background.primary};
3128
3391
  border: 1px solid ${colors.background.blue};
@@ -3133,7 +3396,7 @@ var Container19 = styled39__default.default.div`
3133
3396
  padding: ${spaces[2]} ${spaces[3]};
3134
3397
  cursor: pointer;
3135
3398
  `;
3136
- var StyledLabel2 = styled39__default.default.span`
3399
+ var StyledLabel2 = styled40__default.default.span`
3137
3400
  color: ${(props) => props.isSelected ? colors.text.secondary : colors.text.blue};
3138
3401
  font-size: ${sizes.sm};
3139
3402
  font-weight: 700;
@@ -3162,21 +3425,31 @@ var Textarea2 = ({ label, error, ...rest }) => {
3162
3425
  /* @__PURE__ */ jsxRuntime.jsx(Textarea, { ...rest })
3163
3426
  ] });
3164
3427
  };
3165
- var Container20 = styled39__default.default.div`
3428
+ var Container20 = styled40__default.default.div`
3166
3429
  display: flex;
3167
3430
  flex-direction: column;
3168
3431
  gap: ${spaces[4]};
3432
+ width: 100%;
3433
+
3169
3434
  @media (max-width: ${breakpoints.sm}) {
3170
3435
  gap: ${spaces[2]};
3171
3436
  }
3172
3437
  `;
3173
- var NameContainer = styled39__default.default.div`
3438
+ var NameContainer = styled40__default.default.div`
3174
3439
  display: flex;
3175
3440
  gap: ${spaces[4]};
3441
+ flex: 1;
3442
+ min-width: 0;
3443
+
3176
3444
  @media (max-width: ${breakpoints.sm}) {
3445
+ flex-direction: column;
3177
3446
  gap: ${spaces[2]};
3178
3447
  }
3179
- flex: 1;
3448
+
3449
+ & > * {
3450
+ flex: 1;
3451
+ min-width: 0;
3452
+ }
3180
3453
  `;
3181
3454
  var ContactForm = ({}) => {
3182
3455
  return /* @__PURE__ */ jsxRuntime.jsxs(Container20, { children: [
@@ -3215,7 +3488,7 @@ var ContactForm = ({}) => {
3215
3488
  )
3216
3489
  ] });
3217
3490
  };
3218
- var Container21 = styled39__default.default.div`
3491
+ var Container21 = styled40__default.default.div`
3219
3492
  display: flex;
3220
3493
  width: ${`${100 / 4}%`};
3221
3494
  overflow: scroll;
@@ -3232,7 +3505,7 @@ var Container21 = styled39__default.default.div`
3232
3505
  -ms-overflow-style: none;
3233
3506
  scrollbar-width: none;
3234
3507
  `;
3235
- var IconContainer = styled39__default.default.div`
3508
+ var IconContainer = styled40__default.default.div`
3236
3509
  display: flex;
3237
3510
  flex-direction: column;
3238
3511
  align-items: center;
@@ -3250,7 +3523,7 @@ var DocumentAccordionHeader = ({
3250
3523
  ] })
3251
3524
  ] });
3252
3525
  };
3253
- var ItemContainer = styled39__default.default.div`
3526
+ var ItemContainer = styled40__default.default.div`
3254
3527
  display: flex;
3255
3528
  align-items: center;
3256
3529
  cursor: ${(props) => props?.onClick ? "pointer" : "auto"};
@@ -3293,14 +3566,14 @@ var DocumentAccordionRow = ({
3293
3566
  /* @__PURE__ */ jsxRuntime.jsx(ItemContainer, { onClick: onViewDetail, children: /* @__PURE__ */ jsxRuntime.jsx(Label, { value: "View Details", color: "brand", fontWeight: "700" }) })
3294
3567
  ] });
3295
3568
  };
3296
- var HeadersContainer = styled39__default.default.div`
3569
+ var HeadersContainer = styled40__default.default.div`
3297
3570
  width: 100%;
3298
3571
  display: flex;
3299
3572
  flex-direction: row;
3300
3573
  align-items: center;
3301
3574
  gap: ${spaces[6]};
3302
3575
  `;
3303
- var Container22 = styled39__default.default.div`
3576
+ var Container22 = styled40__default.default.div`
3304
3577
  display: flex;
3305
3578
  flex-direction: column;
3306
3579
  gap: ${spaces[3]};
@@ -3378,33 +3651,61 @@ var DocumentListAccordion = ({
3378
3651
  }
3379
3652
  );
3380
3653
  };
3381
- var CarouselContainer = styled39__default.default.div`
3382
- width: 1000px;
3654
+ var CarouselContainer = styled40__default.default.div`
3655
+ width: 100%;
3383
3656
  overflow: hidden;
3384
3657
  position: relative;
3385
- margin: 0 auto;
3386
3658
  `;
3387
- var CardsWrapper = styled39__default.default.div`
3659
+ var CardsWrapper = styled40__default.default.div`
3388
3660
  display: flex;
3389
3661
  gap: 1.5rem;
3390
- overflow-x: hidden;
3391
- scroll-behavior: smooth;
3392
3662
  padding: 1rem 0;
3663
+
3664
+ /* Desktop: controlled by JS */
3665
+ @media (min-width: 768px) {
3666
+ overflow-x: hidden;
3667
+ }
3668
+
3669
+ /* Mobile: native scroll with snap */
3670
+ @media (max-width: 767px) {
3671
+ overflow-x: auto;
3672
+ scroll-snap-type: x mandatory;
3673
+ -webkit-overflow-scrolling: touch;
3674
+ scrollbar-width: none;
3675
+
3676
+ &::-webkit-scrollbar {
3677
+ display: none;
3678
+ }
3679
+ }
3393
3680
  `;
3394
- var CardContainer = styled39__default.default.div`
3681
+ var CardContainer = styled40__default.default.div`
3395
3682
  display: flex;
3396
3683
  gap: 1.5rem;
3397
- transform: translateX(${(props) => props.$translateX}px);
3398
- transition: transform 0.3s ease-in-out;
3684
+
3685
+ /* Desktop: transform animation */
3686
+ @media (min-width: 768px) {
3687
+ transform: translateX(${(props) => props.$translateX}px);
3688
+ transition: transform 0.3s ease-in-out;
3689
+ }
3690
+
3691
+ /* Mobile: natural flow */
3692
+ @media (max-width: 767px) {
3693
+ transform: none;
3694
+
3695
+ & > * {
3696
+ scroll-snap-align: center;
3697
+ flex-shrink: 0;
3698
+ }
3699
+ }
3399
3700
  `;
3400
- var NavigationWrapper = styled39__default.default.div`
3701
+ var NavigationWrapper = styled40__default.default.div`
3401
3702
  display: flex;
3402
3703
  justify-content: left;
3403
3704
  align-items: center;
3404
3705
  gap: 1rem;
3405
3706
  margin-top: 1.5rem;
3406
3707
  `;
3407
- var NavButton = styled39__default.default.button`
3708
+ var NavButton = styled40__default.default.button`
3408
3709
  width: 2.5rem;
3409
3710
  height: 2.5rem;
3410
3711
  border-radius: 50%;
@@ -3417,15 +3718,19 @@ var NavButton = styled39__default.default.button`
3417
3718
  justify-content: center;
3418
3719
  transition: all 0.2s;
3419
3720
 
3721
+ @media (max-width: 767px) {
3722
+ display: none;
3723
+ }
3724
+
3420
3725
  &:hover {
3421
3726
  opacity: ${(props) => props.$disabled ? 1 : 0.8};
3422
3727
  }
3423
3728
  `;
3424
- var Indicators = styled39__default.default.div`
3729
+ var Indicators = styled40__default.default.div`
3425
3730
  display: flex;
3426
3731
  gap: 0.5rem;
3427
3732
  `;
3428
- var Indicator = styled39__default.default.div`
3733
+ var Indicator = styled40__default.default.div`
3429
3734
  width: 0.5rem;
3430
3735
  height: 0.5rem;
3431
3736
  border-radius: 50%;
@@ -3442,64 +3747,104 @@ var FeatureCarousel = ({
3442
3747
  indicatorColor = "brand"
3443
3748
  }) => {
3444
3749
  const [currentIndex, setCurrentIndex] = react.useState(0);
3445
- const cardWidth = 284;
3750
+ const [cardsToShow, setCardsToShow] = react.useState(3);
3751
+ const [cardWidth, setCardWidth] = react.useState(284);
3752
+ const containerRef = react.useRef(null);
3753
+ const touchStartX = react.useRef(0);
3754
+ const touchEndX = react.useRef(0);
3446
3755
  const gap = 24;
3447
- const cardsToShow = 3;
3756
+ react.useEffect(() => {
3757
+ const observer = new ResizeObserver((entries) => {
3758
+ const entry = entries[0];
3759
+ if (!entry) return;
3760
+ const containerWidth = entry.contentRect.width;
3761
+ const count = Math.floor((containerWidth + gap) / (284 + gap));
3762
+ const clamped = Math.max(1, count);
3763
+ if (clamped === 1) {
3764
+ setCardWidth(containerWidth);
3765
+ } else {
3766
+ setCardWidth(284);
3767
+ }
3768
+ setCardsToShow(clamped);
3769
+ });
3770
+ if (containerRef.current) observer.observe(containerRef.current);
3771
+ return () => observer.disconnect();
3772
+ }, []);
3773
+ const needsCarousel = cards.length > cardsToShow;
3448
3774
  const maxIndex = Math.max(0, cards.length - cardsToShow);
3449
- const handlePrev = () => {
3450
- setCurrentIndex((prev) => Math.max(0, prev - 1));
3775
+ const translateX = -currentIndex * (cardsToShow === 1 ? cardWidth : cardWidth + gap);
3776
+ const handlePrev = () => setCurrentIndex((prev) => Math.max(0, prev - 1));
3777
+ const handleNext = () => setCurrentIndex((prev) => Math.min(maxIndex, prev + 1));
3778
+ const handleTouchStart = (e) => {
3779
+ if (!e.touches[0]) return;
3780
+ touchStartX.current = e.touches[0].clientX;
3451
3781
  };
3452
- const handleNext = () => {
3453
- setCurrentIndex((prev) => Math.min(maxIndex, prev + 1));
3782
+ const handleTouchEnd = (e) => {
3783
+ if (!e.changedTouches[0]) return;
3784
+ touchEndX.current = e.changedTouches[0].clientX;
3785
+ const diff = touchStartX.current - touchEndX.current;
3786
+ if (Math.abs(diff) < 50) return;
3787
+ if (diff > 0) {
3788
+ handleNext();
3789
+ } else {
3790
+ handlePrev();
3791
+ }
3454
3792
  };
3455
- const translateX = -currentIndex * (cardWidth + gap);
3456
- return /* @__PURE__ */ jsxRuntime.jsxs(CarouselContainer, { children: [
3457
- /* @__PURE__ */ jsxRuntime.jsx(CardsWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(CardContainer, { $translateX: translateX, children: cards.map((card, index) => /* @__PURE__ */ jsxRuntime.jsx(
3458
- ContentCard,
3459
- {
3460
- thumbnail: card.thumbnail,
3461
- title: card.title,
3462
- description: card.description,
3463
- onArrowClick: card.onArrowClick,
3464
- titleColor: cardTitleColor,
3465
- descriptionVariant: cardDescriptionVariant,
3466
- arrowVariant: cardArrowVariant,
3467
- thumbnailBgColor: cardThumbnailBgColor
3468
- },
3469
- index
3470
- )) }) }),
3471
- /* @__PURE__ */ jsxRuntime.jsxs(NavigationWrapper, { children: [
3472
- /* @__PURE__ */ jsxRuntime.jsx(
3473
- NavButton,
3474
- {
3475
- onClick: handlePrev,
3476
- $disabled: currentIndex === 0,
3477
- navColor: navButtonColor,
3478
- children: /* @__PURE__ */ jsxRuntime.jsx(hi2.HiArrowLeft, { size: 24 })
3479
- }
3480
- ),
3481
- /* @__PURE__ */ jsxRuntime.jsx(Indicators, { children: Array.from({ length: maxIndex + 1 }).map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
3482
- Indicator,
3483
- {
3484
- $active: index === currentIndex,
3485
- indicatorColor
3486
- },
3487
- index
3488
- )) }),
3489
- /* @__PURE__ */ jsxRuntime.jsx(
3490
- NavButton,
3491
- {
3492
- onClick: handleNext,
3493
- $disabled: currentIndex === maxIndex,
3494
- navColor: navButtonColor,
3495
- children: /* @__PURE__ */ jsxRuntime.jsx(hi2.HiArrowRight, { size: 24 })
3496
- }
3497
- )
3498
- ] })
3499
- ] });
3793
+ return /* @__PURE__ */ jsxRuntime.jsxs(
3794
+ CarouselContainer,
3795
+ {
3796
+ ref: containerRef,
3797
+ onTouchStart: handleTouchStart,
3798
+ onTouchEnd: handleTouchEnd,
3799
+ children: [
3800
+ /* @__PURE__ */ jsxRuntime.jsx(CardsWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(CardContainer, { $translateX: needsCarousel ? translateX : 0, children: cards.map((card, index) => /* @__PURE__ */ jsxRuntime.jsx(
3801
+ ContentCard,
3802
+ {
3803
+ thumbnail: card.thumbnail,
3804
+ title: card.title,
3805
+ description: card.description,
3806
+ onArrowClick: card.onArrowClick,
3807
+ titleColor: cardTitleColor,
3808
+ descriptionVariant: cardDescriptionVariant,
3809
+ arrowVariant: cardArrowVariant,
3810
+ thumbnailBgColor: cardThumbnailBgColor
3811
+ },
3812
+ index
3813
+ )) }) }),
3814
+ needsCarousel && /* @__PURE__ */ jsxRuntime.jsxs(NavigationWrapper, { children: [
3815
+ /* @__PURE__ */ jsxRuntime.jsx(
3816
+ NavButton,
3817
+ {
3818
+ onClick: handlePrev,
3819
+ $disabled: currentIndex === 0,
3820
+ navColor: navButtonColor,
3821
+ children: /* @__PURE__ */ jsxRuntime.jsx(hi2.HiArrowLeft, { size: 24 })
3822
+ }
3823
+ ),
3824
+ /* @__PURE__ */ jsxRuntime.jsx(Indicators, { children: Array.from({ length: maxIndex + 1 }).map((_, index) => /* @__PURE__ */ jsxRuntime.jsx(
3825
+ Indicator,
3826
+ {
3827
+ $active: index === currentIndex,
3828
+ indicatorColor
3829
+ },
3830
+ index
3831
+ )) }),
3832
+ /* @__PURE__ */ jsxRuntime.jsx(
3833
+ NavButton,
3834
+ {
3835
+ onClick: handleNext,
3836
+ $disabled: currentIndex === maxIndex,
3837
+ navColor: navButtonColor,
3838
+ children: /* @__PURE__ */ jsxRuntime.jsx(hi2.HiArrowRight, { size: 24 })
3839
+ }
3840
+ )
3841
+ ] })
3842
+ ]
3843
+ }
3844
+ );
3500
3845
  };
3501
3846
  var variants13 = ["primary", "secondary"];
3502
- var FooterContainer = styled39__default.default.footer`
3847
+ var FooterContainer = styled40__default.default.footer`
3503
3848
  background-color: ${(props) => {
3504
3849
  switch (props.variant) {
3505
3850
  case "primary":
@@ -3513,7 +3858,7 @@ var FooterContainer = styled39__default.default.footer`
3513
3858
  padding: 3rem 2rem 2rem;
3514
3859
  color: #ffffff;
3515
3860
  `;
3516
- var TopSection = styled39__default.default.div`
3861
+ var TopSection = styled40__default.default.div`
3517
3862
  display: flex;
3518
3863
  justify-content: space-between;
3519
3864
  align-items: center;
@@ -3527,18 +3872,18 @@ var TopSection = styled39__default.default.div`
3527
3872
  align-items: flex-start;
3528
3873
  }
3529
3874
  `;
3530
- var LogoWrapper2 = styled39__default.default.div`
3875
+ var LogoWrapper2 = styled40__default.default.div`
3531
3876
  img {
3532
3877
  height: 100px;
3533
3878
  width: auto;
3534
3879
  }
3535
3880
  `;
3536
- var ButtonGroup2 = styled39__default.default.div`
3881
+ var ButtonGroup2 = styled40__default.default.div`
3537
3882
  display: flex;
3538
3883
  gap: 1rem;
3539
3884
  align-items: center;
3540
3885
  `;
3541
- var MiddleSection = styled39__default.default.div`
3886
+ var MiddleSection = styled40__default.default.div`
3542
3887
  display: grid;
3543
3888
  grid-template-columns: 1fr 1fr auto;
3544
3889
  gap: 3rem;
@@ -3553,12 +3898,12 @@ var MiddleSection = styled39__default.default.div`
3553
3898
  grid-template-columns: 1fr;
3554
3899
  }
3555
3900
  `;
3556
- var SocialButtonGroup = styled39__default.default.div`
3901
+ var SocialButtonGroup = styled40__default.default.div`
3557
3902
  display: flex;
3558
3903
  gap: 1rem;
3559
3904
  flex-wrap: wrap;
3560
3905
  `;
3561
- var BottomSection = styled39__default.default.div`
3906
+ var BottomSection = styled40__default.default.div`
3562
3907
  display: flex;
3563
3908
  justify-content: space-between;
3564
3909
  align-items: center;
@@ -3571,7 +3916,7 @@ var BottomSection = styled39__default.default.div`
3571
3916
  align-items: flex-start;
3572
3917
  }
3573
3918
  `;
3574
- var LegalLinks = styled39__default.default.div`
3919
+ var LegalLinks = styled40__default.default.div`
3575
3920
  display: flex;
3576
3921
  gap: 2rem;
3577
3922
 
@@ -3580,7 +3925,7 @@ var LegalLinks = styled39__default.default.div`
3580
3925
  gap: 0.5rem;
3581
3926
  }
3582
3927
  `;
3583
- var LegalLink = styled39__default.default.a`
3928
+ var LegalLink = styled40__default.default.a`
3584
3929
  color: #ffffff;
3585
3930
  text-decoration: none;
3586
3931
  font-size: 0.875rem;
@@ -3592,7 +3937,7 @@ var LegalLink = styled39__default.default.a`
3592
3937
  opacity: 0.8;
3593
3938
  }
3594
3939
  `;
3595
- var Copyright = styled39__default.default.p`
3940
+ var Copyright = styled40__default.default.p`
3596
3941
  margin: 0;
3597
3942
  font-size: 0.875rem;
3598
3943
  color: rgba(255, 255, 255, 0.8);
@@ -3670,14 +4015,15 @@ var Footer = ({
3670
4015
  ] });
3671
4016
  };
3672
4017
  Footer.variants = variants13;
3673
- var HeaderContainer3 = styled39__default.default.header`
4018
+ var HeaderContainer3 = styled40__default.default.header`
3674
4019
  display: flex;
3675
4020
  justify-content: space-between;
3676
4021
  align-items: center;
3677
4022
  background-color: #ffffff;
3678
4023
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
4024
+ padding: 0 1rem;
3679
4025
  `;
3680
- var LogoWrapper3 = styled39__default.default.div`
4026
+ var LogoWrapper3 = styled40__default.default.div`
3681
4027
  display: flex;
3682
4028
  align-items: center;
3683
4029
 
@@ -3686,10 +4032,57 @@ var LogoWrapper3 = styled39__default.default.div`
3686
4032
  width: auto;
3687
4033
  }
3688
4034
  `;
3689
- var ButtonGroup3 = styled39__default.default.div`
4035
+ var ButtonGroup3 = styled40__default.default.div`
3690
4036
  display: flex;
3691
4037
  gap: 1rem;
3692
4038
  align-items: center;
4039
+
4040
+ /* Hide on mobile */
4041
+ @media (max-width: 767px) {
4042
+ display: none;
4043
+ }
4044
+ `;
4045
+ var BurgerButton = styled40__default.default.button`
4046
+ display: none;
4047
+
4048
+ /* Show only on mobile */
4049
+ @media (max-width: 767px) {
4050
+ display: flex;
4051
+ flex-direction: column;
4052
+ justify-content: space-around;
4053
+ width: 2rem;
4054
+ height: 2rem;
4055
+ background: transparent;
4056
+ border: none;
4057
+ cursor: pointer;
4058
+ padding: 0;
4059
+
4060
+ &:focus {
4061
+ outline: none;
4062
+ }
4063
+ }
4064
+ `;
4065
+ var BurgerLine = styled40__default.default.div`
4066
+ width: 2rem;
4067
+ height: 0.25rem;
4068
+ background-color: ${(props) => colors.border[props.$burgerVariant]};
4069
+ border-radius: 10px;
4070
+ transition: all 0.3s linear;
4071
+ position: relative;
4072
+ transform-origin: 1px;
4073
+
4074
+ &:first-child {
4075
+ transform: ${({ $isOpen }) => $isOpen ? "rotate(45deg)" : "rotate(0)"};
4076
+ }
4077
+
4078
+ &:nth-child(2) {
4079
+ opacity: ${({ $isOpen }) => $isOpen ? "0" : "1"};
4080
+ transform: ${({ $isOpen }) => $isOpen ? "translateX(20px)" : "translateX(0)"};
4081
+ }
4082
+
4083
+ &:nth-child(3) {
4084
+ transform: ${({ $isOpen }) => $isOpen ? "rotate(-45deg)" : "rotate(0)"};
4085
+ }
3693
4086
  `;
3694
4087
  var Header3 = ({
3695
4088
  logo,
@@ -3697,6 +4090,9 @@ var Header3 = ({
3697
4090
  secondaryButtonText,
3698
4091
  onPrimaryClick,
3699
4092
  onSecondaryClick,
4093
+ isMobileMenuOpen = false,
4094
+ onMobileMenuToggle,
4095
+ burgerVariant = "primary",
3700
4096
  primaryArrowVariant = "blue",
3701
4097
  primaryTextBgVariant = "brand",
3702
4098
  primaryTextVariant = "secondary",
@@ -3726,15 +4122,20 @@ var Header3 = ({
3726
4122
  uppercase: true
3727
4123
  }
3728
4124
  )
4125
+ ] }),
4126
+ /* @__PURE__ */ jsxRuntime.jsxs(BurgerButton, { onClick: onMobileMenuToggle, $burgerVariant: burgerVariant, children: [
4127
+ /* @__PURE__ */ jsxRuntime.jsx(BurgerLine, { $isOpen: isMobileMenuOpen, $burgerVariant: burgerVariant }),
4128
+ /* @__PURE__ */ jsxRuntime.jsx(BurgerLine, { $isOpen: isMobileMenuOpen, $burgerVariant: burgerVariant }),
4129
+ /* @__PURE__ */ jsxRuntime.jsx(BurgerLine, { $isOpen: isMobileMenuOpen, $burgerVariant: burgerVariant })
3729
4130
  ] })
3730
4131
  ] });
3731
4132
  };
3732
- var Container23 = styled39__default.default.div`
4133
+ var Container23 = styled40__default.default.div`
3733
4134
  display: flex;
3734
4135
  flex-direction: column;
3735
4136
  gap: ${spaces[2]};
3736
4137
  `;
3737
- styled39__default.default.div`
4138
+ styled40__default.default.div`
3738
4139
  display: flex;
3739
4140
  flex-direction: column;
3740
4141
  gap: ${spaces[2]};
@@ -3776,21 +4177,20 @@ var ToastProvider = ({ children }) => {
3776
4177
  var VersionLabel = ({ versionNumber }) => {
3777
4178
  return /* @__PURE__ */ jsxRuntime.jsx(Label, { value: `V${versionNumber}` });
3778
4179
  };
3779
- var AboutUsContainer = styled39__default.default.section`
4180
+ var AboutUsContainer = styled40__default.default.section`
3780
4181
  display: grid;
3781
4182
  grid-template-columns: 35% 65%;
3782
4183
  gap: 3rem;
3783
4184
  padding: 4rem 2rem;
3784
- max-width: 1200px;
3785
4185
  margin: 0 auto;
3786
4186
  align-items: start;
3787
- background-color: ${colors.background?.light};
4187
+ background-color: ${colors.background?.secondary};
3788
4188
 
3789
4189
  @media (max-width: 768px) {
3790
4190
  grid-template-columns: 1fr;
3791
4191
  }
3792
4192
  `;
3793
- var ImageWrapper2 = styled39__default.default.div`
4193
+ var ImageWrapper2 = styled40__default.default.div`
3794
4194
  width: 100%;
3795
4195
  aspect-ratio: 3 / 4;
3796
4196
  border-radius: 8px;
@@ -3803,11 +4203,12 @@ var ImageWrapper2 = styled39__default.default.div`
3803
4203
  object-fit: cover;
3804
4204
  }
3805
4205
  `;
3806
- var ContentWrapper3 = styled39__default.default.div`
4206
+ var ContentWrapper3 = styled40__default.default.div`
3807
4207
  display: flex;
3808
4208
  flex-direction: column;
3809
4209
  gap: 1.5rem;
3810
4210
  align-items: flex-start;
4211
+ padding: 1rem 4rem 1rem 1rem;
3811
4212
  `;
3812
4213
  var AboutUs = ({
3813
4214
  image,
@@ -3842,15 +4243,20 @@ var AboutUs = ({
3842
4243
  ] })
3843
4244
  ] });
3844
4245
  };
3845
- var ContactSection = styled39__default.default.section`
4246
+ var ContactSection = styled40__default.default.section`
3846
4247
  display: flex;
3847
4248
  justify-content: center;
3848
4249
  align-items: center;
3849
4250
  padding: 4rem 2rem;
3850
4251
  min-height: 100vh;
3851
- background-color: ${colors.background?.light};
4252
+ background-color: ${colors.background?.secondary};
4253
+
4254
+ /* Mobile adjustments */
4255
+ @media (max-width: 767px) {
4256
+ padding: 2rem 1rem;
4257
+ }
3852
4258
  `;
3853
- var ContentWrapper4 = styled39__default.default.div`
4259
+ var ContentWrapper4 = styled40__default.default.div`
3854
4260
  display: grid;
3855
4261
  grid-template-columns: 1fr 1fr;
3856
4262
  gap: 0;
@@ -3862,7 +4268,7 @@ var ContentWrapper4 = styled39__default.default.div`
3862
4268
  grid-template-columns: 1fr;
3863
4269
  }
3864
4270
  `;
3865
- var ImageWrapper3 = styled39__default.default.div`
4271
+ var ImageWrapper3 = styled40__default.default.div`
3866
4272
  width: 100%;
3867
4273
  height: 100%;
3868
4274
  min-height: 600px;
@@ -3874,25 +4280,36 @@ var ImageWrapper3 = styled39__default.default.div`
3874
4280
  display: block;
3875
4281
  }
3876
4282
 
3877
- @media (max-width: 768px) {
3878
- min-height: 400px;
4283
+ /* Hide on mobile */
4284
+ @media (max-width: 767px) {
4285
+ display: none;
3879
4286
  }
3880
4287
  `;
3881
- var FormContainer2 = styled39__default.default.div`
4288
+ var FormContainer2 = styled40__default.default.div`
3882
4289
  display: flex;
3883
4290
  flex-direction: column;
3884
4291
  gap: 2rem;
3885
4292
  padding: 4rem 3rem;
3886
4293
  background-color: #ffffff;
4294
+
4295
+ /* Mobile adjustments */
4296
+ @media (max-width: 767px) {
4297
+ padding: 2rem 1.5rem;
4298
+ }
3887
4299
  `;
3888
- var FormWrapper = styled39__default.default.div`
4300
+ var FormWrapper = styled40__default.default.div`
3889
4301
  display: flex;
3890
4302
  flex-direction: column;
3891
4303
  gap: 2rem;
3892
4304
  `;
3893
- var ButtonWrapper3 = styled39__default.default.div`
4305
+ var ButtonWrapper3 = styled40__default.default.div`
3894
4306
  display: flex;
3895
4307
  justify-content: flex-start;
4308
+
4309
+ /* Mobile: full width button */
4310
+ @media (max-width: 767px) {
4311
+ width: 100%;
4312
+ }
3896
4313
  `;
3897
4314
  var Contact = ({
3898
4315
  image,
@@ -3905,7 +4322,7 @@ var Contact = ({
3905
4322
  termsVariant = "primary",
3906
4323
  buttonArrowVariant = "teal",
3907
4324
  buttonTextBgVariant = "brand",
3908
- buttonTextVariant = "secondary"
4325
+ buttonTextVariant = "primary"
3909
4326
  }) => {
3910
4327
  return /* @__PURE__ */ jsxRuntime.jsx(ContactSection, { children: /* @__PURE__ */ jsxRuntime.jsxs(ContentWrapper4, { children: [
3911
4328
  /* @__PURE__ */ jsxRuntime.jsx(ImageWrapper3, { children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: image, alt: "Contact" }) }),
@@ -3935,7 +4352,7 @@ var Contact = ({
3935
4352
  ] })
3936
4353
  ] }) });
3937
4354
  };
3938
- var FAQContainer = styled39__default.default.section`
4355
+ var FAQContainer = styled40__default.default.section`
3939
4356
  display: flex;
3940
4357
  flex-direction: column;
3941
4358
  gap: 2rem;
@@ -3943,16 +4360,15 @@ var FAQContainer = styled39__default.default.section`
3943
4360
  min-height: 100vh;
3944
4361
  background-color: ${colors.background?.primary};
3945
4362
  `;
3946
- var HeaderSection2 = styled39__default.default.div`
4363
+ var HeaderSection2 = styled40__default.default.div`
3947
4364
  display: flex;
3948
4365
  flex-direction: column;
3949
4366
  gap: 1.5rem;
3950
4367
  align-items: flex-start;
3951
4368
  `;
3952
- var AccordionList = styled39__default.default.div`
4369
+ var AccordionList = styled40__default.default.div`
3953
4370
  display: flex;
3954
4371
  flex-direction: column;
3955
- max-width: 900px;
3956
4372
  width: 100%;
3957
4373
  `;
3958
4374
  var FAQ = ({
@@ -3988,7 +4404,7 @@ var FAQ = ({
3988
4404
  )) })
3989
4405
  ] });
3990
4406
  };
3991
- var FeaturesContainer = styled39__default.default.section`
4407
+ var FeaturesContainer = styled40__default.default.section`
3992
4408
  display: flex;
3993
4409
  flex-direction: column;
3994
4410
  align-items: flex-start;
@@ -3996,9 +4412,13 @@ var FeaturesContainer = styled39__default.default.section`
3996
4412
  gap: 2rem;
3997
4413
  padding: 4rem 2rem;
3998
4414
  min-height: 100vh;
3999
- background-color: ${colors.background?.light};
4415
+ background-color: ${colors.background?.secondary};
4000
4416
  `;
4001
- var HeaderWrapper2 = styled39__default.default.div`
4417
+ var InnerWrapper = styled40__default.default.div`
4418
+ width: 100%;
4419
+ margin: 0 auto;
4420
+ `;
4421
+ var HeaderWrapper3 = styled40__default.default.div`
4002
4422
  text-align: left;
4003
4423
  `;
4004
4424
  var Features = ({
@@ -4014,9 +4434,9 @@ var Features = ({
4014
4434
  navButtonColor = "brand",
4015
4435
  indicatorColor = "brand"
4016
4436
  }) => {
4017
- return /* @__PURE__ */ jsxRuntime.jsxs(FeaturesContainer, { children: [
4437
+ return /* @__PURE__ */ jsxRuntime.jsx(FeaturesContainer, { children: /* @__PURE__ */ jsxRuntime.jsxs(InnerWrapper, { children: [
4018
4438
  /* @__PURE__ */ jsxRuntime.jsx(Pill, { variant: pillVariant, inverse: true, children: pillText }),
4019
- /* @__PURE__ */ jsxRuntime.jsx(HeaderWrapper2, { children: /* @__PURE__ */ jsxRuntime.jsx(Header, { variant: "h1", color: headerColor, children: headerText }) }),
4439
+ /* @__PURE__ */ jsxRuntime.jsx(HeaderWrapper3, { children: /* @__PURE__ */ jsxRuntime.jsx(Header, { variant: "h1", color: headerColor, children: headerText }) }),
4020
4440
  /* @__PURE__ */ jsxRuntime.jsx(
4021
4441
  FeatureCarousel,
4022
4442
  {
@@ -4029,9 +4449,9 @@ var Features = ({
4029
4449
  indicatorColor
4030
4450
  }
4031
4451
  )
4032
- ] });
4452
+ ] }) });
4033
4453
  };
4034
- var HeroContainer = styled39__default.default.section`
4454
+ var HeroContainer = styled40__default.default.section`
4035
4455
  display: grid;
4036
4456
  grid-template-columns: 1fr 1fr;
4037
4457
  gap: 2rem;
@@ -4056,25 +4476,50 @@ var HeroContainer = styled39__default.default.section`
4056
4476
  right: 0;
4057
4477
  bottom: 0;
4058
4478
  background-color: ${(props) => props.$overlayColor || "rgba(30, 64, 175, 0.7)"};
4059
- z-index: 1;
4060
4479
  }
4061
4480
 
4062
- /* Mobile/Tablet: Single column, hide features */
4481
+
4482
+ /* Mobile/Tablet: Single column, features below CTA */
4063
4483
  @media (max-width: 1024px) {
4064
4484
  grid-template-columns: 1fr;
4065
- padding: 2rem;
4485
+ grid-template-rows: auto auto;
4486
+ padding: 2rem 1rem;
4487
+ gap: 3rem;
4488
+ }
4489
+
4490
+ /* Very small mobile */
4491
+ @media (max-width: 480px) {
4492
+ padding: 1.5rem 1rem;
4066
4493
  }
4067
4494
  `;
4068
- var Column = styled39__default.default.div`
4495
+ var Column = styled40__default.default.div`
4069
4496
  position: relative;
4070
- z-index: 2;
4071
4497
  display: flex;
4072
4498
  align-items: center;
4499
+
4500
+ /* Constrain text width on mobile */
4501
+ @media (max-width: 1024px) {
4502
+ max-width: 100%;
4503
+ width: 100%;
4504
+ }
4073
4505
  `;
4074
- var FeaturesColumn = styled39__default.default(Column)`
4075
- /* Hide on mobile and tablet */
4506
+ var FeaturesColumn = styled40__default.default(Column)`
4507
+ /* On desktop: normal column */
4508
+ @media (min-width: 1025px) {
4509
+ display: flex;
4510
+ }
4511
+
4512
+ /* On mobile: show below CTA, order it second */
4076
4513
  @media (max-width: 1024px) {
4077
- display: none;
4514
+ display: flex;
4515
+ order: 2;
4516
+ align-items: flex-start;
4517
+ }
4518
+ `;
4519
+ var CTAColumn = styled40__default.default(Column)`
4520
+ /* Ensure CTA comes first on mobile */
4521
+ @media (max-width: 1024px) {
4522
+ order: 1;
4078
4523
  }
4079
4524
  `;
4080
4525
  var Hero = ({
@@ -4099,7 +4544,7 @@ var Hero = ({
4099
4544
  featureDescriptionVariant = "secondary"
4100
4545
  }) => {
4101
4546
  return /* @__PURE__ */ jsxRuntime.jsxs(HeroContainer, { $bgImage: bgImage, $overlayColor: overlayColor, children: [
4102
- /* @__PURE__ */ jsxRuntime.jsx(Column, { children: /* @__PURE__ */ jsxRuntime.jsx(
4547
+ /* @__PURE__ */ jsxRuntime.jsx(CTAColumn, { children: /* @__PURE__ */ jsxRuntime.jsx(
4103
4548
  CTAContainer,
4104
4549
  {
4105
4550
  header: ctaHeader,
@@ -4130,23 +4575,72 @@ var Hero = ({
4130
4575
  ) })
4131
4576
  ] });
4132
4577
  };
4133
- var SectionContainer = styled39__default.default.section`
4578
+ var SectionContainer = styled40__default.default.section`
4134
4579
  display: flex;
4135
4580
  flex-direction: column;
4136
4581
  padding: 4rem 2rem;
4137
4582
  max-width: 1200px;
4138
4583
  margin: 0 auto;
4584
+
4585
+ /* Mobile adjustments */
4586
+ @media (max-width: 767px) {
4587
+ padding: 2rem 1rem;
4588
+ }
4139
4589
  `;
4140
- var SectionHeader = styled39__default.default.div`
4590
+ var SectionHeader = styled40__default.default.div`
4141
4591
  padding-bottom: 2rem;
4142
4592
  border-bottom: 1px solid ${colors.text.light};
4593
+
4594
+ /* Mobile: remove border, adjust padding */
4595
+ @media (max-width: 767px) {
4596
+ border-bottom: none;
4597
+ padding-bottom: 1rem;
4598
+ }
4143
4599
  `;
4144
- var ProductItem = styled39__default.default.div`
4145
- padding: 2rem 0;
4146
- border-bottom: 1px solid ${colors.text.light};
4600
+ var ProductsWrapper = styled40__default.default.div`
4601
+ /* Desktop: normal vertical stack */
4602
+ @media (min-width: 768px) {
4603
+ display: flex;
4604
+ flex-direction: column;
4605
+ }
4606
+
4607
+ /* Mobile: horizontal scroll carousel */
4608
+ @media (max-width: 767px) {
4609
+ display: flex;
4610
+ overflow-x: auto;
4611
+ scroll-snap-type: x mandatory;
4612
+ gap: 1rem;
4613
+ padding: 1rem 0;
4614
+ -webkit-overflow-scrolling: touch;
4615
+ scrollbar-width: none; /* Firefox */
4616
+
4617
+ &::-webkit-scrollbar {
4618
+ display: none; /* Chrome, Safari */
4619
+ }
4620
+ }
4621
+ `;
4622
+ var ProductItem = styled40__default.default.div`
4623
+ /* Desktop: vertical stack with borders */
4624
+ @media (min-width: 768px) {
4625
+ padding: 2rem 0;
4626
+ border-bottom: 1px solid ${colors.text.light};
4147
4627
 
4148
- &:last-child {
4149
- border-bottom: none;
4628
+ &:last-child {
4629
+ border-bottom: none;
4630
+ }
4631
+ }
4632
+
4633
+ /* Mobile: carousel item */
4634
+ @media (max-width: 767px) {
4635
+ flex: 0 0 80%; /* CHANGED from 85% - shows more of next card */
4636
+ scroll-snap-align: center;
4637
+ padding: 0;
4638
+ border: none;
4639
+ }
4640
+
4641
+ /* Very small mobile */
4642
+ @media (max-width: 480px) {
4643
+ flex: 0 0 85%; /* CHANGED from 90% */
4150
4644
  }
4151
4645
  `;
4152
4646
  var OtherProducts = ({
@@ -4161,7 +4655,7 @@ var OtherProducts = ({
4161
4655
  }) => {
4162
4656
  return /* @__PURE__ */ jsxRuntime.jsxs(SectionContainer, { children: [
4163
4657
  /* @__PURE__ */ jsxRuntime.jsx(SectionHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(Header, { variant: headerVariant, color: headerColor, children: headerText }) }),
4164
- products.map((product, index) => /* @__PURE__ */ jsxRuntime.jsx(ProductItem, { children: /* @__PURE__ */ jsxRuntime.jsx(
4658
+ /* @__PURE__ */ jsxRuntime.jsx(ProductsWrapper, { children: products.map((product, index) => /* @__PURE__ */ jsxRuntime.jsx(ProductItem, { children: /* @__PURE__ */ jsxRuntime.jsx(
4165
4659
  ProductInfo,
4166
4660
  {
4167
4661
  image: product.image,
@@ -4175,7 +4669,7 @@ var OtherProducts = ({
4175
4669
  buttonTextBgVariant: productButtonTextBgVariant,
4176
4670
  buttonTextVariant: productButtonTextVariant
4177
4671
  }
4178
- ) }, index))
4672
+ ) }, index)) })
4179
4673
  ] });
4180
4674
  };
4181
4675