astro-component-kit 0.4.0 → 0.4.1

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 (180) hide show
  1. package/README.md +105 -27
  2. package/package.json +16 -3
  3. package/src/components/index.ts +2 -0
  4. package/src/components/lib/Galaxy3D.astro +249 -137
  5. package/src/components/lib/app/AppSidebar.astro +249 -0
  6. package/src/components/lib/app/AppTopbar.astro +284 -0
  7. package/src/components/lib/app/ArrivalsBoard.astro +176 -0
  8. package/src/components/lib/app/AuthCard.astro +213 -0
  9. package/src/components/lib/app/DataTable.astro +346 -0
  10. package/src/components/lib/app/GuestProfileCard.astro +133 -0
  11. package/src/components/lib/app/HousekeepingBoard.astro +189 -0
  12. package/src/components/lib/app/PageHeader.astro +157 -0
  13. package/src/components/lib/app/PlanUsageCard.astro +112 -0
  14. package/src/components/lib/app/RoomRack.astro +207 -0
  15. package/src/components/lib/app/SettingsSection.astro +96 -0
  16. package/src/components/lib/app/SwitchRow.astro +71 -0
  17. package/src/components/lib/app/TeamMembers.astro +190 -0
  18. package/src/components/lib/app/app-icons.ts +52 -0
  19. package/src/components/lib/app/index.ts +19 -0
  20. package/src/components/lib/charts/AreaChart.astro +4 -4
  21. package/src/components/lib/charts/BarChart.astro +3 -3
  22. package/src/components/lib/charts/ChartFrame.astro +10 -10
  23. package/src/components/lib/charts/DonutChart.astro +2 -2
  24. package/src/components/lib/charts/DumbbellChart.astro +1 -1
  25. package/src/components/lib/charts/ForecastLineChart.astro +1 -1
  26. package/src/components/lib/charts/GaugeChart.astro +1 -1
  27. package/src/components/lib/charts/HeatmapChart.astro +1 -1
  28. package/src/components/lib/charts/HorizontalBarChart.astro +2 -2
  29. package/src/components/lib/charts/KpiStatTile.astro +4 -4
  30. package/src/components/lib/charts/LinearProgressGauge.astro +4 -4
  31. package/src/components/lib/charts/MetricDeltaTable.astro +3 -3
  32. package/src/components/lib/charts/RadarMetricChart.astro +4 -4
  33. package/src/components/lib/charts/RadialBarChart.astro +1 -1
  34. package/src/components/lib/charts/RetentionCohortTable.astro +2 -2
  35. package/src/components/lib/charts/TreemapChart.astro +1 -1
  36. package/src/components/lib/ecommerce/CartDrawer.astro +483 -0
  37. package/src/components/lib/ecommerce/CartPageList.astro +290 -0
  38. package/src/components/lib/ecommerce/CartToast.astro +276 -0
  39. package/src/components/lib/ecommerce/CategoryTiles.astro +143 -0
  40. package/src/components/lib/ecommerce/CheckoutForm.astro +423 -0
  41. package/src/components/lib/ecommerce/CountdownBanner.astro +230 -0
  42. package/src/components/lib/ecommerce/FilterBar.astro +278 -0
  43. package/src/components/lib/ecommerce/FilterSidebar.astro +405 -0
  44. package/src/components/lib/ecommerce/LiveActivityToast.astro +213 -0
  45. package/src/components/lib/ecommerce/OrderSummary.astro +295 -0
  46. package/src/components/lib/ecommerce/ProductBuyBox.astro +247 -0
  47. package/src/components/lib/ecommerce/ProductCardMinimal.astro +229 -0
  48. package/src/components/lib/ecommerce/ProductGallery.astro +145 -0
  49. package/src/components/lib/ecommerce/ProductGrid.astro +118 -0
  50. package/src/components/lib/ecommerce/ProductMedia.astro +113 -0
  51. package/src/components/lib/ecommerce/ProductRating.astro +78 -0
  52. package/src/components/lib/ecommerce/ProductToolbar.astro +93 -0
  53. package/src/components/lib/ecommerce/PromoBar.astro +145 -0
  54. package/src/components/lib/ecommerce/StockIndicator.astro +127 -0
  55. package/src/components/lib/ecommerce/StoreHeader.astro +446 -0
  56. package/src/components/lib/ecommerce/StoreHero.astro +260 -0
  57. package/src/components/lib/ecommerce/StoreProductCard.astro +307 -0
  58. package/src/components/lib/ecommerce/TrustBadges.astro +101 -0
  59. package/src/components/lib/ecommerce/VariantPicker.astro +145 -0
  60. package/src/components/lib/ecommerce/cart-store.ts +151 -0
  61. package/src/components/lib/ecommerce/catalog-filter.ts +62 -0
  62. package/src/components/lib/ecommerce/index.ts +34 -0
  63. package/src/components/lib/ecommerce/product-icons.ts +28 -0
  64. package/src/components/lib/ecommerce/types.ts +70 -0
  65. package/src/components/lib/forms/AnimatedInput.astro +4 -2
  66. package/src/components/lib/forms/CustomRadioGroup.astro +3 -1
  67. package/src/components/lib/index.ts +2 -0
  68. package/src/components/lib/layout/BentoGrid3.astro +6 -4
  69. package/src/components/lib/layout/CenterFixedBox.astro +2 -2
  70. package/src/components/lib/layout/CenteredContainer.astro +4 -2
  71. package/src/components/lib/layout/ClusterHorizontal.astro +2 -2
  72. package/src/components/lib/layout/FeatureHero.astro +4 -2
  73. package/src/components/lib/layout/FooterCenteredMinimal.astro +4 -2
  74. package/src/components/lib/layout/FullBleedSection.astro +2 -2
  75. package/src/components/lib/layout/GalleryGrid4.astro +2 -2
  76. package/src/components/lib/layout/HolyGrailGrid.astro +11 -9
  77. package/src/components/lib/layout/LandingSectionSplit.astro +5 -3
  78. package/src/components/lib/layout/MasonryGrid.astro +2 -2
  79. package/src/components/lib/layout/MinimalFooterGrid.astro +1 -1
  80. package/src/components/lib/layout/ScrollSnapSection.astro +1 -1
  81. package/src/components/lib/layout/SidebarLayoutWrapper.astro +4 -2
  82. package/src/components/lib/layout/SplitScreenLayout.astro +3 -3
  83. package/src/components/lib/layout/StepLayoutVertical.astro +1 -1
  84. package/src/components/lib/layout/StickySidebarWrapper.astro +4 -2
  85. package/src/components/lib/sections/AgencyContactBrief.astro +194 -0
  86. package/src/components/lib/sections/AgencyFooterCta.astro +94 -0
  87. package/src/components/lib/sections/AgencyHeader.astro +161 -0
  88. package/src/components/lib/sections/AgencyHeroKinetic.astro +172 -0
  89. package/src/components/lib/sections/AgencyServicesList.astro +113 -0
  90. package/src/components/lib/sections/AgencyTeamGrid.astro +111 -0
  91. package/src/components/lib/sections/AgencyWorkGrid.astro +147 -0
  92. package/src/components/lib/sections/BlogGridSection.astro +9 -7
  93. package/src/components/lib/sections/ButtonsShowcase.astro +20 -18
  94. package/src/components/lib/sections/CardsShowcase.astro +28 -26
  95. package/src/components/lib/sections/CareersOpenings.astro +10 -8
  96. package/src/components/lib/sections/ChangelogSection.astro +14 -7
  97. package/src/components/lib/sections/ContactGlassForm.astro +10 -8
  98. package/src/components/lib/sections/ContactSplitMap.astro +11 -9
  99. package/src/components/lib/sections/CtaAppDownload.astro +13 -11
  100. package/src/components/lib/sections/CtaGlowBanner.astro +12 -10
  101. package/src/components/lib/sections/CtaNewsletterSection.astro +13 -11
  102. package/src/components/lib/sections/CtaSplitImage.astro +13 -11
  103. package/src/components/lib/sections/DataShowcase.astro +23 -21
  104. package/src/components/lib/sections/FaqAccordionSection.astro +8 -8
  105. package/src/components/lib/sections/FaqTwoColumn.astro +9 -7
  106. package/src/components/lib/sections/FeatureAlternatingRows.astro +10 -8
  107. package/src/components/lib/sections/FeatureBentoGrid.astro +13 -11
  108. package/src/components/lib/sections/FeatureIconGrid.astro +6 -6
  109. package/src/components/lib/sections/FeatureTabsShowcase.astro +13 -11
  110. package/src/components/lib/sections/FeatureTimelineFlow.astro +8 -6
  111. package/src/components/lib/sections/FeedbackShowcase.astro +15 -13
  112. package/src/components/lib/sections/FooterMegaSection.astro +13 -11
  113. package/src/components/lib/sections/FormsShowcase.astro +22 -20
  114. package/src/components/lib/sections/HeroDashboardPreview.astro +11 -9
  115. package/src/components/lib/sections/HeroGlass.astro +22 -20
  116. package/src/components/lib/sections/HeroGradient.astro +15 -13
  117. package/src/components/lib/sections/HeroMinimalCentered.astro +10 -10
  118. package/src/components/lib/sections/HeroShowcaseSplit.astro +18 -16
  119. package/src/components/lib/sections/HeroSplit.astro +13 -11
  120. package/src/components/lib/sections/HeroTerminal.astro +14 -12
  121. package/src/components/lib/sections/HeroWaitlist.astro +10 -8
  122. package/src/components/lib/sections/HowItWorksSteps.astro +12 -10
  123. package/src/components/lib/sections/IntegrationsGrid.astro +7 -7
  124. package/src/components/lib/sections/LayoutShowcase.astro +21 -19
  125. package/src/components/lib/sections/LogoCloudSection.astro +4 -4
  126. package/src/components/lib/sections/LogoWallGrid.astro +6 -4
  127. package/src/components/lib/sections/NavigationShowcase.astro +15 -13
  128. package/src/components/lib/sections/OverlaysShowcase.astro +21 -19
  129. package/src/components/lib/sections/PricingComparisonMatrix.astro +15 -13
  130. package/src/components/lib/sections/PricingSinglePlan.astro +13 -11
  131. package/src/components/lib/sections/PricingTierCards.astro +11 -9
  132. package/src/components/lib/sections/PricingToggleCards.astro +13 -13
  133. package/src/components/lib/sections/ShopCategoryHero.astro +103 -0
  134. package/src/components/lib/sections/ShopCollectionMosaic.astro +131 -0
  135. package/src/components/lib/sections/ShopFooterWordmark.astro +100 -0
  136. package/src/components/lib/sections/ShopHeaderEditorial.astro +396 -0
  137. package/src/components/lib/sections/ShopHeroEditorial.astro +151 -0
  138. package/src/components/lib/sections/ShopLookbook.astro +250 -0
  139. package/src/components/lib/sections/ShopNewsletterEditorial.astro +128 -0
  140. package/src/components/lib/sections/ShopProductRail.astro +150 -0
  141. package/src/components/lib/sections/ShopReviewsEditorial.astro +133 -0
  142. package/src/components/lib/sections/ShopValuesMarquee.astro +91 -0
  143. package/src/components/lib/sections/StatsCounterBand.astro +9 -7
  144. package/src/components/lib/sections/StatsDashboardSection.astro +4 -2
  145. package/src/components/lib/sections/StatsMetricShowcase.astro +9 -7
  146. package/src/components/lib/sections/TeamGridSection.astro +12 -10
  147. package/src/components/lib/sections/TestimonialCarousel.astro +10 -8
  148. package/src/components/lib/sections/TestimonialFeatured.astro +7 -5
  149. package/src/components/lib/sections/TestimonialGridSection.astro +7 -7
  150. package/src/components/lib/sections/TestimonialWallGlass.astro +11 -9
  151. package/src/components/lib/sections/TypographyShowcase.astro +10 -8
  152. package/src/components/lib/sections/index.ts +10 -0
  153. package/src/components/lib/templates/ecommerce/StoreCategoryPage.astro +160 -0
  154. package/src/components/lib/templates/ecommerce/StoreCheckoutPage.astro +98 -0
  155. package/src/components/lib/templates/ecommerce/StoreHomePage.astro +191 -0
  156. package/src/components/lib/templates/ecommerce/StoreLayout.astro +169 -0
  157. package/src/components/lib/templates/ecommerce/StoreProductPage.astro +165 -0
  158. package/src/components/lib/templates/ecommerce/data.ts +187 -0
  159. package/src/components/lib/templates/ecommerce/index.ts +14 -0
  160. package/src/components/lib/templates/ecommerce-editorial/EditorialBagPage.astro +52 -0
  161. package/src/components/lib/templates/ecommerce-editorial/EditorialCheckoutPage.astro +123 -0
  162. package/src/components/lib/templates/ecommerce-editorial/EditorialHomePage.astro +102 -0
  163. package/src/components/lib/templates/ecommerce-editorial/EditorialLayout.astro +216 -0
  164. package/src/components/lib/templates/ecommerce-editorial/EditorialProductPage.astro +205 -0
  165. package/src/components/lib/templates/ecommerce-editorial/EditorialShopPage.astro +112 -0
  166. package/src/components/lib/templates/ecommerce-editorial/data.ts +125 -0
  167. package/src/components/lib/templates/ecommerce-editorial/index.ts +16 -0
  168. package/src/components/lib/templates/saas-hotel/AppLayout.astro +83 -0
  169. package/src/components/lib/templates/saas-hotel/DashboardPage.astro +66 -0
  170. package/src/components/lib/templates/saas-hotel/GuestsPage.astro +65 -0
  171. package/src/components/lib/templates/saas-hotel/LandingPage.astro +213 -0
  172. package/src/components/lib/templates/saas-hotel/ReportsPage.astro +63 -0
  173. package/src/components/lib/templates/saas-hotel/ReservationsPage.astro +49 -0
  174. package/src/components/lib/templates/saas-hotel/RoomsPage.astro +48 -0
  175. package/src/components/lib/templates/saas-hotel/SettingsPage.astro +115 -0
  176. package/src/components/lib/templates/saas-hotel/SignInPage.astro +50 -0
  177. package/src/components/lib/templates/saas-hotel/data.ts +229 -0
  178. package/src/components/lib/templates/saas-hotel/index.ts +19 -0
  179. package/src/components/lib/templates/saas-hotel/lobby-theme.css +90 -0
  180. package/src/styles/global.css +95 -0
