@salesmind-ai/design-system 0.6.0 → 0.7.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 (257) hide show
  1. package/README.md +2 -0
  2. package/dist/Anton-Regular-MLEXVTB2.woff2 +0 -0
  3. package/dist/admin/index.cjs +5 -61
  4. package/dist/admin/index.css +0 -3918
  5. package/dist/admin/index.css.map +1 -1
  6. package/dist/admin/index.d.cts +1 -422
  7. package/dist/admin/index.d.ts +1 -422
  8. package/dist/admin/index.js +1 -5
  9. package/dist/blog/index.cjs +13 -34
  10. package/dist/blog/index.css +0 -579
  11. package/dist/blog/index.css.map +1 -1
  12. package/dist/blog/index.d.cts +1 -54
  13. package/dist/blog/index.d.ts +1 -54
  14. package/dist/blog/index.js +5 -6
  15. package/dist/charts/index.cjs +0 -46
  16. package/dist/charts/index.d.cts +1 -452
  17. package/dist/charts/index.d.ts +1 -452
  18. package/dist/charts/index.js +1 -3
  19. package/dist/{chunk-HDVAMYSG.js → chunk-27Y5ESMM.js} +7 -2
  20. package/dist/chunk-27Y5ESMM.js.map +1 -0
  21. package/dist/{chunk-YTYDQBVY.cjs → chunk-2VVRZBUR.cjs} +4 -4
  22. package/dist/{chunk-GQELL2MF.cjs → chunk-3NS6X2R4.cjs} +20 -203
  23. package/dist/chunk-3NS6X2R4.cjs.map +1 -0
  24. package/dist/{chunk-XEX2AEZK.cjs → chunk-65DTHLVX.cjs} +66 -186
  25. package/dist/chunk-65DTHLVX.cjs.map +1 -0
  26. package/dist/{chunk-QALDZ7WQ.js → chunk-6BUS7RMS.js} +21 -198
  27. package/dist/chunk-6BUS7RMS.js.map +1 -0
  28. package/dist/{chunk-BJZ2DKS5.cjs → chunk-6QIQCUYC.cjs} +11 -10
  29. package/dist/chunk-6QIQCUYC.cjs.map +1 -0
  30. package/dist/{chunk-H2Y6BSTL.cjs → chunk-7EUR3AKV.cjs} +1 -1
  31. package/dist/chunk-7EUR3AKV.cjs.map +1 -0
  32. package/dist/{chunk-VFJZQQZU.js → chunk-AMNY5TS3.js} +11 -10
  33. package/dist/chunk-AMNY5TS3.js.map +1 -0
  34. package/dist/{chunk-YJ6C3EKW.js → chunk-CLXLQCNQ.js} +52 -168
  35. package/dist/chunk-CLXLQCNQ.js.map +1 -0
  36. package/dist/{chunk-H2KQ3WSH.cjs → chunk-CVLD5RQK.cjs} +12 -14
  37. package/dist/chunk-CVLD5RQK.cjs.map +1 -0
  38. package/dist/chunk-EPD4ZEPY.cjs +344 -0
  39. package/dist/chunk-EPD4ZEPY.cjs.map +1 -0
  40. package/dist/chunk-FXYOSA4E.cjs +118 -0
  41. package/dist/chunk-FXYOSA4E.cjs.map +1 -0
  42. package/dist/{chunk-ECXBTUH6.cjs → chunk-GPHQGLR5.cjs} +27 -204
  43. package/dist/chunk-GPHQGLR5.cjs.map +1 -0
  44. package/dist/{chunk-Y26OHHMX.js → chunk-HHQ6J7B6.js} +513 -888
  45. package/dist/chunk-HHQ6J7B6.js.map +1 -0
  46. package/dist/chunk-JPUJWI7F.cjs +73 -0
  47. package/dist/chunk-JPUJWI7F.cjs.map +1 -0
  48. package/dist/{chunk-6UNG76Y2.js → chunk-K526GN7P.js} +2 -2
  49. package/dist/{chunk-SICKWUWB.js → chunk-KJHPOB3J.js} +1 -1
  50. package/dist/chunk-KJHPOB3J.js.map +1 -0
  51. package/dist/chunk-KXVFFEGD.js +60 -0
  52. package/dist/chunk-KXVFFEGD.js.map +1 -0
  53. package/dist/chunk-LQB7QLD3.js +288 -0
  54. package/dist/chunk-LQB7QLD3.js.map +1 -0
  55. package/dist/chunk-LUD52ZJF.cjs +726 -0
  56. package/dist/chunk-LUD52ZJF.cjs.map +1 -0
  57. package/dist/{chunk-7UZ5DETZ.js → chunk-MBAG654R.js} +4 -216
  58. package/dist/chunk-MBAG654R.js.map +1 -0
  59. package/dist/chunk-OMP6FAZ6.cjs +183 -0
  60. package/dist/chunk-OMP6FAZ6.cjs.map +1 -0
  61. package/dist/{chunk-WYH4TKS5.js → chunk-PBYRTNQ5.js} +6 -8
  62. package/dist/chunk-PBYRTNQ5.js.map +1 -0
  63. package/dist/chunk-PYREXCZK.js +679 -0
  64. package/dist/chunk-PYREXCZK.js.map +1 -0
  65. package/dist/{chunk-6D22TFLA.cjs → chunk-R3ZECV5P.cjs} +9 -4
  66. package/dist/chunk-R3ZECV5P.cjs.map +1 -0
  67. package/dist/{chunk-P5BOFE5A.js → chunk-RSLA2FJN.js} +28 -183
  68. package/dist/chunk-RSLA2FJN.js.map +1 -0
  69. package/dist/chunk-S46SKHMD.js +173 -0
  70. package/dist/chunk-S46SKHMD.js.map +1 -0
  71. package/dist/chunk-SFXTB7JL.js +190 -0
  72. package/dist/chunk-SFXTB7JL.js.map +1 -0
  73. package/dist/chunk-SGYXYMKZ.cjs +214 -0
  74. package/dist/chunk-SGYXYMKZ.cjs.map +1 -0
  75. package/dist/chunk-UGKYP6F3.cjs +296 -0
  76. package/dist/chunk-UGKYP6F3.cjs.map +1 -0
  77. package/dist/chunk-WB6XDNU7.js +115 -0
  78. package/dist/chunk-WB6XDNU7.js.map +1 -0
  79. package/dist/{chunk-LTPTW2US.cjs → chunk-WE4QIIVN.cjs} +592 -974
  80. package/dist/chunk-WE4QIIVN.cjs.map +1 -0
  81. package/dist/core/index.cjs +144 -626
  82. package/dist/core/index.css +178 -3567
  83. package/dist/core/index.css.map +1 -1
  84. package/dist/core/index.d.cts +940 -902
  85. package/dist/core/index.d.ts +940 -902
  86. package/dist/core/index.js +6 -12
  87. package/dist/i18n/index.cjs +54 -49
  88. package/dist/i18n/index.d.cts +46 -11
  89. package/dist/i18n/index.d.ts +46 -11
  90. package/dist/i18n/index.js +2 -1
  91. package/dist/index-BJ8rBqrO.d.cts +1100 -0
  92. package/dist/index-BxMqCbqE.d.ts +1100 -0
  93. package/dist/index.cjs +507 -1001
  94. package/dist/index.cjs.map +1 -1
  95. package/dist/index.css +6057 -16713
  96. package/dist/index.css.map +1 -1
  97. package/dist/index.d.cts +306 -21
  98. package/dist/index.d.ts +306 -21
  99. package/dist/index.js +274 -39
  100. package/dist/index.js.map +1 -1
  101. package/dist/marketing/index.cjs +33 -76
  102. package/dist/marketing/index.css +1896 -3234
  103. package/dist/marketing/index.css.map +1 -1
  104. package/dist/marketing/index.d.cts +3 -1351
  105. package/dist/marketing/index.d.ts +3 -1351
  106. package/dist/marketing/index.js +5 -8
  107. package/dist/motion/index.cjs +3 -20
  108. package/dist/motion/index.css +0 -580
  109. package/dist/motion/index.css.map +1 -1
  110. package/dist/motion/index.d.cts +1 -37
  111. package/dist/motion/index.d.ts +1 -37
  112. package/dist/motion/index.js +1 -2
  113. package/dist/nav/index.cjs +10 -35
  114. package/dist/nav/index.css +28 -580
  115. package/dist/nav/index.css.map +1 -1
  116. package/dist/nav/index.d.cts +2 -60
  117. package/dist/nav/index.d.ts +2 -60
  118. package/dist/nav/index.js +1 -2
  119. package/dist/report/index.cjs +1166 -175
  120. package/dist/report/index.cjs.map +1 -1
  121. package/dist/report/index.d.cts +208 -5
  122. package/dist/report/index.d.ts +208 -5
  123. package/dist/report/index.js +1141 -3
  124. package/dist/report/index.js.map +1 -1
  125. package/dist/sections/index.cjs +8 -10
  126. package/dist/sections/index.cjs.map +1 -1
  127. package/dist/sections/index.css +0 -206
  128. package/dist/sections/index.css.map +1 -1
  129. package/dist/sections/index.js +2 -4
  130. package/dist/sections/index.js.map +1 -1
  131. package/dist/social-media/index.cjs +4 -0
  132. package/dist/social-media/index.cjs.map +1 -0
  133. package/dist/social-media/index.d.cts +2 -0
  134. package/dist/social-media/index.d.ts +2 -0
  135. package/dist/social-media/index.js +3 -0
  136. package/dist/social-media/index.js.map +1 -0
  137. package/dist/social-proof/index.cjs +4 -36
  138. package/dist/social-proof/index.css +3 -1106
  139. package/dist/social-proof/index.css.map +1 -1
  140. package/dist/social-proof/index.d.cts +26 -171
  141. package/dist/social-proof/index.d.ts +26 -171
  142. package/dist/social-proof/index.js +1 -5
  143. package/dist/styles/styles.css +657 -2990
  144. package/dist/theme/index.cjs +12 -16
  145. package/dist/theme/index.css +1 -245
  146. package/dist/theme/index.css.map +1 -1
  147. package/dist/theme/index.d.cts +4 -1
  148. package/dist/theme/index.d.ts +4 -1
  149. package/dist/theme/index.js +2 -2
  150. package/dist/web/client/index.cjs +10 -10
  151. package/dist/web/client/index.css +118 -0
  152. package/dist/web/client/index.css.map +1 -1
  153. package/dist/web/client/index.js +2 -2
  154. package/dist/web/index.cjs +10 -10
  155. package/dist/web/index.css +118 -0
  156. package/dist/web/index.css.map +1 -1
  157. package/dist/web/index.js +2 -2
  158. package/package.json +10 -4
  159. package/dist/AppearancePanel-UT57J69V.d.cts +0 -51
  160. package/dist/AppearancePanel-UT57J69V.d.ts +0 -51
  161. package/dist/ExportMenu-A2TLFiVv.d.cts +0 -311
  162. package/dist/ExportMenu-C8qck5AT.d.ts +0 -311
  163. package/dist/Select-BdZmK0Lt.d.cts +0 -66
  164. package/dist/Select-BdZmK0Lt.d.ts +0 -66
  165. package/dist/chart-types-BGVVO-zl.d.cts +0 -208
  166. package/dist/chart-types-BGVVO-zl.d.ts +0 -208
  167. package/dist/charts/index.css +0 -1167
  168. package/dist/charts/index.css.map +0 -1
  169. package/dist/chunk-3BAQDW3V.cjs +0 -1207
  170. package/dist/chunk-3BAQDW3V.cjs.map +0 -1
  171. package/dist/chunk-3NKRFUAR.js +0 -37
  172. package/dist/chunk-3NKRFUAR.js.map +0 -1
  173. package/dist/chunk-3TGSIILM.cjs +0 -201
  174. package/dist/chunk-3TGSIILM.cjs.map +0 -1
  175. package/dist/chunk-4GM5BGBN.cjs +0 -801
  176. package/dist/chunk-4GM5BGBN.cjs.map +0 -1
  177. package/dist/chunk-5LA3T22E.cjs +0 -562
  178. package/dist/chunk-5LA3T22E.cjs.map +0 -1
  179. package/dist/chunk-5SN66B2X.js +0 -2542
  180. package/dist/chunk-5SN66B2X.js.map +0 -1
  181. package/dist/chunk-6D22TFLA.cjs.map +0 -1
  182. package/dist/chunk-6H4DSTXR.js +0 -786
  183. package/dist/chunk-6H4DSTXR.js.map +0 -1
  184. package/dist/chunk-6HKQ5ILL.cjs +0 -1624
  185. package/dist/chunk-6HKQ5ILL.cjs.map +0 -1
  186. package/dist/chunk-7PX2AZ6Y.js +0 -39
  187. package/dist/chunk-7PX2AZ6Y.js.map +0 -1
  188. package/dist/chunk-7UZ5DETZ.js.map +0 -1
  189. package/dist/chunk-B6AVAX4F.js +0 -1415
  190. package/dist/chunk-B6AVAX4F.js.map +0 -1
  191. package/dist/chunk-BJZ2DKS5.cjs.map +0 -1
  192. package/dist/chunk-BUTQSDQH.js +0 -200
  193. package/dist/chunk-BUTQSDQH.js.map +0 -1
  194. package/dist/chunk-C2BCDNAV.js +0 -24
  195. package/dist/chunk-C2BCDNAV.js.map +0 -1
  196. package/dist/chunk-CJ2MKVAF.cjs +0 -46
  197. package/dist/chunk-CJ2MKVAF.cjs.map +0 -1
  198. package/dist/chunk-E7D6EKJ4.cjs +0 -44
  199. package/dist/chunk-E7D6EKJ4.cjs.map +0 -1
  200. package/dist/chunk-ECXBTUH6.cjs.map +0 -1
  201. package/dist/chunk-FAFAP4L5.js +0 -183
  202. package/dist/chunk-FAFAP4L5.js.map +0 -1
  203. package/dist/chunk-G2XGBO5V.cjs +0 -2565
  204. package/dist/chunk-G2XGBO5V.cjs.map +0 -1
  205. package/dist/chunk-GQELL2MF.cjs.map +0 -1
  206. package/dist/chunk-H2KQ3WSH.cjs.map +0 -1
  207. package/dist/chunk-H2Y6BSTL.cjs.map +0 -1
  208. package/dist/chunk-HCZW5AJN.cjs +0 -234
  209. package/dist/chunk-HCZW5AJN.cjs.map +0 -1
  210. package/dist/chunk-HDVAMYSG.js.map +0 -1
  211. package/dist/chunk-HN4PHABT.js +0 -126
  212. package/dist/chunk-HN4PHABT.js.map +0 -1
  213. package/dist/chunk-LTPTW2US.cjs.map +0 -1
  214. package/dist/chunk-MDB2WCRQ.cjs +0 -137
  215. package/dist/chunk-MDB2WCRQ.cjs.map +0 -1
  216. package/dist/chunk-MQRB634A.cjs +0 -34
  217. package/dist/chunk-MQRB634A.cjs.map +0 -1
  218. package/dist/chunk-NN3TUHIH.js +0 -28
  219. package/dist/chunk-NN3TUHIH.js.map +0 -1
  220. package/dist/chunk-OWS2KAXZ.js +0 -701
  221. package/dist/chunk-OWS2KAXZ.js.map +0 -1
  222. package/dist/chunk-P5BOFE5A.js.map +0 -1
  223. package/dist/chunk-PUPSK3DI.cjs +0 -216
  224. package/dist/chunk-PUPSK3DI.cjs.map +0 -1
  225. package/dist/chunk-Q2MFGYTE.cjs +0 -1449
  226. package/dist/chunk-Q2MFGYTE.cjs.map +0 -1
  227. package/dist/chunk-Q75DBVDY.cjs +0 -68
  228. package/dist/chunk-Q75DBVDY.cjs.map +0 -1
  229. package/dist/chunk-QALDZ7WQ.js.map +0 -1
  230. package/dist/chunk-QWE2RNCS.js +0 -1195
  231. package/dist/chunk-QWE2RNCS.js.map +0 -1
  232. package/dist/chunk-RQUFZAZ7.js +0 -1608
  233. package/dist/chunk-RQUFZAZ7.js.map +0 -1
  234. package/dist/chunk-SICKWUWB.js.map +0 -1
  235. package/dist/chunk-TCFC7XTB.js +0 -212
  236. package/dist/chunk-TCFC7XTB.js.map +0 -1
  237. package/dist/chunk-UTVXGAQP.cjs +0 -2437
  238. package/dist/chunk-UTVXGAQP.cjs.map +0 -1
  239. package/dist/chunk-UVEMY3FQ.cjs +0 -717
  240. package/dist/chunk-UVEMY3FQ.cjs.map +0 -1
  241. package/dist/chunk-VFJZQQZU.js.map +0 -1
  242. package/dist/chunk-WH7PYHZY.cjs +0 -35
  243. package/dist/chunk-WH7PYHZY.cjs.map +0 -1
  244. package/dist/chunk-WYH4TKS5.js.map +0 -1
  245. package/dist/chunk-XEX2AEZK.cjs.map +0 -1
  246. package/dist/chunk-XPTVHPCN.js +0 -2320
  247. package/dist/chunk-XPTVHPCN.js.map +0 -1
  248. package/dist/chunk-XWPDRMZG.js +0 -62
  249. package/dist/chunk-XWPDRMZG.js.map +0 -1
  250. package/dist/chunk-Y26OHHMX.js.map +0 -1
  251. package/dist/chunk-YJ6C3EKW.js.map +0 -1
  252. package/dist/motion-C651Ry6d.d.cts +0 -832
  253. package/dist/motion-C651Ry6d.d.ts +0 -832
  254. package/dist/report/index.css +0 -1239
  255. package/dist/report/index.css.map +0 -1
  256. /package/dist/{chunk-6UNG76Y2.js.map → chunk-2VVRZBUR.cjs.map} +0 -0
  257. /package/dist/{chunk-YTYDQBVY.cjs.map → chunk-K526GN7P.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/StarRating/StarRating.css","../../src/components/PlatformBadge/PlatformBadge.css","../../src/components/SocialProof/SocialProof.css","../../src/components/LayoutPrimitives/LayoutPrimitives.css","../../src/components/SectionShell/SectionShell.css","../../src/components/VideoLightbox/VideoLightbox.css","../../src/components/MetricCounter/MetricCounter.css"],"sourcesContent":["/* ============================================================================\n STAR RATING — ELITE SOCIAL PROOF\n ============================================================================ */\n\n.ds-star-rating {\n display: inline-flex;\n align-items: center;\n gap: var(--space-2);\n}\n\n.ds-star-rating__stars {\n display: inline-flex;\n align-items: center;\n gap: var(--space-1);\n}\n\n/* --- Size Variants --- */\n\n.ds-star-rating--sm .ds-star-rating__svg {\n width: 16px;\n height: 16px;\n}\n\n.ds-star-rating--md .ds-star-rating__svg {\n width: 20px;\n height: 20px;\n}\n\n.ds-star-rating--lg .ds-star-rating__svg {\n width: 28px;\n height: 28px;\n}\n\n/* --- Star Element --- */\n\n.ds-star-rating__star {\n position: relative;\n display: inline-flex;\n line-height: 0;\n}\n\n.ds-star-rating__svg {\n display: block;\n}\n\n.ds-star-rating__svg--filled {\n position: absolute;\n inset: 0;\n transition: clip-path 0.4s cubic-bezier(0.16, 1, 0.3, 1);\n transition-delay: var(--star-delay, 0ms);\n}\n\n/* Empty star */\n.ds-star-rating__empty {\n fill: var(--text-tertiary, rgba(255, 255, 255, 0.15));\n}\n\n/* Filled star — amber/gold */\n.ds-star-rating__filled {\n fill: var(--data-yellow, #eab308);\n}\n\n/* --- Entrance Animation --- */\n\n.ds-star-rating__star {\n opacity: 1;\n transform: scale(1);\n}\n\n/* When animate is enabled, stars start hidden */\n.ds-star-rating__star:not(.ds-star-rating__star--visible) {\n opacity: 0;\n transform: scale(0.5);\n}\n\n.ds-star-rating__star--visible {\n opacity: 1;\n transform: scale(1);\n transition:\n opacity 0.3s ease-out,\n transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);\n transition-delay: var(--star-delay, 0ms);\n}\n\n/* --- Value Display --- */\n\n.ds-star-rating__value {\n font-family: var(--font-family);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n line-height: 1;\n}\n\n.ds-star-rating--sm .ds-star-rating__value {\n font-size: var(--font-size-sm);\n}\n\n.ds-star-rating--md .ds-star-rating__value {\n font-size: var(--font-size-base);\n}\n\n.ds-star-rating--lg .ds-star-rating__value {\n font-size: var(--font-size-xl);\n}\n\n.ds-star-rating__value-label {\n font-weight: var(--font-weight-normal);\n color: var(--text-secondary);\n margin-left: var(--space-1);\n}\n\n/* --- Reduced Motion --- */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-star-rating__star,\n .ds-star-rating__star--visible {\n transition: none;\n }\n\n .ds-star-rating__svg--filled {\n transition: none;\n }\n}\n","/* ============================================================================\n PLATFORM BADGE — TRUST SIGNAL\n ============================================================================ */\n\n.ds-platform-badge {\n display: inline-flex;\n align-items: center;\n gap: var(--space-2);\n padding: var(--space-1) var(--space-2);\n border-radius: var(--radius-badge, 999px);\n background: var(--glass-base, rgba(255, 255, 255, 0.05));\n border: 1px solid var(--rim-light-bottom, rgba(255, 255, 255, 0.06));\n transition:\n background var(--transition-base),\n border-color var(--transition-base),\n box-shadow var(--transition-base);\n white-space: nowrap;\n}\n\n.ds-platform-badge:hover {\n background: var(--glass-base-hover, rgba(255, 255, 255, 0.08));\n border-color: color-mix(in srgb, var(--platform-accent) 30%, transparent);\n box-shadow: 0 0 12px color-mix(in srgb, var(--platform-accent) 15%, transparent);\n}\n\n/* --- Icon --- */\n\n.ds-platform-badge__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n line-height: 0;\n}\n\n/* --- Label --- */\n\n.ds-platform-badge__label {\n font-family: var(--font-family);\n font-weight: var(--font-weight-medium);\n color: var(--text-primary);\n line-height: 1;\n}\n\n/* --- Rating (full variant) --- */\n\n.ds-platform-badge__rating {\n display: inline-flex;\n align-items: center;\n gap: var(--space-1);\n}\n\n.ds-platform-badge__count {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-secondary);\n line-height: 1;\n}\n\n/* --- Size Variants --- */\n\n.ds-platform-badge--sm {\n padding: var(--space-1) var(--space-2);\n}\n\n.ds-platform-badge--sm .ds-platform-badge__label {\n font-size: var(--font-size-xs);\n}\n\n.ds-platform-badge--md {\n padding: var(--space-2) var(--space-3);\n}\n\n.ds-platform-badge--md .ds-platform-badge__label {\n font-size: var(--font-size-sm);\n}\n\n/* --- Display Mode Variants --- */\n\n.ds-platform-badge--icon-only {\n padding: var(--space-1);\n border-radius: var(--radius-badge, 999px);\n}\n\n.ds-platform-badge--full {\n gap: var(--space-2);\n}\n\n/* --- Reduced Motion --- */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-platform-badge {\n transition: none;\n }\n}\n","/* ============================================================================\n SOCIAL PROOF SYSTEM — ELITE LEVEL\n ============================================================================\n Six visually distinct card variants, variable-size masonry grid,\n staggered entrance animations, and immersive featured layouts.\n ============================================================================ */\n\n/* ==========================================================================\n Base Card\n ========================================================================== */\n\n.ds-social-card {\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n padding: var(--space-6);\n border-radius: var(--radius-card);\n background: var(--glass-base);\n border: 1px solid var(--rim-light-bottom);\n box-shadow: var(--glass-shadow-outer);\n transition:\n transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),\n box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1),\n border-color 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n height: 100%;\n position: relative;\n overflow: hidden;\n text-decoration: none;\n}\n\n.ds-social-card:hover {\n transform: translateY(-6px);\n background: var(--glass-base-hover);\n border-color: var(--rim-light-top);\n box-shadow:\n var(--glass-shadow-elevated),\n 0 0 20px rgba(var(--brand-pink-rgb, 249, 115, 22), 0.08);\n}\n\n/* ==========================================================================\n Entrance Animation\n ========================================================================== */\n\n.ds-social-card--animated {\n opacity: 0;\n transform: translateY(20px);\n animation: ds-card-entrance 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;\n animation-delay: var(--card-delay, 0ms);\n}\n\n@keyframes ds-card-entrance {\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ds-social-card--animated {\n opacity: 1;\n transform: none;\n animation: none;\n }\n}\n\n/* ==========================================================================\n Variant: Rating-Only (compact horizontal)\n ========================================================================== */\n\n.ds-social-card--rating-only {\n flex-direction: row;\n align-items: center;\n gap: var(--space-4);\n padding: var(--space-4) var(--space-5);\n border-top: 2px solid var(--data-yellow, #eab308);\n}\n\n.ds-social-card__rating-row {\n display: flex;\n align-items: center;\n gap: var(--space-4);\n width: 100%;\n}\n\n.ds-social-card--rating-only .ds-social-card__meta {\n flex: 1;\n min-width: 0;\n}\n\n/* ==========================================================================\n Variant: Simple (quote with decorative marks)\n ========================================================================== */\n\n.ds-social-card--simple {\n justify-content: space-between;\n}\n\n/* Decorative quotation mark */\n.ds-social-card__deco-quote {\n position: absolute;\n top: var(--space-3);\n right: var(--space-4);\n /* stylelint-disable-next-line declaration-property-value-disallowed-list -- decorative quote glyph, no semantic token */\n font-size: 72px;\n font-family: Georgia, 'Times New Roman', serif;\n line-height: 1;\n background: linear-gradient(135deg, var(--brand-pink, #f97316), var(--brand-yellow, #8b5cf6));\n -webkit-background-clip: text;\n background-clip: text;\n -webkit-text-fill-color: transparent;\n opacity: 0.1;\n pointer-events: none;\n user-select: none;\n}\n\n/* ==========================================================================\n Variant: Social (rich, accent border)\n ========================================================================== */\n\n.ds-social-card--social {\n background: var(--glass-base-subtle, rgba(255, 255, 255, 0.03));\n border-left: 3px solid var(--brand-pink, #f97316);\n}\n\n/* Clamp text to 4 lines with gradient fade */\n.ds-social-card__quote--clamp {\n display: -webkit-box;\n -webkit-line-clamp: 4;\n -webkit-box-orient: vertical;\n overflow: hidden;\n position: relative;\n}\n\n/* ==========================================================================\n Variant: Video (cinematic thumbnail)\n ========================================================================== */\n\n.ds-social-card--video {\n padding: 0;\n gap: 0;\n}\n\n.ds-social-card--case-study {\n padding: 0;\n gap: 0;\n}\n\n.ds-social-card__media {\n width: 100%;\n aspect-ratio: 16/9;\n overflow: hidden;\n position: relative;\n background: var(--glass-base-active);\n}\n\n.ds-social-card__media img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.ds-social-card__media-placeholder {\n width: 100%;\n height: 100%;\n background: linear-gradient(135deg,\n var(--glass-base-active, rgba(0, 0, 0, 0.4)) 0%,\n var(--glass-base, rgba(0, 0, 0, 0.2)) 100%\n );\n}\n\n.ds-social-card:hover .ds-social-card__media img {\n transform: scale(1.05);\n}\n\n/* Video: dark gradient overlay on thumbnail */\n.ds-social-card--video .ds-social-card__media::after {\n content: '';\n position: absolute;\n inset: 0;\n background: linear-gradient(to top, var(--overlay-medium, rgba(0, 0, 0, 0.5)) 0%, transparent 60%);\n pointer-events: none;\n z-index: 1;\n}\n\n/* Play Button Overlay */\n.ds-social-card__play {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 2;\n}\n\n.ds-social-card__play-icon {\n width: 48px;\n height: 48px;\n background: var(--surface-bright, rgba(255, 255, 255, 0.9));\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--text-on-bright, #000);\n box-shadow: var(--glass-shadow-elevated);\n transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n position: relative;\n}\n\n/* Pulse ring animation on play button */\n.ds-social-card__play-icon::after {\n content: '';\n position: absolute;\n inset: -6px;\n border-radius: 50%;\n border: 2px solid var(--border-subtle, rgba(255, 255, 255, 0.3));\n animation: ds-play-pulse 2s ease-out infinite;\n}\n\n@keyframes ds-play-pulse {\n 0% {\n transform: scale(0.85);\n opacity: 1;\n }\n 100% {\n transform: scale(1.4);\n opacity: 0;\n }\n}\n\n.ds-social-card:hover .ds-social-card__play-icon {\n transform: scale(1.1);\n}\n\n/* ==========================================================================\n Variant: Case Study (wide, structured)\n ========================================================================== */\n\n.ds-social-card--case-study {\n border-bottom: 3px solid transparent;\n border-image: linear-gradient(\n to right,\n var(--brand-pink, #f97316),\n var(--brand-yellow, #8b5cf6)\n ) 1;\n}\n\n/* Case study header */\n.ds-social-card__cs-header {\n display: flex;\n align-items: center;\n gap: var(--space-3);\n}\n\n.ds-social-card__cs-logo {\n width: 40px;\n height: 40px;\n border-radius: var(--radius-badge, 8px);\n overflow: hidden;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--glass-base-active, rgba(0, 0, 0, 0.1));\n}\n\n.ds-social-card__cs-logo img {\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n}\n\n.ds-social-card__cs-company {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n flex-wrap: wrap;\n}\n\n.ds-social-card__cs-industry {\n font-family: var(--font-family-mono, monospace);\n font-size: var(--font-size-xs);\n color: var(--brand-pink, #f97316);\n background: rgba(var(--brand-pink-rgb, 249, 115, 22), 0.1);\n padding: var(--space-1) var(--space-2);\n border-radius: var(--radius-badge, 999px);\n line-height: 1;\n}\n\n.ds-social-card__cs-headline {\n font-family: var(--font-family);\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n line-height: var(--line-height-tight);\n margin: 0;\n}\n\n/* Metrics strip */\n.ds-social-card__cs-metrics {\n display: flex;\n gap: var(--space-4);\n padding: var(--space-3) 0;\n border-top: 1px solid var(--rim-light-bottom, rgba(255, 255, 255, 0.06));\n border-bottom: 1px solid var(--rim-light-bottom, rgba(255, 255, 255, 0.06));\n}\n\n.ds-social-card__cs-metric {\n display: flex;\n flex-direction: column;\n gap: var(--space-1);\n flex: 1;\n min-width: 0;\n}\n\n.ds-social-card__cs-metric-value {\n font-family: var(--font-family);\n font-size: var(--font-size-xl);\n font-weight: var(--font-weight-bold);\n color: var(--brand-pink, #f97316);\n line-height: 1;\n}\n\n.ds-social-card__cs-metric-label {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-secondary);\n line-height: 1.2;\n}\n\n/* Quote excerpt in case study */\n.ds-social-card__quote--excerpt {\n font-style: italic;\n color: var(--text-secondary);\n font-size: var(--font-size-sm);\n}\n\n/* ==========================================================================\n Shared Content Styles\n ========================================================================== */\n\n.ds-social-card__content {\n padding: var(--space-6);\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n flex: 1;\n}\n\n/* Simple/social variants don't zero-pad, so content already inside padded card */\n.ds-social-card--simple .ds-social-card__content,\n.ds-social-card--social .ds-social-card__content {\n padding: 0;\n}\n\n/* Author Block */\n.ds-social-card__author {\n display: flex;\n align-items: center;\n gap: var(--space-3);\n margin-top: auto;\n}\n\n.ds-social-card__avatar {\n width: 40px;\n height: 40px;\n border-radius: 50%;\n overflow: hidden;\n background: var(--glass-base-active);\n flex-shrink: 0;\n}\n\n.ds-social-card__avatar img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.ds-social-card__meta {\n display: flex;\n flex-direction: column;\n line-height: 1.2;\n}\n\n.ds-social-card__name {\n font-family: var(--font-family);\n font-weight: var(--font-weight-semibold);\n font-size: var(--font-size-sm);\n color: var(--text-primary);\n}\n\n.ds-social-card__handle {\n color: var(--text-tertiary);\n font-weight: var(--font-weight-normal);\n margin-left: var(--space-1);\n}\n\n.ds-social-card__role {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-secondary);\n}\n\n/* Quote Text */\n.ds-social-card__quote {\n font-family: var(--font-family);\n font-size: var(--font-size-base);\n color: var(--text-secondary);\n line-height: var(--line-height-relaxed);\n margin: 0;\n}\n\n.ds-social-card--simple .ds-social-card__quote {\n font-size: var(--font-size-lg);\n color: var(--text-primary);\n}\n\n/* Source Icon (platform badge)\n -------------------------------------------------------------------\n Default: inline flow element. Each variant controls placement.\n The previous absolute-positioning approach caused the badge to\n overlap quote text in the 'social' variant because content had no\n reserved space. Flow-based positioning eliminates this class of bug\n for all current and future badge sizes (icon-only, icon-label, full).\n ------------------------------------------------------------------- */\n.ds-social-card__source {\n flex-shrink: 0;\n z-index: 1;\n}\n\n/* Simple variant: source renders inline in the content column */\n.ds-social-card--simple .ds-social-card__source {\n /* Already in flow — no positioning needed */\n}\n\n/* Social variant: float the badge to the top-right of the content area\n so quote text wraps around it instead of flowing underneath. */\n.ds-social-card--social .ds-social-card__source {\n float: right;\n margin-left: var(--space-3);\n margin-bottom: var(--space-2);\n}\n\n/* Badges */\n.ds-social-card__badges {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-2);\n margin-bottom: var(--space-2);\n}\n\n.ds-social-card__media .ds-social-card__badges {\n position: absolute;\n bottom: var(--space-4);\n left: var(--space-4);\n z-index: 2;\n margin: 0;\n}\n\n.ds-social-card__badge {\n font-family: var(--font-family-mono);\n font-size: var(--font-size-xs);\n background: var(--overlay-heavy, rgba(0, 0, 0, 0.6));\n color: var(--text-on-dark, white);\n padding: var(--space-1) var(--space-2);\n border-radius: var(--radius-badge);\n backdrop-filter: blur(4px);\n border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.1));\n}\n\n/* CTA Link */\n.ds-social-card__cta {\n margin-top: var(--space-4);\n font-size: var(--font-size-sm);\n color: var(--brand-pink);\n font-weight: var(--font-weight-medium);\n transition: color 0.3s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);\n display: inline-flex;\n align-items: center;\n gap: var(--space-1);\n}\n\n.ds-social-card:hover .ds-social-card__cta {\n color: var(--brand-pink-bright);\n transform: translateX(4px);\n}\n\n/* ==========================================================================\n Grid (Wall of Love)\n ========================================================================== */\n\n.ds-social-grid {\n display: grid;\n gap: var(--space-6);\n grid-auto-flow: dense;\n}\n\n.ds-social-grid--3-col {\n grid-template-columns: 1fr;\n}\n\n@media (min-width: 640px) {\n .ds-social-grid--2-col {\n grid-template-columns: repeat(2, 1fr);\n }\n .ds-social-grid--3-col {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 1024px) {\n .ds-social-grid--3-col {\n grid-template-columns: repeat(3, 1fr);\n }\n .ds-social-grid--4-col {\n grid-template-columns: repeat(4, 1fr);\n }\n}\n\n/* Variable-size: span 2 columns */\n.ds-social-grid__item--span-2 {\n grid-column: span 1;\n}\n\n@media (min-width: 640px) {\n .ds-social-grid__item--span-2 {\n grid-column: span 2;\n }\n}\n\n/* Masonry Fallback using Columns */\n.ds-social-masonry {\n column-count: 1;\n column-gap: var(--space-6);\n}\n\n@media (min-width: 640px) {\n .ds-social-masonry {\n column-count: 2;\n }\n}\n\n@media (min-width: 1024px) {\n .ds-social-masonry {\n column-count: 3;\n }\n}\n\n.ds-social-masonry .ds-social-card {\n break-inside: avoid;\n margin-bottom: var(--space-6);\n}\n\n/* ==========================================================================\n Spotlight Effect: Dim siblings on hover\n ========================================================================== */\n\n.ds-social-carousel:has(.ds-social-card:hover) .ds-social-card:not(:hover),\n.ds-social-grid:has(.ds-social-card:hover) .ds-social-card:not(:hover) {\n opacity: 0.6;\n filter: grayscale(0.3);\n transform: scale(0.98);\n transition:\n opacity 0.3s ease,\n filter 0.3s ease,\n transform 0.3s ease;\n}\n\n/* ==========================================================================\n Carousel (Waterfall / Feed)\n ========================================================================== */\n\n.ds-social-carousel {\n position: relative;\n overflow: hidden;\n padding: var(--space-4) 0;\n mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);\n -webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);\n}\n\n.ds-social-carousel__track {\n display: flex;\n gap: var(--space-6);\n width: max-content;\n animation: ds-social-scroll 60s linear infinite;\n}\n\n.ds-social-carousel:hover .ds-social-carousel__track {\n animation-play-state: paused;\n}\n\n.ds-social-carousel .ds-social-card {\n width: 320px;\n flex-shrink: 0;\n white-space: normal;\n}\n\n@keyframes ds-social-scroll {\n from {\n transform: translateX(0);\n }\n to {\n transform: translateX(-50%);\n }\n}\n\n/* ==========================================================================\n Featured Video / Testimonial\n ========================================================================== */\n\n.ds-social-featured-section {\n /* Container for the featured block */\n}\n\n.ds-social-featured {\n display: grid;\n gap: var(--space-8);\n background: var(--glass-base);\n border-radius: var(--radius-panel);\n border: 1px solid var(--rim-light-bottom);\n overflow: hidden;\n padding: var(--space-8);\n}\n\n@media (min-width: 1024px) {\n .ds-social-featured--horizontal {\n grid-template-columns: 1.2fr 0.8fr;\n align-items: center;\n padding: 0;\n }\n\n .ds-social-featured--horizontal .ds-social-featured__content {\n padding: var(--space-12);\n }\n\n .ds-social-featured--horizontal .ds-social-featured__media {\n height: 100%;\n min-height: 400px;\n }\n}\n\n/* --- Featured: Cinematic variant --- */\n\n.ds-social-featured--cinematic {\n background: linear-gradient(\n 135deg,\n var(--overlay-heavy, rgba(0, 0, 0, 0.8)) 0%,\n var(--glass-base, rgba(0, 0, 0, 0.4)) 100%\n );\n border-color: rgba(var(--brand-pink-rgb, 249, 115, 22), 0.15);\n}\n\n.ds-social-featured--cinematic .ds-social-featured__quote {\n font-size: var(--font-size-3xl);\n}\n\n/* --- Featured: Spotlight variant (centered) --- */\n\n.ds-social-featured--spotlight {\n text-align: center;\n justify-items: center;\n background: radial-gradient(\n ellipse at center,\n rgba(var(--brand-pink-rgb, 249, 115, 22), 0.06) 0%,\n var(--glass-base, rgba(0, 0, 0, 0.2)) 70%\n );\n}\n\n.ds-social-featured--spotlight .ds-social-featured__quote {\n max-width: 700px;\n}\n\n.ds-social-featured--spotlight .ds-social-featured__author-large {\n justify-content: center;\n}\n\n/* --- Featured shared styles --- */\n\n.ds-social-featured__content {\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n}\n\n.ds-social-featured__logo {\n display: flex;\n align-items: center;\n}\n\n.ds-social-featured__logo img,\n.ds-social-featured__logo svg {\n max-height: 40px;\n width: auto;\n}\n\n/* Trust row: star rating + platform badge side by side */\n.ds-social-featured__trust {\n display: flex;\n align-items: center;\n gap: var(--space-4);\n flex-wrap: wrap;\n}\n\n.ds-social-featured__media {\n position: relative;\n width: 100%;\n aspect-ratio: 16/9;\n border-radius: var(--radius-card);\n overflow: hidden;\n background: var(--bg-dark, #000);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n@media (min-width: 1024px) {\n .ds-social-featured--horizontal .ds-social-featured__media {\n border-radius: 0;\n }\n}\n\n.ds-social-featured__quote {\n font-family: var(--font-family);\n font-size: var(--font-size-2xl);\n font-weight: var(--font-weight-medium);\n color: var(--text-primary);\n line-height: var(--line-height-tight);\n margin-bottom: var(--space-8);\n}\n\n.ds-social-featured__author-large {\n display: flex;\n align-items: center;\n gap: var(--space-4);\n}\n\n.ds-social-featured__author-large .ds-social-card__avatar {\n width: 64px;\n height: 64px;\n}\n\n.ds-social-featured__author-large .ds-social-card__name {\n font-size: var(--font-size-lg);\n}\n\n/* ==========================================================================\n Logos (Marquee & Grid)\n ========================================================================== */\n\n.ds-social-logos {\n overflow: hidden;\n}\n\n.ds-social-logos__marquee {\n display: flex;\n overflow: hidden;\n user-select: none;\n gap: var(--space-12);\n mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);\n -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);\n}\n\n.ds-social-logos__track {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: space-around;\n gap: var(--space-12);\n min-width: 100%;\n animation: ds-scroll var(--marquee-duration, 40s) linear infinite;\n transform: translateZ(0);\n}\n\n.ds-social-logos__marquee:hover .ds-social-logos__track {\n animation-play-state: paused;\n}\n\n@keyframes ds-scroll {\n from {\n transform: translateX(0);\n }\n to {\n transform: translateX(calc(-100% - var(--space-12)));\n }\n}\n\n.ds-social-logos__item {\n opacity: 0.5;\n filter: grayscale(100%);\n transition: opacity var(--transition-base), filter var(--transition-base), transform var(--transition-base);\n max-width: 160px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n text-decoration: none;\n position: relative;\n}\n\n.ds-social-logos__item:hover {\n opacity: 1;\n filter: grayscale(0%);\n transform: scale(1.05);\n}\n\n.ds-social-logos__item img,\n.ds-social-logos__item svg {\n max-height: 40px;\n width: auto;\n display: block;\n}\n\n.ds-social-logos__badge {\n position: absolute;\n bottom: -16px;\n right: -12px;\n font-family: var(--font-family-mono);\n font-size: var(--font-size-xs);\n line-height: 1;\n font-weight: 500;\n padding: 3px 6px;\n border-radius: 999px;\n background: var(--glass-base, rgba(255, 255, 255, 0.1));\n color: var(--text-secondary);\n border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.15));\n backdrop-filter: blur(8px);\n white-space: nowrap;\n pointer-events: none;\n transition: opacity var(--transition-base), background var(--transition-base), color var(--transition-base), border-color var(--transition-base);\n opacity: 0.8;\n}\n\n.ds-social-logos__item:hover .ds-social-logos__badge {\n opacity: 1;\n background: var(--glass-base-hover, rgba(255, 255, 255, 0.15));\n color: var(--text-primary);\n border-color: var(--border-subtle-hover, rgba(255, 255, 255, 0.3));\n}\n\n/* ==========================================================================\n Reduced Motion — Global\n ========================================================================== */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-social-card {\n transition: none;\n }\n\n .ds-social-card:hover {\n transform: none;\n }\n\n .ds-social-card__media img {\n transition: none;\n }\n\n .ds-social-card:hover .ds-social-card__media img {\n transform: none;\n }\n\n .ds-social-card__play-icon::after {\n animation: none;\n }\n\n .ds-social-carousel__track {\n animation: none;\n }\n\n .ds-social-logos__track {\n animation: none;\n }\n\n .ds-social-carousel:has(.ds-social-card:hover) .ds-social-card:not(:hover),\n .ds-social-grid:has(.ds-social-card:hover) .ds-social-card:not(:hover) {\n opacity: 1;\n filter: none;\n transform: none;\n transition: none;\n }\n}\n","/* Layout Primitives Base Styles */\n\n.ds-box {\n display: block;\n box-sizing: border-box;\n min-width: 0;\n}\n\n.ds-stack {\n display: flex;\n flex-direction: column;\n}\n\n.ds-stack--horizontal {\n flex-direction: row;\n}\n\n.ds-grid {\n display: grid;\n}\n\n/* ── Grid responsive columns ──────────────────────────────────────────────────\n Auto-collapse to fewer columns at narrow viewports.\n These classes are overrideable by Tailwind responsive utilities (e.g.\n className=\"grid-cols-1 md:grid-cols-2 lg:grid-cols-4\") because Tailwind\n utilities load after DS styles and win at equal specificity.\n ──────────────────────────────────────────────────────────────────────────── */\n\n/* 1 column — no responsive change */\n.ds-grid--cols-1 {\n grid-template-columns: repeat(1, 1fr);\n}\n\n/* 2 columns → 1 on mobile */\n.ds-grid--cols-2 {\n grid-template-columns: repeat(1, 1fr);\n}\n\n@media (min-width: 640px) {\n .ds-grid--cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n/* 3 columns → 1 on mobile, 2 on sm, 3 on lg */\n.ds-grid--cols-3 {\n grid-template-columns: repeat(1, 1fr);\n}\n\n@media (min-width: 640px) {\n .ds-grid--cols-3 {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 1024px) {\n .ds-grid--cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n\n/* 4 columns → 1 on mobile, 2 on sm, 4 on lg */\n.ds-grid--cols-4 {\n grid-template-columns: repeat(1, 1fr);\n}\n\n@media (min-width: 640px) {\n .ds-grid--cols-4 {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 1024px) {\n .ds-grid--cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n}\n\n/* 5 columns → 1 on mobile, 2 on sm, 3 on md, 5 on xl */\n.ds-grid--cols-5 {\n grid-template-columns: repeat(1, 1fr);\n}\n\n@media (min-width: 640px) {\n .ds-grid--cols-5 {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 768px) {\n .ds-grid--cols-5 {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n\n@media (min-width: 1280px) {\n .ds-grid--cols-5 {\n grid-template-columns: repeat(5, 1fr);\n }\n}\n\n/* 6 columns → 1 on mobile, 2 on sm, 3 on md, 6 on xl */\n.ds-grid--cols-6 {\n grid-template-columns: repeat(1, 1fr);\n}\n\n@media (min-width: 640px) {\n .ds-grid--cols-6 {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 768px) {\n .ds-grid--cols-6 {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n\n@media (min-width: 1280px) {\n .ds-grid--cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n}\n\n/* ── Grid expansion on wide screens (Space Budget Ladder) ─────────────────\n Grids expand to MORE columns on ultra-wide viewports.\n The .ds-grid--fixed class opts out of expansion.\n ──────────────────────────────────────────────────────────────────────────── */\n\n/* 3xl (1920px): expand 3→4, 4→4 stays, 5→5 stays, 6→6 stays */\n@media (min-width: 1920px) {\n .ds-grid--cols-3:not(.ds-grid--fixed) {\n grid-template-columns: repeat(4, 1fr);\n }\n}\n\n/* 4xl (2560px): expand 2→3, 3→4, 4→5, 5→6, 6→8 */\n@media (min-width: 2560px) {\n .ds-grid--cols-2:not(.ds-grid--fixed) {\n grid-template-columns: repeat(3, 1fr);\n }\n .ds-grid--cols-3:not(.ds-grid--fixed) {\n grid-template-columns: repeat(4, 1fr);\n }\n .ds-grid--cols-4:not(.ds-grid--fixed) {\n grid-template-columns: repeat(5, 1fr);\n }\n .ds-grid--cols-5:not(.ds-grid--fixed) {\n grid-template-columns: repeat(6, 1fr);\n }\n .ds-grid--cols-6:not(.ds-grid--fixed) {\n grid-template-columns: repeat(8, 1fr);\n }\n}\n\n/* 5xl (3840px): expand 2→3, 3→5, 4→6, 5→8, 6→10 */\n@media (min-width: 3840px) {\n .ds-grid--cols-2:not(.ds-grid--fixed) {\n grid-template-columns: repeat(3, 1fr);\n }\n .ds-grid--cols-3:not(.ds-grid--fixed) {\n grid-template-columns: repeat(5, 1fr);\n }\n .ds-grid--cols-4:not(.ds-grid--fixed) {\n grid-template-columns: repeat(6, 1fr);\n }\n .ds-grid--cols-5:not(.ds-grid--fixed) {\n grid-template-columns: repeat(8, 1fr);\n }\n .ds-grid--cols-6:not(.ds-grid--fixed) {\n grid-template-columns: repeat(10, 1fr);\n }\n}\n\n/* ── Container — Responsive max-width + padding ladder ────────────────────── */\n\n:root {\n --container-default-max: 1200px;\n}\n\n@media (min-width: 1537px) {\n :root { --container-default-max: 1400px; }\n}\n\n@media (min-width: 1921px) {\n :root { --container-default-max: 1600px; }\n}\n\n@media (min-width: 2561px) {\n :root { --container-default-max: 1920px; }\n}\n\n.ds-container {\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n padding-left: var(--container-padding-x, var(--space-4));\n padding-right: var(--container-padding-x, var(--space-4));\n}\n\n/* Container horizontal padding scales with viewport */\n@media (min-width: 1537px) {\n .ds-container {\n --container-padding-x: var(--space-6);\n }\n}\n\n@media (min-width: 2561px) {\n .ds-container {\n --container-padding-x: var(--space-8);\n }\n}\n\n/* Section block — lightweight <section> with vertical padding */\n\n.ds-section-block {\n position: relative;\n}\n\n.ds-section-block--none {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.ds-section-block--sm {\n padding-top: var(--space-8, 2rem);\n padding-bottom: var(--space-8, 2rem);\n}\n\n.ds-section-block--md {\n padding-top: var(--space-16, 4rem);\n padding-bottom: var(--space-16, 4rem);\n}\n\n@media (min-width: 768px) {\n .ds-section-block--md {\n padding-top: var(--space-24, 6rem);\n padding-bottom: var(--space-24, 6rem);\n }\n}\n\n.ds-section-block--lg {\n padding-top: var(--space-24, 6rem);\n padding-bottom: var(--space-24, 6rem);\n}\n\n@media (min-width: 768px) {\n .ds-section-block--lg {\n padding-top: var(--space-32, 8rem);\n padding-bottom: var(--space-32, 8rem);\n }\n}\n\n.ds-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n}\n","/* ============================================================================\n SECTION SHELL\n ============================================================================ */\n\n.ds-section {\n position: relative;\n width: 100%;\n padding: var(--space-16) 0;\n box-sizing: border-box;\n}\n\n/* Background Variants */\n.ds-section--bg-default {\n background-color: transparent;\n}\n\n.ds-section--bg-muted {\n background-color: var(--surface-alpha-1);\n}\n\n.ds-section--bg-brand {\n background: radial-gradient(circle at 50% 0%, rgba(var(--brand-pink-rgb), 0.15), transparent 70%);\n}\n\n.ds-section--bg-transparent {\n background-color: transparent;\n}\n\n.ds-section--bg-dark {\n background-color: var(--void-forced-dark, #08040a);\n color: var(--dark-text-primary, rgba(255, 255, 255, 0.98));\n background-image: radial-gradient(ellipse at 50% 0%, rgba(var(--brand-pink-rgb), 0.08) 0%, transparent 60%);\n --text-primary: var(--dark-text-primary, rgba(255, 255, 255, 0.98));\n --text-secondary: var(--dark-text-secondary, rgba(255, 255, 255, 0.8));\n --surface-alpha-1: var(--dark-surface-alpha, rgba(255, 255, 255, 0.06));\n}\n\n/* Padding Sizes */\n.ds-section--padding-none {\n padding: 0;\n}\n.ds-section--padding-sm {\n padding: var(--space-8) 0;\n}\n.ds-section--padding-md {\n padding: var(--space-16) 0;\n}\n.ds-section--padding-lg {\n padding: var(--space-20) 0;\n}\n\n/* ==========================================================================\n Section Header\n ========================================================================== */\n\n.ds-section-header {\n --ds-section-header-margin-bottom: var(--space-12);\n --ds-section-header-title-size: var(--font-size-3xl);\n margin-bottom: var(--ds-section-header-margin-bottom);\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n}\n\n.ds-section-header--center {\n text-align: center;\n align-items: center;\n}\n.ds-section-header--left {\n text-align: left;\n align-items: flex-start;\n}\n.ds-section-header--right {\n text-align: right;\n align-items: flex-end;\n}\n\n.ds-section-header--compact {\n --ds-section-header-margin-bottom: var(--space-6);\n --ds-section-header-title-size: var(--font-size-2xl);\n}\n\n.ds-section-header--large {\n --ds-section-header-margin-bottom: var(--space-16);\n --ds-section-header-title-size: var(--font-size-4xl);\n}\n\n.ds-section-header__eyebrow {\n font-family: var(--font-family-mono);\n font-size: var(--font-size-xs);\n color: var(--brand-pink-readable, var(--brand-pink));\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n font-weight: var(--font-weight-medium);\n}\n\n.ds-section-header__title {\n font-family: var(--font-family);\n font-size: var(--ds-section-header-title-size);\n font-weight: var(--font-weight-bold);\n color: var(--text-primary);\n line-height: var(--line-height-tight);\n margin: 0;\n}\n\n.ds-section-header__subtitle {\n font-family: var(--font-family);\n font-size: var(--font-size-lg);\n color: var(--text-secondary);\n max-width: 65ch;\n line-height: var(--line-height-relaxed);\n margin: 0;\n}\n\n/* Responsive adjustments — Mobile */\n@media (max-width: 768px) {\n .ds-section {\n padding: var(--space-10) 0;\n }\n\n .ds-section--padding-lg {\n padding: var(--space-12) 0;\n }\n\n .ds-section-header {\n --ds-section-header-title-size: var(--font-size-2xl);\n }\n\n .ds-section-header--compact {\n --ds-section-header-title-size: var(--font-size-xl);\n }\n\n .ds-section-header--large {\n --ds-section-header-title-size: var(--font-size-3xl);\n }\n}\n\n/* Responsive adjustments — Wide (>=1920px) */\n@media (min-width: 1920px) {\n .ds-section {\n padding: var(--space-20) 0;\n }\n\n .ds-section--padding-sm {\n padding: var(--space-10) 0;\n }\n\n .ds-section--padding-md {\n padding: var(--space-20) 0;\n }\n\n .ds-section--padding-lg {\n padding: calc(var(--space-20) * 1.25) 0;\n }\n\n .ds-section-header {\n --ds-section-header-margin-bottom: var(--space-16);\n --ds-section-header-title-size: var(--font-size-4xl);\n }\n\n .ds-section-header--compact {\n --ds-section-header-margin-bottom: var(--space-12);\n --ds-section-header-title-size: var(--font-size-3xl);\n }\n\n .ds-section-header--large {\n --ds-section-header-margin-bottom: var(--space-20);\n --ds-section-header-title-size: var(--font-size-5xl);\n }\n}\n\n/* Responsive adjustments — Ultra (>=2560px) */\n@media (min-width: 2560px) {\n .ds-section {\n padding: calc(var(--space-20) * 1.5) 0;\n }\n\n .ds-section--padding-lg {\n padding: calc(var(--space-20) * 1.75) 0;\n }\n\n .ds-section-header {\n --ds-section-header-margin-bottom: var(--space-20);\n --ds-section-header-title-size: var(--font-size-5xl);\n gap: var(--space-6);\n }\n\n .ds-section-header--compact {\n --ds-section-header-margin-bottom: var(--space-16);\n --ds-section-header-title-size: var(--font-size-4xl);\n }\n\n .ds-section-header--large {\n --ds-section-header-margin-bottom: calc(var(--space-20) * 1.25);\n --ds-section-header-title-size: var(--font-size-6xl);\n }\n\n .ds-section-header__subtitle {\n font-size: var(--font-size-xl);\n }\n}\n\n/* Responsive adjustments — 4K+ (>=3840px) */\n@media (min-width: 3840px) {\n .ds-section {\n padding: calc(var(--space-20) * 2) 0;\n }\n\n .ds-section--padding-lg {\n padding: calc(var(--space-20) * 2.5) 0;\n }\n\n .ds-section-header {\n --ds-section-header-title-size: var(--font-size-6xl);\n }\n\n .ds-section-header--compact {\n --ds-section-header-title-size: var(--font-size-5xl);\n }\n}\n","/* ============================================================================\n VIDEO LIGHTBOX — MODAL VIDEO PLAYER\n ============================================================================ */\n\n/* --- Screen Reader Only utility --- */\n.ds-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n}\n\n/* --- Trigger --- */\n\n.ds-video-lightbox__trigger {\n all: unset;\n cursor: pointer;\n display: block;\n width: 100%;\n}\n\n.ds-video-lightbox__thumbnail-wrap {\n position: relative;\n width: 100%;\n aspect-ratio: 16 / 9;\n border-radius: var(--radius-card);\n overflow: hidden;\n background: var(--glass-base-active, rgba(0, 0, 0, 0.3));\n}\n\n.ds-video-lightbox__thumbnail {\n width: 100%;\n height: 100%;\n object-fit: cover;\n transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.ds-video-lightbox__trigger:hover .ds-video-lightbox__thumbnail {\n transform: scale(1.05);\n}\n\n.ds-video-lightbox__placeholder {\n width: 100%;\n height: 100%;\n background: linear-gradient(135deg,\n var(--glass-base-active, rgba(0, 0, 0, 0.4)) 0%,\n var(--glass-base, rgba(0, 0, 0, 0.2)) 100%\n );\n}\n\n/* --- Play Button Overlay --- */\n\n.ds-video-lightbox__overlay {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 60%);\n transition: background 0.3s ease;\n}\n\n.ds-video-lightbox__trigger:hover .ds-video-lightbox__overlay {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.3) 0%, transparent 60%);\n}\n\n.ds-video-lightbox__play-btn {\n transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n\n.ds-video-lightbox__trigger:hover .ds-video-lightbox__play-btn {\n transform: scale(1.1);\n}\n\n.ds-video-lightbox__play-bg {\n /* stylelint-disable-next-line declaration-property-value-disallowed-list -- SVG play button backdrop, no fill token exists */\n fill: rgba(0, 0, 0, 0.6);\n transition: fill 0.3s ease;\n}\n\n.ds-video-lightbox__trigger:hover .ds-video-lightbox__play-bg {\n fill: var(--brand-pink, #f97316);\n}\n\n/* --- Play Button Pulse Ring --- */\n\n.ds-video-lightbox__play-btn::after {\n content: '';\n position: absolute;\n inset: -8px;\n border-radius: 50%;\n border: 2px solid rgba(255, 255, 255, 0.3);\n animation: ds-lightbox-pulse 2s ease-out infinite;\n}\n\n@keyframes ds-lightbox-pulse {\n 0% {\n transform: scale(0.8);\n opacity: 1;\n }\n 100% {\n transform: scale(1.4);\n opacity: 0;\n }\n}\n\n/* --- Backdrop --- */\n\n.ds-video-lightbox__backdrop {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.85);\n backdrop-filter: blur(8px);\n -webkit-backdrop-filter: blur(8px);\n z-index: 9998;\n animation: ds-lightbox-fade-in 0.25s ease-out;\n}\n\n/* --- Popup --- */\n\n.ds-video-lightbox__popup {\n position: fixed;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--space-6);\n z-index: 9999;\n animation: ds-lightbox-scale-in 0.3s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n/* --- Close Button --- */\n\n.ds-video-lightbox__close {\n all: unset;\n position: absolute;\n top: var(--space-4);\n right: var(--space-4);\n width: 44px;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--text-on-dark, white);\n opacity: 0.7;\n cursor: pointer;\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.1);\n transition:\n opacity var(--transition-base),\n background var(--transition-base);\n z-index: 1;\n}\n\n.ds-video-lightbox__close:hover {\n opacity: 1;\n background: rgba(255, 255, 255, 0.2);\n}\n\n.ds-video-lightbox__close:focus-visible {\n outline: 2px solid var(--brand-pink, #f97316);\n outline-offset: 2px;\n}\n\n/* --- Iframe Container --- */\n\n.ds-video-lightbox__iframe-wrap {\n width: 100%;\n max-width: 1200px;\n aspect-ratio: 16 / 9;\n border-radius: var(--radius-card, 12px);\n overflow: hidden;\n background: black;\n box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);\n}\n\n.ds-video-lightbox__iframe {\n width: 100%;\n height: 100%;\n border: none;\n}\n\n/* --- Animations --- */\n\n@keyframes ds-lightbox-fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n@keyframes ds-lightbox-scale-in {\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n/* --- Reduced Motion --- */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-video-lightbox__backdrop,\n .ds-video-lightbox__popup {\n animation: none;\n }\n\n .ds-video-lightbox__thumbnail {\n transition: none;\n }\n\n .ds-video-lightbox__play-btn::after {\n animation: none;\n }\n\n .ds-video-lightbox__play-btn {\n transition: none;\n }\n}\n",".ds-metric-counter {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n font-family: var(--font-family);\n}\n\n.ds-metric-counter__value-wrapper {\n display: flex;\n align-items: baseline;\n justify-content: center;\n color: var(--text-primary);\n line-height: var(--line-height-display);\n}\n\n.ds-metric-counter__prefix,\n.ds-metric-counter__suffix {\n font-size: var(--font-size-3xl);\n font-weight: var(--font-weight-bold);\n color: rgb(var(--accent-rgb));\n}\n\n.ds-metric-counter__value {\n font-size: var(--font-size-5xl);\n font-weight: var(--font-weight-bold);\n letter-spacing: var(--letter-spacing-display);\n font-variant-numeric: tabular-nums;\n}\n\n.ds-metric-counter__label {\n margin-top: var(--space-2);\n font-size: var(--font-size-base);\n color: var(--text-secondary);\n font-weight: var(--font-weight-medium);\n}\n\n@media (max-width: 640px) {\n .ds-metric-counter__prefix,\n .ds-metric-counter__suffix {\n font-size: var(--font-size-2xl);\n }\n\n .ds-metric-counter__value {\n font-size: var(--font-size-4xl);\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/components/StarRating/StarRating.css","../../src/components/PlatformBadge/PlatformBadge.css","../../src/components/VideoLightbox/VideoLightbox.css","../../src/components/MetricCounter/MetricCounter.css"],"sourcesContent":["/* ============================================================================\n STAR RATING — ELITE SOCIAL PROOF\n ============================================================================ */\n\n.ds-star-rating {\n display: inline-flex;\n align-items: center;\n gap: var(--space-2);\n}\n\n.ds-star-rating__stars {\n display: inline-flex;\n align-items: center;\n gap: var(--space-1);\n}\n\n/* --- Size Variants --- */\n\n.ds-star-rating--sm .ds-star-rating__svg {\n width: 16px;\n height: 16px;\n}\n\n.ds-star-rating--md .ds-star-rating__svg {\n width: 20px;\n height: 20px;\n}\n\n.ds-star-rating--lg .ds-star-rating__svg {\n width: 28px;\n height: 28px;\n}\n\n/* --- Star Element --- */\n\n.ds-star-rating__star {\n position: relative;\n display: inline-flex;\n line-height: 0;\n}\n\n.ds-star-rating__svg {\n display: block;\n}\n\n.ds-star-rating__svg--filled {\n position: absolute;\n inset: 0;\n transition: clip-path 0.4s cubic-bezier(0.16, 1, 0.3, 1);\n transition-delay: var(--star-delay, 0ms);\n}\n\n/* Empty star */\n.ds-star-rating__empty {\n fill: var(--text-tertiary, rgba(255, 255, 255, 0.15));\n}\n\n/* Filled star — amber/gold */\n.ds-star-rating__filled {\n fill: var(--data-yellow, #eab308);\n}\n\n/* --- Entrance Animation --- */\n\n.ds-star-rating__star {\n opacity: 1;\n transform: scale(1);\n}\n\n/* When animate is enabled, stars start hidden */\n.ds-star-rating__star:not(.ds-star-rating__star--visible) {\n opacity: 0;\n transform: scale(0.5);\n}\n\n.ds-star-rating__star--visible {\n opacity: 1;\n transform: scale(1);\n transition:\n opacity 0.3s ease-out,\n transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);\n transition-delay: var(--star-delay, 0ms);\n}\n\n/* --- Value Display --- */\n\n.ds-star-rating__value {\n font-family: var(--font-family);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n line-height: 1;\n}\n\n.ds-star-rating--sm .ds-star-rating__value {\n font-size: var(--font-size-sm);\n}\n\n.ds-star-rating--md .ds-star-rating__value {\n font-size: var(--font-size-base);\n}\n\n.ds-star-rating--lg .ds-star-rating__value {\n font-size: var(--font-size-xl);\n}\n\n.ds-star-rating__value-label {\n font-weight: var(--font-weight-normal);\n color: var(--text-secondary);\n margin-left: var(--space-1);\n}\n\n/* --- Reduced Motion --- */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-star-rating__star,\n .ds-star-rating__star--visible {\n transition: none;\n }\n\n .ds-star-rating__svg--filled {\n transition: none;\n }\n}\n","/* ============================================================================\n PLATFORM BADGE — TRUST SIGNAL\n ============================================================================ */\n\n.ds-platform-badge {\n display: inline-flex;\n align-items: center;\n gap: var(--space-2);\n padding: var(--space-1) var(--space-2);\n border-radius: var(--radius-badge, 999px);\n background: var(--glass-base, rgba(255, 255, 255, 0.05));\n border: 1px solid var(--rim-light-bottom, rgba(255, 255, 255, 0.06));\n transition:\n background var(--transition-base),\n border-color var(--transition-base),\n box-shadow var(--transition-base);\n white-space: nowrap;\n}\n\n.ds-platform-badge:hover {\n background: var(--glass-base-hover, rgba(255, 255, 255, 0.08));\n border-color: color-mix(in srgb, var(--platform-accent) 30%, transparent);\n box-shadow: 0 0 12px color-mix(in srgb, var(--platform-accent) 15%, transparent);\n}\n\n/* --- Icon --- */\n\n.ds-platform-badge__icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n line-height: 0;\n}\n\n/* --- Label --- */\n\n.ds-platform-badge__label {\n font-family: var(--font-family);\n font-weight: var(--font-weight-medium);\n color: var(--text-primary);\n line-height: 1;\n}\n\n/* --- Rating (full variant) --- */\n\n.ds-platform-badge__rating {\n display: inline-flex;\n align-items: center;\n gap: var(--space-1);\n}\n\n.ds-platform-badge__count {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n color: var(--text-secondary);\n line-height: 1;\n}\n\n/* --- Size Variants --- */\n\n.ds-platform-badge--sm {\n padding: var(--space-1) var(--space-2);\n}\n\n.ds-platform-badge--sm .ds-platform-badge__label {\n font-size: var(--font-size-xs);\n}\n\n.ds-platform-badge--md {\n padding: var(--space-2) var(--space-3);\n}\n\n.ds-platform-badge--md .ds-platform-badge__label {\n font-size: var(--font-size-sm);\n}\n\n/* --- Display Mode Variants --- */\n\n.ds-platform-badge--icon-only {\n padding: var(--space-1);\n border-radius: var(--radius-badge, 999px);\n}\n\n.ds-platform-badge--full {\n gap: var(--space-2);\n}\n\n/* --- Reduced Motion --- */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-platform-badge {\n transition: none;\n }\n}\n","/* ============================================================================\n VIDEO LIGHTBOX — MODAL VIDEO PLAYER\n ============================================================================ */\n\n/* --- Screen Reader Only utility --- */\n.ds-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n}\n\n/* --- Trigger --- */\n\n.ds-video-lightbox__trigger {\n all: unset;\n cursor: pointer;\n display: block;\n width: 100%;\n}\n\n.ds-video-lightbox__thumbnail-wrap {\n position: relative;\n width: 100%;\n aspect-ratio: 16 / 9;\n border-radius: var(--radius-card);\n overflow: hidden;\n background: var(--glass-base-active, rgba(0, 0, 0, 0.3));\n}\n\n.ds-video-lightbox__thumbnail {\n width: 100%;\n height: 100%;\n object-fit: cover;\n transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.ds-video-lightbox__trigger:hover .ds-video-lightbox__thumbnail {\n transform: scale(1.05);\n}\n\n.ds-video-lightbox__placeholder {\n width: 100%;\n height: 100%;\n background: linear-gradient(135deg,\n var(--glass-base-active, rgba(0, 0, 0, 0.4)) 0%,\n var(--glass-base, rgba(0, 0, 0, 0.2)) 100%\n );\n}\n\n/* --- Play Button Overlay --- */\n\n.ds-video-lightbox__overlay {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 60%);\n transition: background 0.3s ease;\n}\n\n.ds-video-lightbox__trigger:hover .ds-video-lightbox__overlay {\n background: linear-gradient(to top, rgba(0, 0, 0, 0.3) 0%, transparent 60%);\n}\n\n.ds-video-lightbox__play-btn {\n transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);\n}\n\n.ds-video-lightbox__trigger:hover .ds-video-lightbox__play-btn {\n transform: scale(1.1);\n}\n\n.ds-video-lightbox__play-bg {\n /* stylelint-disable-next-line declaration-property-value-disallowed-list -- SVG play button backdrop, no fill token exists */\n fill: rgba(0, 0, 0, 0.6);\n transition: fill 0.3s ease;\n}\n\n.ds-video-lightbox__trigger:hover .ds-video-lightbox__play-bg {\n fill: var(--brand-pink, #f97316);\n}\n\n/* --- Play Button Pulse Ring --- */\n\n.ds-video-lightbox__play-btn::after {\n content: '';\n position: absolute;\n inset: -8px;\n border-radius: 50%;\n border: 2px solid var(--glass-white-alpha-30);\n animation: ds-lightbox-pulse 2s ease-out infinite;\n}\n\n@keyframes ds-lightbox-pulse {\n 0% {\n transform: scale(0.8);\n opacity: 1;\n }\n 100% {\n transform: scale(1.4);\n opacity: 0;\n }\n}\n\n/* --- Backdrop --- */\n\n.ds-video-lightbox__backdrop {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.85);\n backdrop-filter: blur(8px);\n -webkit-backdrop-filter: blur(8px);\n z-index: 9998;\n animation: ds-lightbox-fade-in 0.25s ease-out;\n}\n\n/* --- Popup --- */\n\n.ds-video-lightbox__popup {\n position: fixed;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--space-6);\n z-index: 9999;\n animation: ds-lightbox-scale-in 0.3s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n/* --- Close Button --- */\n\n.ds-video-lightbox__close {\n all: unset;\n position: absolute;\n top: var(--space-4);\n right: var(--space-4);\n width: 44px;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--text-on-dark, white);\n opacity: 0.7;\n cursor: pointer;\n border-radius: 50%;\n background: var(--glass-white-alpha-10);\n transition:\n opacity var(--transition-base),\n background var(--transition-base);\n z-index: 1;\n}\n\n.ds-video-lightbox__close:hover {\n opacity: 1;\n background: var(--glass-white-alpha-20);\n}\n\n.ds-video-lightbox__close:focus-visible {\n outline: 2px solid var(--brand-pink, #f97316);\n outline-offset: 2px;\n}\n\n/* --- Iframe Container --- */\n\n.ds-video-lightbox__iframe-wrap {\n width: 100%;\n max-width: 1200px;\n aspect-ratio: 16 / 9;\n border-radius: var(--radius-card, 12px);\n overflow: hidden;\n background: black;\n box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);\n}\n\n.ds-video-lightbox__iframe {\n width: 100%;\n height: 100%;\n border: none;\n}\n\n/* --- Animations --- */\n\n@keyframes ds-lightbox-fade-in {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n@keyframes ds-lightbox-scale-in {\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n/* --- Reduced Motion --- */\n\n@media (prefers-reduced-motion: reduce) {\n .ds-video-lightbox__backdrop,\n .ds-video-lightbox__popup {\n animation: none;\n }\n\n .ds-video-lightbox__thumbnail {\n transition: none;\n }\n\n .ds-video-lightbox__play-btn::after {\n animation: none;\n }\n\n .ds-video-lightbox__play-btn {\n transition: none;\n }\n}\n",".ds-metric-counter {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n font-family: var(--font-family);\n}\n\n.ds-metric-counter__value-wrapper {\n display: flex;\n align-items: baseline;\n justify-content: center;\n color: var(--text-primary);\n line-height: var(--line-height-display);\n}\n\n.ds-metric-counter__prefix,\n.ds-metric-counter__suffix {\n font-size: var(--font-size-3xl);\n font-weight: var(--font-weight-bold);\n color: rgb(var(--accent-rgb));\n}\n\n.ds-metric-counter__value {\n font-size: var(--font-size-5xl);\n font-weight: var(--font-weight-bold);\n letter-spacing: var(--letter-spacing-display);\n font-variant-numeric: tabular-nums;\n}\n\n.ds-metric-counter__label {\n margin-top: var(--space-2);\n font-size: var(--font-size-base);\n color: var(--text-secondary);\n font-weight: var(--font-weight-medium);\n}\n\n@media (max-width: 640px) {\n .ds-metric-counter__prefix,\n .ds-metric-counter__suffix {\n font-size: var(--font-size-2xl);\n }\n\n .ds-metric-counter__value {\n font-size: var(--font-size-4xl);\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,12 +1,31 @@
1
- import * as React$1 from 'react';
2
1
  import React__default from 'react';
3
- import { a as SectionShellProps } from '../SectionShell-CrgrzWK6.cjs';
4
- import * as react_jsx_runtime from 'react/jsx-runtime';
5
2
 
6
- interface SocialProofCarouselProps extends SectionShellProps {
7
- children: React.ReactNode;
3
+ interface StarRatingProps extends React__default.HTMLAttributes<HTMLDivElement> {
4
+ /** Rating value (0-5, supports decimals for half-stars) */
5
+ value: number;
6
+ /** Maximum number of stars */
7
+ max?: number;
8
+ /** Star size variant */
9
+ size?: 'sm' | 'md' | 'lg';
10
+ /** Animate stars filling on viewport entry */
11
+ animate?: boolean;
12
+ /** Show numeric value next to stars */
13
+ showValue?: boolean;
14
+ /** Label shown after value (e.g., "/ 5") */
15
+ valueLabel?: string;
8
16
  }
9
- declare const SocialProofCarousel: React$1.ForwardRefExoticComponent<SocialProofCarouselProps & React$1.RefAttributes<HTMLDivElement>>;
17
+ /**
18
+ * Star rating display with gold-fill, half-star support, and optional
19
+ * entrance animation. Uses inline SVGs with clip-path for precise
20
+ * partial fills.
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * <StarRating value={4.5} size="lg" animate />
25
+ * <StarRating value={5} size="sm" showValue />
26
+ * ```
27
+ */
28
+ declare const StarRating: React__default.ForwardRefExoticComponent<StarRatingProps & React__default.RefAttributes<HTMLDivElement>>;
10
29
 
11
30
  type Platform = 'trustpilot' | 'g2' | 'google' | 'chrome-web-store';
12
31
  interface PlatformBadgeProps extends React__default.HTMLAttributes<HTMLDivElement> {
@@ -34,170 +53,6 @@ interface PlatformBadgeProps extends React__default.HTMLAttributes<HTMLDivElemen
34
53
  */
35
54
  declare const PlatformBadge: React__default.ForwardRefExoticComponent<PlatformBadgeProps & React__default.RefAttributes<HTMLDivElement>>;
36
55
 
37
- interface Author {
38
- name: string;
39
- role?: string;
40
- company?: string;
41
- avatar?: string;
42
- handle?: string;
43
- }
44
- interface Media {
45
- src: string;
46
- type: 'image' | 'video';
47
- alt?: string;
48
- }
49
- interface CardMetric {
50
- value: string;
51
- label: string;
52
- prefix?: string;
53
- suffix?: string;
54
- }
55
- interface SocialProofCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content'> {
56
- /** Card visual variant — determines layout and visual identity */
57
- variant?: 'simple' | 'social' | 'video' | 'case-study' | 'rating-only';
58
- /** Quote or text content */
59
- content?: React.ReactNode;
60
- /** Author info */
61
- author: Author;
62
- /** Media (thumbnail image for video/case-study variants) */
63
- media?: Media;
64
- /** Source icon (e.g., Twitter logo) — legacy, prefer `platform` */
65
- sourceIcon?: React.ReactNode;
66
- /** Review platform for automatic badge display */
67
- platform?: Platform;
68
- /** Star rating value (0-5) */
69
- starRating?: number;
70
- /** Date string */
71
- date?: string;
72
- /** Text badges */
73
- badges?: string[];
74
- /** CTA text override */
75
- ctaText?: string;
76
- /** If set, renders as a clickable card */
77
- href?: string;
78
- onClick?: () => void;
79
- /** Staggered entrance animation delay (ms) */
80
- animationDelay?: number;
81
- /** Case study: headline */
82
- headline?: string;
83
- /** Case study: company logo node */
84
- logo?: React.ReactNode;
85
- /** Case study: industry label */
86
- industry?: string;
87
- /** Case study: key metrics */
88
- metrics?: CardMetric[];
89
- }
90
- declare const SocialProofCard: React$1.ForwardRefExoticComponent<SocialProofCardProps & React$1.RefAttributes<HTMLDivElement | HTMLAnchorElement>>;
91
-
92
- interface SocialProofFeaturedProps extends Omit<SectionShellProps, 'title'> {
93
- /** Quote text */
94
- quote: string;
95
- /** Author info */
96
- author: Author;
97
- /** Media element (video component, image, or VideoLightbox) */
98
- media?: React.ReactNode;
99
- /** Quick image src for media slot */
100
- mediaSrc?: string;
101
- /** Layout orientation */
102
- orientation?: 'horizontal' | 'vertical';
103
- /** Visual variant */
104
- featuredVariant?: 'standard' | 'cinematic' | 'spotlight';
105
- /** Star rating */
106
- starRating?: number;
107
- /** Review platform */
108
- platform?: Platform;
109
- /** Company logo node */
110
- logo?: React.ReactNode;
111
- }
112
- declare const SocialProofFeatured: React$1.ForwardRefExoticComponent<SocialProofFeaturedProps & React$1.RefAttributes<HTMLDivElement>>;
113
-
114
- interface LogoItem {
115
- id: string | number;
116
- alt: string;
117
- src?: string;
118
- logo?: React.ReactNode;
119
- href?: string;
120
- badge?: string;
121
- }
122
- interface SocialProofLogosProps extends Omit<SectionShellProps, 'title'> {
123
- title?: React.ReactNode;
124
- logos: LogoItem[];
125
- variant?: 'grid' | 'marquee';
126
- speed?: number;
127
- }
128
- declare const SocialProofLogos: React$1.ForwardRefExoticComponent<SocialProofLogosProps & React$1.RefAttributes<HTMLDivElement>>;
129
-
130
- interface SocialProofGridProps extends Omit<SectionShellProps, 'title'> {
131
- /** Number of columns at desktop breakpoint */
132
- columns?: 2 | 3 | 4;
133
- /** Use CSS column-based masonry instead of CSS Grid */
134
- masonry?: boolean;
135
- /** Enable staggered entrance animation on children */
136
- staggered?: boolean;
137
- }
138
- /**
139
- * Wrap each child in a grid item. Use `span={2}` data attribute or
140
- * the `ds-social-grid__item--span-2` class on children to span 2 columns.
141
- *
142
- * @example
143
- * ```tsx
144
- * <SocialProofGrid columns={3} staggered>
145
- * <SocialProofCard variant="simple" ... />
146
- * <div className="ds-social-grid__item--span-2">
147
- * <SocialProofCard variant="case-study" ... />
148
- * </div>
149
- * </SocialProofGrid>
150
- * ```
151
- */
152
- declare const SocialProofGrid: React__default.ForwardRefExoticComponent<SocialProofGridProps & React__default.RefAttributes<HTMLDivElement>>;
153
-
154
- interface VerticalVideoGridProps {
155
- /** Array of YouTube Shorts URLs (e.g. https://www.youtube.com/shorts/xxxxx) */
156
- urls: string[];
157
- /** Optional class name */
158
- className?: string;
159
- }
160
- /**
161
- * Grid component optimized for displaying vertical 9:16 videos (YouTube Shorts, TikToks, Reels)
162
- */
163
- declare function VerticalVideoGrid({ urls, className }: VerticalVideoGridProps): react_jsx_runtime.JSX.Element | null;
164
-
165
- declare const SocialProof: {
166
- Card: React$1.ForwardRefExoticComponent<SocialProofCardProps & React$1.RefAttributes<HTMLDivElement | HTMLAnchorElement>>;
167
- Grid: React$1.ForwardRefExoticComponent<SocialProofGridProps & React$1.RefAttributes<HTMLDivElement>>;
168
- Logos: React$1.ForwardRefExoticComponent<SocialProofLogosProps & React$1.RefAttributes<HTMLDivElement>>;
169
- Featured: React$1.ForwardRefExoticComponent<SocialProofFeaturedProps & React$1.RefAttributes<HTMLDivElement>>;
170
- Carousel: React$1.ForwardRefExoticComponent<SocialProofCarouselProps & React$1.RefAttributes<HTMLDivElement>>;
171
- VerticalGrid: typeof VerticalVideoGrid;
172
- };
173
-
174
- interface StarRatingProps extends React__default.HTMLAttributes<HTMLDivElement> {
175
- /** Rating value (0-5, supports decimals for half-stars) */
176
- value: number;
177
- /** Maximum number of stars */
178
- max?: number;
179
- /** Star size variant */
180
- size?: 'sm' | 'md' | 'lg';
181
- /** Animate stars filling on viewport entry */
182
- animate?: boolean;
183
- /** Show numeric value next to stars */
184
- showValue?: boolean;
185
- /** Label shown after value (e.g., "/ 5") */
186
- valueLabel?: string;
187
- }
188
- /**
189
- * Star rating display with gold-fill, half-star support, and optional
190
- * entrance animation. Uses inline SVGs with clip-path for precise
191
- * partial fills.
192
- *
193
- * @example
194
- * ```tsx
195
- * <StarRating value={4.5} size="lg" animate />
196
- * <StarRating value={5} size="sm" showValue />
197
- * ```
198
- */
199
- declare const StarRating: React__default.ForwardRefExoticComponent<StarRatingProps & React__default.RefAttributes<HTMLDivElement>>;
200
-
201
56
  interface VideoLightboxProps {
202
57
  /** Video embed URL (YouTube, Vimeo, Loom) */
203
58
  videoUrl: string;
@@ -255,4 +110,4 @@ interface MetricCounterProps extends React__default.HTMLAttributes<HTMLDivElemen
255
110
  */
256
111
  declare const MetricCounter: React__default.ForwardRefExoticComponent<MetricCounterProps & React__default.RefAttributes<HTMLDivElement>>;
257
112
 
258
- export { type Author, type CardMetric, type LogoItem, type Media, MetricCounter, type MetricCounterProps, type Platform, PlatformBadge, type PlatformBadgeProps, SocialProof, SocialProofCard, type SocialProofCardProps, SocialProofCarousel, type SocialProofCarouselProps, SocialProofFeatured, type SocialProofFeaturedProps, SocialProofGrid, type SocialProofGridProps, SocialProofLogos, type SocialProofLogosProps, StarRating, type StarRatingProps, VerticalVideoGrid, type VerticalVideoGridProps, VideoLightbox, type VideoLightboxProps };
113
+ export { MetricCounter, type MetricCounterProps, type Platform, PlatformBadge, type PlatformBadgeProps, StarRating, type StarRatingProps, VideoLightbox, type VideoLightboxProps };
@@ -1,12 +1,31 @@
1
- import * as React$1 from 'react';
2
1
  import React__default from 'react';
3
- import { a as SectionShellProps } from '../SectionShell-CrgrzWK6.js';
4
- import * as react_jsx_runtime from 'react/jsx-runtime';
5
2
 
6
- interface SocialProofCarouselProps extends SectionShellProps {
7
- children: React.ReactNode;
3
+ interface StarRatingProps extends React__default.HTMLAttributes<HTMLDivElement> {
4
+ /** Rating value (0-5, supports decimals for half-stars) */
5
+ value: number;
6
+ /** Maximum number of stars */
7
+ max?: number;
8
+ /** Star size variant */
9
+ size?: 'sm' | 'md' | 'lg';
10
+ /** Animate stars filling on viewport entry */
11
+ animate?: boolean;
12
+ /** Show numeric value next to stars */
13
+ showValue?: boolean;
14
+ /** Label shown after value (e.g., "/ 5") */
15
+ valueLabel?: string;
8
16
  }
9
- declare const SocialProofCarousel: React$1.ForwardRefExoticComponent<SocialProofCarouselProps & React$1.RefAttributes<HTMLDivElement>>;
17
+ /**
18
+ * Star rating display with gold-fill, half-star support, and optional
19
+ * entrance animation. Uses inline SVGs with clip-path for precise
20
+ * partial fills.
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * <StarRating value={4.5} size="lg" animate />
25
+ * <StarRating value={5} size="sm" showValue />
26
+ * ```
27
+ */
28
+ declare const StarRating: React__default.ForwardRefExoticComponent<StarRatingProps & React__default.RefAttributes<HTMLDivElement>>;
10
29
 
11
30
  type Platform = 'trustpilot' | 'g2' | 'google' | 'chrome-web-store';
12
31
  interface PlatformBadgeProps extends React__default.HTMLAttributes<HTMLDivElement> {
@@ -34,170 +53,6 @@ interface PlatformBadgeProps extends React__default.HTMLAttributes<HTMLDivElemen
34
53
  */
35
54
  declare const PlatformBadge: React__default.ForwardRefExoticComponent<PlatformBadgeProps & React__default.RefAttributes<HTMLDivElement>>;
36
55
 
37
- interface Author {
38
- name: string;
39
- role?: string;
40
- company?: string;
41
- avatar?: string;
42
- handle?: string;
43
- }
44
- interface Media {
45
- src: string;
46
- type: 'image' | 'video';
47
- alt?: string;
48
- }
49
- interface CardMetric {
50
- value: string;
51
- label: string;
52
- prefix?: string;
53
- suffix?: string;
54
- }
55
- interface SocialProofCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content'> {
56
- /** Card visual variant — determines layout and visual identity */
57
- variant?: 'simple' | 'social' | 'video' | 'case-study' | 'rating-only';
58
- /** Quote or text content */
59
- content?: React.ReactNode;
60
- /** Author info */
61
- author: Author;
62
- /** Media (thumbnail image for video/case-study variants) */
63
- media?: Media;
64
- /** Source icon (e.g., Twitter logo) — legacy, prefer `platform` */
65
- sourceIcon?: React.ReactNode;
66
- /** Review platform for automatic badge display */
67
- platform?: Platform;
68
- /** Star rating value (0-5) */
69
- starRating?: number;
70
- /** Date string */
71
- date?: string;
72
- /** Text badges */
73
- badges?: string[];
74
- /** CTA text override */
75
- ctaText?: string;
76
- /** If set, renders as a clickable card */
77
- href?: string;
78
- onClick?: () => void;
79
- /** Staggered entrance animation delay (ms) */
80
- animationDelay?: number;
81
- /** Case study: headline */
82
- headline?: string;
83
- /** Case study: company logo node */
84
- logo?: React.ReactNode;
85
- /** Case study: industry label */
86
- industry?: string;
87
- /** Case study: key metrics */
88
- metrics?: CardMetric[];
89
- }
90
- declare const SocialProofCard: React$1.ForwardRefExoticComponent<SocialProofCardProps & React$1.RefAttributes<HTMLDivElement | HTMLAnchorElement>>;
91
-
92
- interface SocialProofFeaturedProps extends Omit<SectionShellProps, 'title'> {
93
- /** Quote text */
94
- quote: string;
95
- /** Author info */
96
- author: Author;
97
- /** Media element (video component, image, or VideoLightbox) */
98
- media?: React.ReactNode;
99
- /** Quick image src for media slot */
100
- mediaSrc?: string;
101
- /** Layout orientation */
102
- orientation?: 'horizontal' | 'vertical';
103
- /** Visual variant */
104
- featuredVariant?: 'standard' | 'cinematic' | 'spotlight';
105
- /** Star rating */
106
- starRating?: number;
107
- /** Review platform */
108
- platform?: Platform;
109
- /** Company logo node */
110
- logo?: React.ReactNode;
111
- }
112
- declare const SocialProofFeatured: React$1.ForwardRefExoticComponent<SocialProofFeaturedProps & React$1.RefAttributes<HTMLDivElement>>;
113
-
114
- interface LogoItem {
115
- id: string | number;
116
- alt: string;
117
- src?: string;
118
- logo?: React.ReactNode;
119
- href?: string;
120
- badge?: string;
121
- }
122
- interface SocialProofLogosProps extends Omit<SectionShellProps, 'title'> {
123
- title?: React.ReactNode;
124
- logos: LogoItem[];
125
- variant?: 'grid' | 'marquee';
126
- speed?: number;
127
- }
128
- declare const SocialProofLogos: React$1.ForwardRefExoticComponent<SocialProofLogosProps & React$1.RefAttributes<HTMLDivElement>>;
129
-
130
- interface SocialProofGridProps extends Omit<SectionShellProps, 'title'> {
131
- /** Number of columns at desktop breakpoint */
132
- columns?: 2 | 3 | 4;
133
- /** Use CSS column-based masonry instead of CSS Grid */
134
- masonry?: boolean;
135
- /** Enable staggered entrance animation on children */
136
- staggered?: boolean;
137
- }
138
- /**
139
- * Wrap each child in a grid item. Use `span={2}` data attribute or
140
- * the `ds-social-grid__item--span-2` class on children to span 2 columns.
141
- *
142
- * @example
143
- * ```tsx
144
- * <SocialProofGrid columns={3} staggered>
145
- * <SocialProofCard variant="simple" ... />
146
- * <div className="ds-social-grid__item--span-2">
147
- * <SocialProofCard variant="case-study" ... />
148
- * </div>
149
- * </SocialProofGrid>
150
- * ```
151
- */
152
- declare const SocialProofGrid: React__default.ForwardRefExoticComponent<SocialProofGridProps & React__default.RefAttributes<HTMLDivElement>>;
153
-
154
- interface VerticalVideoGridProps {
155
- /** Array of YouTube Shorts URLs (e.g. https://www.youtube.com/shorts/xxxxx) */
156
- urls: string[];
157
- /** Optional class name */
158
- className?: string;
159
- }
160
- /**
161
- * Grid component optimized for displaying vertical 9:16 videos (YouTube Shorts, TikToks, Reels)
162
- */
163
- declare function VerticalVideoGrid({ urls, className }: VerticalVideoGridProps): react_jsx_runtime.JSX.Element | null;
164
-
165
- declare const SocialProof: {
166
- Card: React$1.ForwardRefExoticComponent<SocialProofCardProps & React$1.RefAttributes<HTMLDivElement | HTMLAnchorElement>>;
167
- Grid: React$1.ForwardRefExoticComponent<SocialProofGridProps & React$1.RefAttributes<HTMLDivElement>>;
168
- Logos: React$1.ForwardRefExoticComponent<SocialProofLogosProps & React$1.RefAttributes<HTMLDivElement>>;
169
- Featured: React$1.ForwardRefExoticComponent<SocialProofFeaturedProps & React$1.RefAttributes<HTMLDivElement>>;
170
- Carousel: React$1.ForwardRefExoticComponent<SocialProofCarouselProps & React$1.RefAttributes<HTMLDivElement>>;
171
- VerticalGrid: typeof VerticalVideoGrid;
172
- };
173
-
174
- interface StarRatingProps extends React__default.HTMLAttributes<HTMLDivElement> {
175
- /** Rating value (0-5, supports decimals for half-stars) */
176
- value: number;
177
- /** Maximum number of stars */
178
- max?: number;
179
- /** Star size variant */
180
- size?: 'sm' | 'md' | 'lg';
181
- /** Animate stars filling on viewport entry */
182
- animate?: boolean;
183
- /** Show numeric value next to stars */
184
- showValue?: boolean;
185
- /** Label shown after value (e.g., "/ 5") */
186
- valueLabel?: string;
187
- }
188
- /**
189
- * Star rating display with gold-fill, half-star support, and optional
190
- * entrance animation. Uses inline SVGs with clip-path for precise
191
- * partial fills.
192
- *
193
- * @example
194
- * ```tsx
195
- * <StarRating value={4.5} size="lg" animate />
196
- * <StarRating value={5} size="sm" showValue />
197
- * ```
198
- */
199
- declare const StarRating: React__default.ForwardRefExoticComponent<StarRatingProps & React__default.RefAttributes<HTMLDivElement>>;
200
-
201
56
  interface VideoLightboxProps {
202
57
  /** Video embed URL (YouTube, Vimeo, Loom) */
203
58
  videoUrl: string;
@@ -255,4 +110,4 @@ interface MetricCounterProps extends React__default.HTMLAttributes<HTMLDivElemen
255
110
  */
256
111
  declare const MetricCounter: React__default.ForwardRefExoticComponent<MetricCounterProps & React__default.RefAttributes<HTMLDivElement>>;
257
112
 
258
- export { type Author, type CardMetric, type LogoItem, type Media, MetricCounter, type MetricCounterProps, type Platform, PlatformBadge, type PlatformBadgeProps, SocialProof, SocialProofCard, type SocialProofCardProps, SocialProofCarousel, type SocialProofCarouselProps, SocialProofFeatured, type SocialProofFeaturedProps, SocialProofGrid, type SocialProofGridProps, SocialProofLogos, type SocialProofLogosProps, StarRating, type StarRatingProps, VerticalVideoGrid, type VerticalVideoGridProps, VideoLightbox, type VideoLightboxProps };
113
+ export { MetricCounter, type MetricCounterProps, type Platform, PlatformBadge, type PlatformBadgeProps, StarRating, type StarRatingProps, VideoLightbox, type VideoLightboxProps };
@@ -1,9 +1,5 @@
1
1
  "use client";
2
- export { PlatformBadge, SocialProof, SocialProofCard, SocialProofCarousel, SocialProofFeatured, SocialProofGrid, SocialProofLogos, StarRating, VerticalVideoGrid, VideoLightbox } from '../chunk-OWS2KAXZ.js';
3
- import '../chunk-BUTQSDQH.js';
2
+ export { PlatformBadge, StarRating, VideoLightbox } from '../chunk-LQB7QLD3.js';
4
3
  export { MetricCounter } from '../chunk-YSYR54XR.js';
5
- import '../chunk-VFJZQQZU.js';
6
- import '../chunk-KJ2OXQF4.js';
7
- import '../chunk-HN4PHABT.js';
8
4
  //# sourceMappingURL=out.js.map
9
5
  //# sourceMappingURL=index.js.map