@@ -49,6 +49,7 @@ const {
49
49
  const id = `ht-${Math.random().toString(36).slice(2, 8)}`;
50
50
  ---
51
51
 
52
+ <div class="cq-hero-terminal-cq">
52
53
  <section class={`ht ht--${variant} ht--${size} ${className}`} aria-labelledby={id}>
53
54
  <div class="ht__inner">
54
55
  <div class="ht__copy">
@@ -87,7 +88,7 @@ const id = `ht-${Math.random().toString(36).slice(2, 8)}`;
87
88
  </div>
88
89
  </div>
89
90
  </section>
90
-
91
+ </div>
91
92
  <script>
92
93
  document.querySelectorAll<HTMLButtonElement>('.ht__copy-btn').forEach((btn) => {
93
94
  btn.addEventListener('click', async () => {
@@ -108,6 +109,7 @@ const id = `ht-${Math.random().toString(36).slice(2, 8)}`;
108
109
  </script>
109
110
 
110
111
  <style>
112
+ .cq-hero-terminal-cq { container-type: inline-size; }
111
113
  .ht {
112
114
  --ht-py: 5.5rem;
113
115
  padding: var(--ht-py) var(--sp-6, 1.5rem);
@@ -147,8 +149,8 @@ const id = `ht-${Math.random().toString(36).slice(2, 8)}`;
147
149
  max-width: 520px;
148
150
  padding: 0.4rem 0.4rem 0.4rem 1rem;
149
151
  border-radius: var(--r-md, 12px);
150
- border: 1px solid var(--c-border, rgba(255, 255, 255, 0.08));
151
- background: rgba(255, 255, 255, 0.025);
152
+ border: 1px solid var(--c-border, rgb(var(--ink-rgb, 255 255 255) / 0.08));
153
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.025);
152
154
  margin-bottom: 1.5rem;
153
155
  position: relative;
154
156
  }
@@ -170,12 +172,12 @@ const id = `ht-${Math.random().toString(36).slice(2, 8)}`;
170
172
  flex-shrink: 0;
171
173
  border: 0;
172
174
  border-radius: var(--r-sm, 8px);
173
- background: rgba(255, 255, 255, 0.05);
175
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.05);
174
176
  color: var(--c-text-2, #a3a3a3);
175
177
  cursor: pointer;
176
178
  transition: background 0.2s ease, color 0.2s ease;
177
179
  }
178
- .ht__copy-btn:hover { background: rgba(255, 255, 255, 0.1); color: var(--c-text-1, #fff); }
180
+ .ht__copy-btn:hover { background: rgb(var(--ink-rgb, 255 255 255) / 0.1); color: var(--c-text-1, #fff); }
179
181
  .ht__copy-btn:focus-visible, .ht__btn:focus-visible { outline: 2px solid var(--c-primary-light, #d4a017); outline-offset: 2px; }
180
182
  .ht__icon-ok { display: none; color: var(--chart-pos, #34c38f); }
181
183
  .ht__copy-btn.is-copied .ht__icon-copy { display: none; }
@@ -189,18 +191,18 @@ const id = `ht-${Math.random().toString(36).slice(2, 8)}`;
189
191
  padding: 0 1.5rem;
190
192
  border-radius: var(--r-md, 12px);
191
193
  background: var(--c-text-1, #fff);
192
- color: #0a0a0a;
194
+ color: var(--c-on-primary, #0a0a0a);
193
195
  font-weight: 650;
194
196
  text-decoration: none;
195
197
  transition: transform 0.2s ease;
196
198
  }
197
- .ht__btn:hover { transform: translateY(-1px); color: #0a0a0a; }
199
+ .ht__btn:hover { transform: translateY(-1px); color: var(--c-on-primary, #0a0a0a); }
198
200
 
199
201
  .ht__terminal {
200
202
  border-radius: var(--r-lg, 20px);
201
- border: 1px solid rgba(255, 255, 255, 0.09);
203
+ border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.09);
202
204
  background: #0b0b0d;
203
- box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.02) inset;
205
+ box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.8), 0 0 0 1px rgb(var(--ink-rgb, 255 255 255) / 0.02) inset;
204
206
  overflow: hidden;
205
207
  }
206
208
  .ht--glass .ht__terminal { background: rgba(14, 14, 18, 0.6); backdrop-filter: blur(18px); }
@@ -210,9 +212,9 @@ const id = `ht-${Math.random().toString(36).slice(2, 8)}`;
210
212
  align-items: center;
211
213
  gap: 0.45rem;
212
214
  padding: 0.85rem 1rem;
213
- border-bottom: 1px solid rgba(255, 255, 255, 0.06);
215
+ border-bottom: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.06);
214
216
  }
215
- .ht__bar span { width: 11px; height: 11px; border-radius: 50%; background: rgba(255, 255, 255, 0.12); }
217
+ .ht__bar span { width: 11px; height: 11px; border-radius: 50%; background: rgb(var(--ink-rgb, 255 255 255) / 0.12); }
216
218
  .ht__bar p { margin: 0 auto; font-size: 0.75rem; color: var(--c-text-3, #737373); font-family: var(--font-mono, monospace); transform: translateX(-1.5rem); }
217
219
  .ht__lines {
218
220
  list-style: none;
@@ -241,7 +243,7 @@ const id = `ht-${Math.random().toString(36).slice(2, 8)}`;
241
243
  .ht__caret { width: 8px; height: 1.1em; align-self: center; background: var(--c-text-1, #fff); animation: ht-blink 1s steps(1) infinite; }
242
244
  @keyframes ht-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
243
245
  @keyframes ht-blink { 50% { opacity: 0; } }
244
- @media (max-width: 900px) {
246
+ @container (max-width: 900px) {
245
247
  .ht__inner { grid-template-columns: minmax(0, 1fr); gap: 3rem; }
246
248
  }
247
249
  @media (prefers-reduced-motion: reduce) {
@@ -45,6 +45,7 @@ const initials = ['AK', 'MR', 'JS', 'LP', 'TW'];
45
45
  const hues = ['var(--chart-1, #3987e5)', 'var(--chart-2, #d95926)', 'var(--chart-3, #199e70)', 'var(--chart-5, #d55181)', 'var(--chart-7, #9085e9)'];
46
46
  ---
47
47
 
48
+ <div class="cq-hero-waitlist-cq">
48
49
  <section class={`hw hw--${variant} hw--${size} ${className}`} aria-labelledby={id}>
49
50
  <div class="hw__aurora" aria-hidden="true"><span></span><span></span><span></span></div>
50
51
  <div class="hw__inner">
@@ -70,7 +71,7 @@ const hues = ['var(--chart-1, #3987e5)', 'var(--chart-2, #d95926)', 'var(--chart
70
71
  </div>
71
72
  </div>
72
73
  </section>
73
-
74
+ </div>
74
75
  <script>
75
76
  document.querySelectorAll<HTMLFormElement>('.hw__form').forEach((form) => {
76
77
  const input = form.querySelector<HTMLInputElement>('input[type="email"]');
@@ -99,6 +100,7 @@ const hues = ['var(--chart-1, #3987e5)', 'var(--chart-2, #d95926)', 'var(--chart
99
100
  </script>
100
101
 
101
102
  <style>
103
+ .cq-hero-waitlist-cq { container-type: inline-size; }
102
104
  .hw {
103
105
  --hw-py: 6rem;
104
106
  position: relative;
@@ -133,8 +135,8 @@ const hues = ['var(--chart-1, #3987e5)', 'var(--chart-2, #d95926)', 'var(--chart
133
135
  gap: 0.55rem;
134
136
  padding: 0.4rem 0.9rem;
135
137
  border-radius: var(--r-full, 999px);
136
- background: rgba(255, 255, 255, 0.05);
137
- border: 1px solid rgba(255, 255, 255, 0.09);
138
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.05);
139
+ border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.09);
138
140
  font-size: 0.8125rem;
139
141
  color: var(--c-text-1, #fff);
140
142
  }
@@ -157,12 +159,12 @@ const hues = ['var(--chart-1, #3987e5)', 'var(--chart-2, #d95926)', 'var(--chart
157
159
  margin: 0 auto;
158
160
  padding: 0.4rem;
159
161
  border-radius: var(--r-lg, 16px);
160
- background: rgba(255, 255, 255, 0.04);
161
- border: 1px solid rgba(255, 255, 255, 0.1);
162
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.04);
163
+ border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.1);
162
164
  backdrop-filter: blur(12px);
163
165
  transition: border-color 0.2s ease;
164
166
  }
165
- .hw__form:focus-within { border-color: rgba(255, 255, 255, 0.28); }
167
+ .hw__form:focus-within { border-color: rgb(var(--ink-rgb, 255 255 255) / 0.28); }
166
168
  .hw__input {
167
169
  flex: 1;
168
170
  min-width: 0;
@@ -186,7 +188,7 @@ const hues = ['var(--chart-1, #3987e5)', 'var(--chart-2, #d95926)', 'var(--chart
186
188
  border: 0;
187
189
  border-radius: var(--r-md, 12px);
188
190
  background: var(--c-text-1, #fff);
189
- color: #0a0a0a;
191
+ color: var(--c-on-primary, #0a0a0a);
190
192
  font-weight: 650;
191
193
  font-size: 0.9375rem;
192
194
  font-family: inherit;
@@ -218,7 +220,7 @@ const hues = ['var(--chart-1, #3987e5)', 'var(--chart-2, #d95926)', 'var(--chart
218
220
  }
219
221
  .hw__avatars span:first-child { margin-left: 0; }
220
222
  .hw__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
221
- @media (max-width: 520px) {
223
+ @container (max-width: 520px) {
222
224
  .hw__form { flex-direction: column; }
223
225
  .hw__btn { justify-content: center; }
224
226
  .hw__proof { flex-direction: column; }
@@ -40,6 +40,7 @@ const {
40
40
  const id = `hiw-${Math.random().toString(36).slice(2, 8)}`;
41
41
  ---
42
42
 
43
+ <div class="cq-how-it-works-steps-cq">
43
44
  <section class={`hiw hiw--${variant} hiw--${size} ${className}`} aria-labelledby={id} style={`--hiw-n:${steps.length}`}>
44
45
  <div class="hiw__inner">
45
46
  <header class="hiw__head">
@@ -70,8 +71,9 @@ const id = `hiw-${Math.random().toString(36).slice(2, 8)}`;
70
71
  )}
71
72
  </div>
72
73
  </section>
73
-
74
+ </div>
74
75
  <style>
76
+ .cq-how-it-works-steps-cq { container-type: inline-size; }
75
77
  .hiw {
76
78
  --hiw-py: 5.5rem;
77
79
  padding: var(--hiw-py) var(--sp-6, 1.5rem);
@@ -99,7 +101,7 @@ const id = `hiw-${Math.random().toString(36).slice(2, 8)}`;
99
101
  left: calc(100% / var(--hiw-n) / 2);
100
102
  right: calc(100% / var(--hiw-n) / 2);
101
103
  height: 1px;
102
- background: linear-gradient(90deg, rgba(212, 160, 23, 0.6), rgba(255, 255, 255, 0.1));
104
+ background: linear-gradient(90deg, color-mix(in srgb, var(--c-primary-light, #d4a017) 60%, transparent), rgb(var(--ink-rgb, 255 255 255) / 0.1));
103
105
  }
104
106
  .hiw--cards .hiw__steps::before { display: none; }
105
107
  .hiw__step {
@@ -116,8 +118,8 @@ const id = `hiw-${Math.random().toString(36).slice(2, 8)}`;
116
118
  text-align: left;
117
119
  padding: 1.5rem;
118
120
  border-radius: var(--r-lg, 20px);
119
- background: rgba(255, 255, 255, 0.025);
120
- border: 1px solid var(--c-border, rgba(255, 255, 255, 0.07));
121
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.025);
122
+ border: 1px solid var(--c-border, rgb(var(--ink-rgb, 255 255 255) / 0.07));
121
123
  }
122
124
  @keyframes hiw-in { from { opacity: 0; transform: translateY(10px); } }
123
125
  .hiw__marker {
@@ -130,7 +132,7 @@ const id = `hiw-${Math.random().toString(36).slice(2, 8)}`;
130
132
  margin-bottom: 1.25rem;
131
133
  border-radius: 50%;
132
134
  background: var(--c-bg-1, #0a0a0a);
133
- border: 1px solid rgba(212, 160, 23, 0.45);
135
+ border: 1px solid color-mix(in srgb, var(--c-primary-light, #d4a017) 45%, transparent);
134
136
  color: var(--c-primary-light, #d4a017);
135
137
  font-family: var(--font-mono, monospace);
136
138
  font-size: 0.875rem;
@@ -147,7 +149,7 @@ const id = `hiw-${Math.random().toString(36).slice(2, 8)}`;
147
149
  margin-top: 0.85rem;
148
150
  padding: 0.2rem 0.6rem;
149
151
  border-radius: var(--r-full, 999px);
150
- background: rgba(255, 255, 255, 0.05);
152
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.05);
151
153
  font-size: 0.75rem;
152
154
  color: var(--c-text-2, #a3a3a3);
153
155
  }
@@ -160,16 +162,16 @@ const id = `hiw-${Math.random().toString(36).slice(2, 8)}`;
160
162
  padding: 0 1.5rem;
161
163
  border-radius: var(--r-md, 12px);
162
164
  background: var(--c-primary-light, #d4a017);
163
- color: #0a0a0a;
165
+ color: var(--c-on-primary, #0a0a0a);
164
166
  font-weight: 650;
165
167
  text-decoration: none;
166
168
  transition: background 0.2s ease;
167
169
  }
168
- .hiw__cta a:hover { background: var(--c-accent, #fef3c7); color: #0a0a0a; }
170
+ .hiw__cta a:hover { background: var(--c-accent, #fef3c7); color: var(--c-on-primary, #0a0a0a); }
169
171
  .hiw__cta a:focus-visible { outline: 2px solid var(--c-primary-light, #d4a017); outline-offset: 3px; }
170
- @media (max-width: 820px) {
172
+ @container (max-width: 820px) {
171
173
  .hiw__steps { grid-template-columns: 1fr; gap: 1.75rem; }
172
- .hiw__steps::before { top: 24px; bottom: 24px; left: 24px; right: auto; width: 1px; height: auto; background: linear-gradient(180deg, rgba(212, 160, 23, 0.6), rgba(255, 255, 255, 0.1)); }
174
+ .hiw__steps::before { top: 24px; bottom: 24px; left: 24px; right: auto; width: 1px; height: auto; background: linear-gradient(180deg, color-mix(in srgb, var(--c-primary-light, #d4a017) 60%, transparent), rgb(var(--ink-rgb, 255 255 255) / 0.1)); }
173
175
  .hiw__step { flex-direction: row; align-items: flex-start; text-align: left; gap: 1.25rem; }
174
176
  .hiw__marker { flex-shrink: 0; margin-bottom: 0; }
175
177
  .hiw--dots .hiw__marker { margin: 16px 16px 0; }
@@ -114,7 +114,7 @@ const statusLabel = { available: 'Available', beta: 'Beta', soon: 'Coming soon'
114
114
  min-height: 40px;
115
115
  padding: 0 1rem;
116
116
  border-radius: var(--r-full, 999px);
117
- border: 1px solid rgba(255, 255, 255, 0.1);
117
+ border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.1);
118
118
  background: transparent;
119
119
  color: var(--c-text-2, #a3a3a3);
120
120
  font: inherit;
@@ -123,8 +123,8 @@ const statusLabel = { available: 'Available', beta: 'Beta', soon: 'Coming soon'
123
123
  cursor: pointer;
124
124
  transition: all 0.2s ease;
125
125
  }
126
- .ig__chip:hover { color: var(--c-text-1, #fff); border-color: rgba(255, 255, 255, 0.25); }
127
- .ig__chip[aria-pressed='true'] { background: var(--c-text-1, #fff); color: #0a0a0a; border-color: transparent; }
126
+ .ig__chip:hover { color: var(--c-text-1, #fff); border-color: rgb(var(--ink-rgb, 255 255 255) / 0.25); }
127
+ .ig__chip[aria-pressed='true'] { background: var(--c-text-1, #fff); color: var(--c-on-primary, #0a0a0a); border-color: transparent; }
128
128
  .ig__chip:focus-visible { outline: 2px solid var(--c-primary-light, #d4a017); outline-offset: 2px; }
129
129
  .ig__count { margin: 1rem 0 1.5rem; text-align: center; font-size: 0.8125rem; color: var(--c-text-3, #8a8a8a); }
130
130
  .ig__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; }
@@ -136,11 +136,11 @@ const statusLabel = { available: 'Available', beta: 'Beta', soon: 'Coming soon'
136
136
  transition: border-color 0.2s ease, transform 0.2s ease;
137
137
  }
138
138
  .ig__tile[hidden] { display: none; }
139
- .ig--card .ig__tile { background: rgba(255, 255, 255, 0.025); border: 1px solid var(--c-border, rgba(255, 255, 255, 0.07)); }
140
- .ig--outline .ig__tile { border: 1px solid rgba(255, 255, 255, 0.12); }
139
+ .ig--card .ig__tile { background: rgb(var(--ink-rgb, 255 255 255) / 0.025); border: 1px solid var(--c-border, rgb(var(--ink-rgb, 255 255 255) / 0.07)); }
140
+ .ig--outline .ig__tile { border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.12); }
141
141
  .ig--compact .ig__tile { padding: 0.75rem; }
142
142
  .ig--compact .ig__desc { display: none; }
143
- .ig__tile:hover { border-color: rgba(255, 255, 255, 0.2); transform: translateY(-2px); }
143
+ .ig__tile:hover { border-color: rgb(var(--ink-rgb, 255 255 255) / 0.2); transform: translateY(-2px); }
144
144
  .ig__logo {
145
145
  display: grid;
146
146
  place-items: center;
@@ -160,7 +160,7 @@ const statusLabel = { available: 'Available', beta: 'Beta', soon: 'Coming soon'
160
160
  .ig__status { font-size: 0.6875rem; font-weight: 650; padding: 0.15rem 0.5rem; border-radius: var(--r-full, 999px); white-space: nowrap; }
161
161
  .ig__status--available { background: rgba(52, 195, 143, 0.14); color: #7ee2b8; }
162
162
  .ig__status--beta { background: rgba(201, 133, 0, 0.16); color: #f2c66a; }
163
- .ig__status--soon { background: rgba(255, 255, 255, 0.06); color: var(--c-text-2, #a3a3a3); }
163
+ .ig__status--soon { background: rgb(var(--ink-rgb, 255 255 255) / 0.06); color: var(--c-text-2, #a3a3a3); }
164
164
  .ig__desc { margin: 0.35rem 0 0.6rem; font-size: 0.875rem; line-height: 1.5; color: var(--c-text-2, #a3a3a3); }
165
165
  .ig__cat { font-size: 0.75rem; color: var(--c-text-3, #8a8a8a); }
166
166
  @media (prefers-reduced-motion: reduce) { .ig__tile, .ig__chip { transition: none; } }
@@ -8,6 +8,7 @@ interface Props {
8
8
  const { title = "Layout", subtitle = "Grids, containers, and structural sections." } = Astro.props;
9
9
  ---
10
10
 
11
+ <div class="cq-layout-showcase-cq">
11
12
  <section class="layout-showcase">
12
13
  <div class="container">
13
14
  <div class="showcase-header">
@@ -82,8 +83,9 @@ const { title = "Layout", subtitle = "Grids, containers, and structural sections
82
83
  </div>
83
84
  </div>
84
85
  </section>
85
-
86
+ </div>
86
87
  <style>
88
+ .cq-layout-showcase-cq { container-type: inline-size; }
87
89
  .layout-showcase {
88
90
  padding: var(--sp-16) 0;
89
91
  position: relative;
@@ -100,8 +102,8 @@ const { title = "Layout", subtitle = "Grids, containers, and structural sections
100
102
  text-transform: uppercase;
101
103
  letter-spacing: 0.1em;
102
104
  color: var(--c-primary-light);
103
- background: rgba(184,134,11,0.1);
104
- border: 1px solid rgba(184,134,11,0.25);
105
+ background: color-mix(in srgb, var(--c-primary, #b8860b) 10%, transparent);
106
+ border: 1px solid color-mix(in srgb, var(--c-primary, #b8860b) 25%, transparent);
105
107
  border-radius: var(--r-full);
106
108
  margin-bottom: var(--sp-4);
107
109
  }
@@ -123,7 +125,7 @@ const { title = "Layout", subtitle = "Grids, containers, and structural sections
123
125
  padding: var(--sp-12);
124
126
  background: rgba(10, 10, 10, 0.6);
125
127
  backdrop-filter: blur(20px);
126
- border: 1px solid rgba(255,255,255,0.08);
128
+ border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.08);
127
129
  border-radius: var(--r-xl);
128
130
  margin-bottom: var(--sp-6);
129
131
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
@@ -159,8 +161,8 @@ const { title = "Layout", subtitle = "Grids, containers, and structural sections
159
161
  gap: var(--sp-3);
160
162
  }
161
163
  .bento-item {
162
- background: rgba(255,255,255,0.04);
163
- border: 1px solid rgba(255,255,255,0.08);
164
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.04);
165
+ border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.08);
164
166
  border-radius: var(--r-md);
165
167
  min-height: 80px;
166
168
  display: flex;
@@ -173,7 +175,7 @@ const { title = "Layout", subtitle = "Grids, containers, and structural sections
173
175
  content: '';
174
176
  position: absolute;
175
177
  inset: 0;
176
- background: linear-gradient(135deg, rgba(184,134,11,0.05), transparent);
178
+ background: linear-gradient(135deg, color-mix(in srgb, var(--c-primary, #b8860b) 5%, transparent), transparent);
177
179
  pointer-events: none;
178
180
  }
179
181
  .bento-item--wide {
@@ -200,8 +202,8 @@ const { title = "Layout", subtitle = "Grids, containers, and structural sections
200
202
  }
201
203
  .split-screen__left,
202
204
  .split-screen__right {
203
- background: rgba(255,255,255,0.04);
204
- border: 1px solid rgba(255,255,255,0.08);
205
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.04);
206
+ border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.08);
205
207
  border-radius: var(--r-md);
206
208
  display: flex;
207
209
  align-items: center;
@@ -213,7 +215,7 @@ const { title = "Layout", subtitle = "Grids, containers, and structural sections
213
215
  content: '';
214
216
  position: absolute;
215
217
  inset: 0;
216
- background: linear-gradient(135deg, rgba(184,134,11,0.05), transparent);
218
+ background: linear-gradient(135deg, color-mix(in srgb, var(--c-primary, #b8860b) 5%, transparent), transparent);
217
219
  pointer-events: none;
218
220
  }
219
221
  .split-screen__right::before {
@@ -232,8 +234,8 @@ const { title = "Layout", subtitle = "Grids, containers, and structural sections
232
234
 
233
235
  /* Footer Mockup */
234
236
  .footer-mockup {
235
- background: rgba(255,255,255,0.04);
236
- border: 1px solid rgba(255,255,255,0.08);
237
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.04);
238
+ border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.08);
237
239
  border-radius: var(--r-md);
238
240
  overflow: hidden;
239
241
  }
@@ -244,8 +246,8 @@ const { title = "Layout", subtitle = "Grids, containers, and structural sections
244
246
  padding: var(--sp-4);
245
247
  }
246
248
  .footer-mockup__brand {
247
- background: rgba(255,255,255,0.03);
248
- border: 1px solid rgba(255,255,255,0.06);
249
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.03);
250
+ border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.06);
249
251
  border-radius: var(--r-sm);
250
252
  min-height: 60px;
251
253
  display: flex;
@@ -258,8 +260,8 @@ const { title = "Layout", subtitle = "Grids, containers, and structural sections
258
260
  gap: var(--sp-3);
259
261
  }
260
262
  .footer-mockup__col {
261
- background: rgba(255,255,255,0.03);
262
- border: 1px solid rgba(255,255,255,0.06);
263
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.03);
264
+ border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.06);
263
265
  border-radius: var(--r-sm);
264
266
  min-height: 60px;
265
267
  display: flex;
@@ -267,7 +269,7 @@ const { title = "Layout", subtitle = "Grids, containers, and structural sections
267
269
  justify-content: center;
268
270
  }
269
271
  .footer-mockup__bottom {
270
- border-top: 1px solid rgba(255,255,255,0.06);
272
+ border-top: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.06);
271
273
  padding: var(--sp-3) var(--sp-4);
272
274
  display: flex;
273
275
  align-items: center;
@@ -283,7 +285,7 @@ const { title = "Layout", subtitle = "Grids, containers, and structural sections
283
285
  .usage-code {
284
286
  text-align: center;
285
287
  padding: var(--sp-4);
286
- background: rgba(255,255,255,0.02);
288
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.02);
287
289
  border-radius: var(--r-md);
288
290
  }
289
291
  .usage-code code {
@@ -292,7 +294,7 @@ const { title = "Layout", subtitle = "Grids, containers, and structural sections
292
294
  color: var(--c-primary-light);
293
295
  }
294
296
 
295
- @media (max-width: 640px) {
297
+ @container (max-width: 640px) {
296
298
  .preview-stage { padding: var(--sp-8) var(--sp-4); }
297
299
  .bento-grid {
298
300
  grid-template-columns: 1fr 1fr;
@@ -72,9 +72,9 @@ const {
72
72
  align-items: center;
73
73
  gap: 10px;
74
74
  padding: 0.65rem 1.4rem;
75
- background: rgba(255, 255, 255, 0.02);
75
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.02);
76
76
  backdrop-filter: blur(12px);
77
- border: 1px solid rgba(255, 255, 255, 0.06);
77
+ border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.06);
78
78
  border-radius: var(--r-full, 9999px);
79
79
  color: var(--c-text-2, #a3a3a3);
80
80
  font-size: 0.88rem;
@@ -84,8 +84,8 @@ const {
84
84
 
85
85
  .logo-badge:hover {
86
86
  color: var(--c-text-1, #ffffff);
87
- background: rgba(255, 255, 255, 0.06);
88
- border-color: rgba(184, 134, 11, 0.4);
87
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.06);
88
+ border-color: color-mix(in srgb, var(--c-primary, #b8860b) 40%, transparent);
89
89
  transform: translateY(-2px);
90
90
  }
91
91
 
@@ -42,6 +42,7 @@ const glyphs = [
42
42
  ];
43
43
  ---
44
44
 
45
+ <div class="cq-logo-wall-grid-cq">
45
46
  <section class={`lwg lwg--${variant} lwg--${size} ${className}`} aria-labelledby={id} style={`--lwg-cols:${columns}`}>
46
47
  <div class="lwg__inner">
47
48
  <h2 id={id} class="lwg__title">{title}</h2>
@@ -64,8 +65,9 @@ const glyphs = [
64
65
  </ul>
65
66
  </div>
66
67
  </section>
67
-
68
+ </div>
68
69
  <style>
70
+ .cq-logo-wall-grid-cq { container-type: inline-size; }
69
71
  .lwg {
70
72
  --lwg-py: 4.5rem;
71
73
  padding: var(--lwg-py) var(--sp-6, 1.5rem);
@@ -76,10 +78,10 @@ const glyphs = [
76
78
  .lwg__inner { max-width: 1120px; margin: 0 auto; }
77
79
  .lwg__title { margin: 0 auto 2.5rem; max-width: 560px; text-align: center; font-size: 1rem; font-weight: 550; line-height: 1.5; color: var(--c-text-2, #a3a3a3); text-wrap: balance; }
78
80
  .lwg__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--lwg-cols), minmax(0, 1fr)); }
79
- .lwg--divided .lwg__grid { gap: 1px; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.07); border-radius: var(--r-lg, 20px); overflow: hidden; }
81
+ .lwg--divided .lwg__grid { gap: 1px; background: rgb(var(--ink-rgb, 255 255 255) / 0.07); border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.07); border-radius: var(--r-lg, 20px); overflow: hidden; }
80
82
  .lwg--cards .lwg__grid { gap: 0.75rem; }
81
83
  .lwg__cell { display: grid; place-items: center; min-height: 112px; padding: 1.25rem; background: var(--c-bg, #050505); }
82
- .lwg--cards .lwg__cell { border-radius: var(--r-md, 14px); background: rgba(255, 255, 255, 0.025); border: 1px solid var(--c-border, rgba(255, 255, 255, 0.07)); }
84
+ .lwg--cards .lwg__cell { border-radius: var(--r-md, 14px); background: rgb(var(--ink-rgb, 255 255 255) / 0.025); border: 1px solid var(--c-border, rgb(var(--ink-rgb, 255 255 255) / 0.07)); }
83
85
  .lwg--plain .lwg__cell { background: transparent; }
84
86
  .lwg__word { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 1.25rem; font-weight: 750; letter-spacing: -0.03em; color: var(--c-text-2, #a3a3a3); transition: color 0.25s ease; }
85
87
  .lwg__cell:hover .lwg__word { color: var(--c-text-1, #fff); }
@@ -87,5 +89,5 @@ const glyphs = [
87
89
  .lwg__cell:hover img { opacity: 1; filter: none; }
88
90
  .lwg__link { display: grid; place-items: center; width: 100%; height: 100%; min-height: 44px; text-decoration: none; border-radius: 8px; }
89
91
  .lwg__link:focus-visible { outline: 2px solid var(--c-primary-light, #d4a017); outline-offset: 2px; }
90
- @media (max-width: 760px) { .lwg__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
92
+ @container (max-width: 760px) { .lwg__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
91
93
  </style>
@@ -8,6 +8,7 @@ interface Props {
8
8
  const { title = "Navigation", subtitle = "Navbars, tabs, breadcrumbs and navigation patterns." } = Astro.props;
9
9
  ---
10
10
 
11
+ <div class="cq-navigation-showcase-cq">
11
12
  <section class="navigation-showcase">
12
13
  <div class="container">
13
14
  <div class="showcase-header">
@@ -62,8 +63,9 @@ const { title = "Navigation", subtitle = "Navbars, tabs, breadcrumbs and navigat
62
63
  </div>
63
64
  </div>
64
65
  </section>
65
-
66
+ </div>
66
67
  <style>
68
+ .cq-navigation-showcase-cq { container-type: inline-size; }
67
69
  .navigation-showcase {
68
70
  padding: var(--sp-16) 0;
69
71
  position: relative;
@@ -80,8 +82,8 @@ const { title = "Navigation", subtitle = "Navbars, tabs, breadcrumbs and navigat
80
82
  text-transform: uppercase;
81
83
  letter-spacing: 0.1em;
82
84
  color: var(--c-primary-light);
83
- background: rgba(184,134,11,0.1);
84
- border: 1px solid rgba(184,134,11,0.25);
85
+ background: color-mix(in srgb, var(--c-primary, #b8860b) 10%, transparent);
86
+ border: 1px solid color-mix(in srgb, var(--c-primary, #b8860b) 25%, transparent);
85
87
  border-radius: var(--r-full);
86
88
  margin-bottom: var(--sp-4);
87
89
  }
@@ -103,7 +105,7 @@ const { title = "Navigation", subtitle = "Navbars, tabs, breadcrumbs and navigat
103
105
  padding: var(--sp-12);
104
106
  background: rgba(10, 10, 10, 0.6);
105
107
  backdrop-filter: blur(20px);
106
- border: 1px solid rgba(255,255,255,0.08);
108
+ border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.08);
107
109
  border-radius: var(--r-xl);
108
110
  margin-bottom: var(--sp-6);
109
111
  box-shadow: 0 20px 60px rgba(0,0,0,0.4);
@@ -127,8 +129,8 @@ const { title = "Navigation", subtitle = "Navbars, tabs, breadcrumbs and navigat
127
129
  align-items: center;
128
130
  justify-content: space-between;
129
131
  padding: 0.85rem 1.5rem;
130
- background: rgba(255,255,255,0.04);
131
- border: 1px solid rgba(255,255,255,0.08);
132
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.04);
133
+ border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.08);
132
134
  border-radius: var(--r-lg);
133
135
  backdrop-filter: blur(10px);
134
136
  }
@@ -166,16 +168,16 @@ const { title = "Navigation", subtitle = "Navbars, tabs, breadcrumbs and navigat
166
168
  font-weight: 600;
167
169
  font-family: var(--font-sans);
168
170
  background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
169
- color: #0a0a0a;
171
+ color: var(--c-on-primary, #0a0a0a);
170
172
  border: none;
171
173
  border-radius: var(--r-md);
172
174
  cursor: pointer;
173
- box-shadow: 0 4px 16px rgba(184,134,11,0.25);
175
+ box-shadow: 0 4px 16px color-mix(in srgb, var(--c-primary, #b8860b) 25%, transparent);
174
176
  transition: all 0.25s ease;
175
177
  }
176
178
  .navbar-mock__cta:hover {
177
179
  transform: translateY(-1px);
178
- box-shadow: 0 6px 24px rgba(184,134,11,0.35);
180
+ box-shadow: 0 6px 24px color-mix(in srgb, var(--c-primary, #b8860b) 35%, transparent);
179
181
  }
180
182
 
181
183
  /* Tabs Mockup */
@@ -185,7 +187,7 @@ const { title = "Navigation", subtitle = "Navbars, tabs, breadcrumbs and navigat
185
187
  align-items: flex-end;
186
188
  gap: var(--sp-6);
187
189
  padding: 0 var(--sp-2);
188
- border-bottom: 2px solid rgba(255,255,255,0.08);
190
+ border-bottom: 2px solid rgb(var(--ink-rgb, 255 255 255) / 0.08);
189
191
  }
190
192
  .tabs-mock__tab {
191
193
  padding: 0.7rem 0.5rem;
@@ -245,7 +247,7 @@ const { title = "Navigation", subtitle = "Navbars, tabs, breadcrumbs and navigat
245
247
  .usage-code {
246
248
  text-align: center;
247
249
  padding: var(--sp-4);
248
- background: rgba(255,255,255,0.02);
250
+ background: rgb(var(--ink-rgb, 255 255 255) / 0.02);
249
251
  border-radius: var(--r-md);
250
252
  }
251
253
  .usage-code code {
@@ -254,7 +256,7 @@ const { title = "Navigation", subtitle = "Navbars, tabs, breadcrumbs and navigat
254
256
  color: var(--c-primary-light);
255
257
  }
256
258
 
257
- @media (max-width: 768px) {
259
+ @container (max-width: 768px) {
258
260
  .navbar-mock {
259
261
  flex-direction: column;
260
262
  gap: var(--sp-4);
@@ -273,7 +275,7 @@ const { title = "Navigation", subtitle = "Navbars, tabs, breadcrumbs and navigat
273
275
  .preview-stage { padding: var(--sp-8) var(--sp-4); }
274
276
  }
275
277
 
276
- @media (max-width: 480px) {
278
+ @container (max-width: 480px) {
277
279
  .navbar-mock__links {
278
280
  display: none;
279
281
  }