astro-component-kit 0.4.0 → 0.5.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.
- package/README.md +139 -27
- package/bin/cli.js +67 -0
- package/bin/installer.js +179 -0
- package/package.json +35 -5
- package/src/components/index.ts +2 -0
- package/src/components/lib/Galaxy3D.astro +249 -137
- package/src/components/lib/app/AppSidebar.astro +249 -0
- package/src/components/lib/app/AppTopbar.astro +284 -0
- package/src/components/lib/app/ArrivalsBoard.astro +176 -0
- package/src/components/lib/app/AuthCard.astro +213 -0
- package/src/components/lib/app/DataTable.astro +346 -0
- package/src/components/lib/app/GuestProfileCard.astro +133 -0
- package/src/components/lib/app/HousekeepingBoard.astro +189 -0
- package/src/components/lib/app/PageHeader.astro +157 -0
- package/src/components/lib/app/PlanUsageCard.astro +112 -0
- package/src/components/lib/app/RoomRack.astro +207 -0
- package/src/components/lib/app/SettingsSection.astro +96 -0
- package/src/components/lib/app/SwitchRow.astro +71 -0
- package/src/components/lib/app/TeamMembers.astro +190 -0
- package/src/components/lib/app/app-icons.ts +52 -0
- package/src/components/lib/app/index.ts +19 -0
- package/src/components/lib/charts/AreaChart.astro +4 -4
- package/src/components/lib/charts/BarChart.astro +3 -3
- package/src/components/lib/charts/ChartFrame.astro +10 -10
- package/src/components/lib/charts/DonutChart.astro +2 -2
- package/src/components/lib/charts/DumbbellChart.astro +1 -1
- package/src/components/lib/charts/ForecastLineChart.astro +1 -1
- package/src/components/lib/charts/GaugeChart.astro +1 -1
- package/src/components/lib/charts/HeatmapChart.astro +1 -1
- package/src/components/lib/charts/HorizontalBarChart.astro +2 -2
- package/src/components/lib/charts/KpiStatTile.astro +4 -4
- package/src/components/lib/charts/LinearProgressGauge.astro +4 -4
- package/src/components/lib/charts/MetricDeltaTable.astro +3 -3
- package/src/components/lib/charts/RadarMetricChart.astro +4 -4
- package/src/components/lib/charts/RadialBarChart.astro +1 -1
- package/src/components/lib/charts/RetentionCohortTable.astro +2 -2
- package/src/components/lib/charts/TreemapChart.astro +1 -1
- package/src/components/lib/ecommerce/CartDrawer.astro +483 -0
- package/src/components/lib/ecommerce/CartPageList.astro +290 -0
- package/src/components/lib/ecommerce/CartToast.astro +276 -0
- package/src/components/lib/ecommerce/CategoryTiles.astro +143 -0
- package/src/components/lib/ecommerce/CheckoutForm.astro +423 -0
- package/src/components/lib/ecommerce/CountdownBanner.astro +230 -0
- package/src/components/lib/ecommerce/FilterBar.astro +278 -0
- package/src/components/lib/ecommerce/FilterSidebar.astro +405 -0
- package/src/components/lib/ecommerce/LiveActivityToast.astro +213 -0
- package/src/components/lib/ecommerce/OrderSummary.astro +295 -0
- package/src/components/lib/ecommerce/ProductBuyBox.astro +247 -0
- package/src/components/lib/ecommerce/ProductCardMinimal.astro +229 -0
- package/src/components/lib/ecommerce/ProductGallery.astro +145 -0
- package/src/components/lib/ecommerce/ProductGrid.astro +118 -0
- package/src/components/lib/ecommerce/ProductMedia.astro +113 -0
- package/src/components/lib/ecommerce/ProductRating.astro +78 -0
- package/src/components/lib/ecommerce/ProductToolbar.astro +93 -0
- package/src/components/lib/ecommerce/PromoBar.astro +145 -0
- package/src/components/lib/ecommerce/StockIndicator.astro +127 -0
- package/src/components/lib/ecommerce/StoreHeader.astro +446 -0
- package/src/components/lib/ecommerce/StoreHero.astro +260 -0
- package/src/components/lib/ecommerce/StoreProductCard.astro +307 -0
- package/src/components/lib/ecommerce/TrustBadges.astro +101 -0
- package/src/components/lib/ecommerce/VariantPicker.astro +145 -0
- package/src/components/lib/ecommerce/cart-store.ts +151 -0
- package/src/components/lib/ecommerce/catalog-filter.ts +62 -0
- package/src/components/lib/ecommerce/index.ts +34 -0
- package/src/components/lib/ecommerce/product-icons.ts +28 -0
- package/src/components/lib/ecommerce/types.ts +70 -0
- package/src/components/lib/forms/AnimatedInput.astro +4 -2
- package/src/components/lib/forms/CustomRadioGroup.astro +3 -1
- package/src/components/lib/index.ts +2 -0
- package/src/components/lib/layout/BentoGrid3.astro +6 -4
- package/src/components/lib/layout/CenterFixedBox.astro +2 -2
- package/src/components/lib/layout/CenteredContainer.astro +4 -2
- package/src/components/lib/layout/ClusterHorizontal.astro +2 -2
- package/src/components/lib/layout/FeatureHero.astro +4 -2
- package/src/components/lib/layout/FooterCenteredMinimal.astro +4 -2
- package/src/components/lib/layout/FullBleedSection.astro +2 -2
- package/src/components/lib/layout/GalleryGrid4.astro +2 -2
- package/src/components/lib/layout/HolyGrailGrid.astro +11 -9
- package/src/components/lib/layout/LandingSectionSplit.astro +5 -3
- package/src/components/lib/layout/MasonryGrid.astro +2 -2
- package/src/components/lib/layout/MinimalFooterGrid.astro +1 -1
- package/src/components/lib/layout/ScrollSnapSection.astro +1 -1
- package/src/components/lib/layout/SidebarLayoutWrapper.astro +4 -2
- package/src/components/lib/layout/SplitScreenLayout.astro +3 -3
- package/src/components/lib/layout/StepLayoutVertical.astro +1 -1
- package/src/components/lib/layout/StickySidebarWrapper.astro +4 -2
- package/src/components/lib/sections/AgencyContactBrief.astro +194 -0
- package/src/components/lib/sections/AgencyFooterCta.astro +94 -0
- package/src/components/lib/sections/AgencyHeader.astro +161 -0
- package/src/components/lib/sections/AgencyHeroKinetic.astro +172 -0
- package/src/components/lib/sections/AgencyServicesList.astro +113 -0
- package/src/components/lib/sections/AgencyTeamGrid.astro +111 -0
- package/src/components/lib/sections/AgencyWorkGrid.astro +147 -0
- package/src/components/lib/sections/BlogGridSection.astro +9 -7
- package/src/components/lib/sections/ButtonsShowcase.astro +20 -18
- package/src/components/lib/sections/CardsShowcase.astro +28 -26
- package/src/components/lib/sections/CareersOpenings.astro +10 -8
- package/src/components/lib/sections/ChangelogSection.astro +20 -7
- package/src/components/lib/sections/ContactGlassForm.astro +10 -8
- package/src/components/lib/sections/ContactSplitMap.astro +11 -9
- package/src/components/lib/sections/CtaAppDownload.astro +13 -11
- package/src/components/lib/sections/CtaGlowBanner.astro +12 -10
- package/src/components/lib/sections/CtaNewsletterSection.astro +13 -11
- package/src/components/lib/sections/CtaSplitImage.astro +13 -11
- package/src/components/lib/sections/DataShowcase.astro +23 -21
- package/src/components/lib/sections/FaqAccordionSection.astro +8 -8
- package/src/components/lib/sections/FaqTwoColumn.astro +9 -7
- package/src/components/lib/sections/FeatureAlternatingRows.astro +10 -8
- package/src/components/lib/sections/FeatureBentoGrid.astro +13 -11
- package/src/components/lib/sections/FeatureIconGrid.astro +6 -6
- package/src/components/lib/sections/FeatureTabsShowcase.astro +13 -11
- package/src/components/lib/sections/FeatureTimelineFlow.astro +8 -6
- package/src/components/lib/sections/FeedbackShowcase.astro +15 -13
- package/src/components/lib/sections/FooterMegaSection.astro +13 -11
- package/src/components/lib/sections/FormsShowcase.astro +22 -20
- package/src/components/lib/sections/HeroDashboardPreview.astro +11 -9
- package/src/components/lib/sections/HeroGlass.astro +22 -20
- package/src/components/lib/sections/HeroGradient.astro +15 -13
- package/src/components/lib/sections/HeroMinimalCentered.astro +10 -10
- package/src/components/lib/sections/HeroShowcaseSplit.astro +18 -16
- package/src/components/lib/sections/HeroSplit.astro +13 -11
- package/src/components/lib/sections/HeroTerminal.astro +14 -12
- package/src/components/lib/sections/HeroWaitlist.astro +10 -8
- package/src/components/lib/sections/HowItWorksSteps.astro +12 -10
- package/src/components/lib/sections/IntegrationsGrid.astro +7 -7
- package/src/components/lib/sections/LayoutShowcase.astro +21 -19
- package/src/components/lib/sections/LogoCloudSection.astro +4 -4
- package/src/components/lib/sections/LogoWallGrid.astro +6 -4
- package/src/components/lib/sections/NavigationShowcase.astro +15 -13
- package/src/components/lib/sections/OverlaysShowcase.astro +21 -19
- package/src/components/lib/sections/PricingComparisonMatrix.astro +15 -13
- package/src/components/lib/sections/PricingSinglePlan.astro +13 -11
- package/src/components/lib/sections/PricingTierCards.astro +11 -9
- package/src/components/lib/sections/PricingToggleCards.astro +13 -13
- package/src/components/lib/sections/ShopCategoryHero.astro +103 -0
- package/src/components/lib/sections/ShopCollectionMosaic.astro +131 -0
- package/src/components/lib/sections/ShopFooterWordmark.astro +100 -0
- package/src/components/lib/sections/ShopHeaderEditorial.astro +396 -0
- package/src/components/lib/sections/ShopHeroEditorial.astro +151 -0
- package/src/components/lib/sections/ShopLookbook.astro +250 -0
- package/src/components/lib/sections/ShopNewsletterEditorial.astro +128 -0
- package/src/components/lib/sections/ShopProductRail.astro +150 -0
- package/src/components/lib/sections/ShopReviewsEditorial.astro +133 -0
- package/src/components/lib/sections/ShopValuesMarquee.astro +91 -0
- package/src/components/lib/sections/StatsCounterBand.astro +9 -7
- package/src/components/lib/sections/StatsDashboardSection.astro +4 -2
- package/src/components/lib/sections/StatsMetricShowcase.astro +9 -7
- package/src/components/lib/sections/TeamGridSection.astro +12 -10
- package/src/components/lib/sections/TestimonialCarousel.astro +10 -8
- package/src/components/lib/sections/TestimonialFeatured.astro +7 -5
- package/src/components/lib/sections/TestimonialGridSection.astro +7 -7
- package/src/components/lib/sections/TestimonialWallGlass.astro +11 -9
- package/src/components/lib/sections/TypographyShowcase.astro +10 -8
- package/src/components/lib/sections/index.ts +10 -0
- package/src/components/lib/templates/ecommerce/StoreCategoryPage.astro +160 -0
- package/src/components/lib/templates/ecommerce/StoreCheckoutPage.astro +98 -0
- package/src/components/lib/templates/ecommerce/StoreHomePage.astro +191 -0
- package/src/components/lib/templates/ecommerce/StoreLayout.astro +169 -0
- package/src/components/lib/templates/ecommerce/StoreProductPage.astro +165 -0
- package/src/components/lib/templates/ecommerce/data.ts +187 -0
- package/src/components/lib/templates/ecommerce/index.ts +14 -0
- package/src/components/lib/templates/ecommerce-editorial/EditorialBagPage.astro +52 -0
- package/src/components/lib/templates/ecommerce-editorial/EditorialCheckoutPage.astro +123 -0
- package/src/components/lib/templates/ecommerce-editorial/EditorialHomePage.astro +102 -0
- package/src/components/lib/templates/ecommerce-editorial/EditorialLayout.astro +216 -0
- package/src/components/lib/templates/ecommerce-editorial/EditorialProductPage.astro +205 -0
- package/src/components/lib/templates/ecommerce-editorial/EditorialShopPage.astro +112 -0
- package/src/components/lib/templates/ecommerce-editorial/data.ts +125 -0
- package/src/components/lib/templates/ecommerce-editorial/index.ts +16 -0
- package/src/components/lib/templates/saas-hotel/AppLayout.astro +83 -0
- package/src/components/lib/templates/saas-hotel/DashboardPage.astro +66 -0
- package/src/components/lib/templates/saas-hotel/GuestsPage.astro +65 -0
- package/src/components/lib/templates/saas-hotel/LandingPage.astro +213 -0
- package/src/components/lib/templates/saas-hotel/ReportsPage.astro +63 -0
- package/src/components/lib/templates/saas-hotel/ReservationsPage.astro +49 -0
- package/src/components/lib/templates/saas-hotel/RoomsPage.astro +48 -0
- package/src/components/lib/templates/saas-hotel/SettingsPage.astro +115 -0
- package/src/components/lib/templates/saas-hotel/SignInPage.astro +50 -0
- package/src/components/lib/templates/saas-hotel/data.ts +229 -0
- package/src/components/lib/templates/saas-hotel/index.ts +19 -0
- package/src/components/lib/templates/saas-hotel/lobby-theme.css +90 -0
- package/src/data/registry/app.ts +93 -0
- package/src/data/registry/buttons.ts +3279 -0
- package/src/data/registry/cards.ts +1753 -0
- package/src/data/registry/charts-svg.ts +557 -0
- package/src/data/registry/charts.ts +500 -0
- package/src/data/registry/data.ts +986 -0
- package/src/data/registry/ecommerce.ts +269 -0
- package/src/data/registry/feedback.ts +1824 -0
- package/src/data/registry/forms.ts +2513 -0
- package/src/data/registry/index.ts +64 -0
- package/src/data/registry/layout.ts +206 -0
- package/src/data/registry/navigation.ts +936 -0
- package/src/data/registry/overlays.ts +1133 -0
- package/src/data/registry/sections-extra.ts +397 -0
- package/src/data/registry/sections.ts +361 -0
- package/src/data/registry/sources.ts +41 -0
- package/src/data/registry/templates.ts +414 -0
- package/src/data/registry/types.ts +30 -0
- package/src/data/registry/typography.ts +777 -0
- package/src/mcp/http-server.ts +324 -0
- package/src/mcp/index.ts +67 -0
- package/src/mcp/installer.ts +178 -0
- package/src/mcp/registry-adapter.ts +278 -0
- package/src/mcp/stdio-server.ts +11 -0
- package/src/mcp/tools.ts +247 -0
- package/src/mcp/types.ts +53 -0
- package/src/styles/global.css +95 -0
|
@@ -8,6 +8,7 @@ interface Props {
|
|
|
8
8
|
const { title = "Forms", subtitle = "Form elements with clean animations and validation states." } = Astro.props;
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
<div class="cq-forms-showcase-cq">
|
|
11
12
|
<section class="forms-showcase">
|
|
12
13
|
<div class="container">
|
|
13
14
|
<div class="showcase-header">
|
|
@@ -79,8 +80,9 @@ const { title = "Forms", subtitle = "Form elements with clean animations and val
|
|
|
79
80
|
</div>
|
|
80
81
|
</div>
|
|
81
82
|
</section>
|
|
82
|
-
|
|
83
|
+
</div>
|
|
83
84
|
<style>
|
|
85
|
+
.cq-forms-showcase-cq { container-type: inline-size; }
|
|
84
86
|
.forms-showcase {
|
|
85
87
|
padding: var(--sp-16) 0;
|
|
86
88
|
position: relative;
|
|
@@ -97,8 +99,8 @@ const { title = "Forms", subtitle = "Form elements with clean animations and val
|
|
|
97
99
|
text-transform: uppercase;
|
|
98
100
|
letter-spacing: 0.1em;
|
|
99
101
|
color: var(--c-primary-light);
|
|
100
|
-
background:
|
|
101
|
-
border: 1px solid
|
|
102
|
+
background: color-mix(in srgb, var(--c-primary, #b8860b) 10%, transparent);
|
|
103
|
+
border: 1px solid color-mix(in srgb, var(--c-primary, #b8860b) 25%, transparent);
|
|
102
104
|
border-radius: var(--r-full);
|
|
103
105
|
margin-bottom: var(--sp-4);
|
|
104
106
|
}
|
|
@@ -120,7 +122,7 @@ const { title = "Forms", subtitle = "Form elements with clean animations and val
|
|
|
120
122
|
padding: var(--sp-12);
|
|
121
123
|
background: rgba(10, 10, 10, 0.6);
|
|
122
124
|
backdrop-filter: blur(20px);
|
|
123
|
-
border: 1px solid
|
|
125
|
+
border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.08);
|
|
124
126
|
border-radius: var(--r-xl);
|
|
125
127
|
margin-bottom: var(--sp-6);
|
|
126
128
|
box-shadow: 0 20px 60px rgba(0,0,0,0.4);
|
|
@@ -149,8 +151,8 @@ const { title = "Forms", subtitle = "Form elements with clean animations and val
|
|
|
149
151
|
font-size: 0.9rem;
|
|
150
152
|
font-family: var(--font-sans);
|
|
151
153
|
color: var(--c-text-1);
|
|
152
|
-
background:
|
|
153
|
-
border: 1px solid
|
|
154
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.04);
|
|
155
|
+
border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.1);
|
|
154
156
|
border-radius: var(--r-md);
|
|
155
157
|
outline: none;
|
|
156
158
|
transition: all 0.3s ease;
|
|
@@ -202,9 +204,9 @@ const { title = "Forms", subtitle = "Form elements with clean animations and val
|
|
|
202
204
|
}
|
|
203
205
|
.textarea-mockup {
|
|
204
206
|
padding: 0.85rem 1rem;
|
|
205
|
-
background:
|
|
207
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.04);
|
|
206
208
|
backdrop-filter: blur(12px);
|
|
207
|
-
border: 1px solid
|
|
209
|
+
border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.1);
|
|
208
210
|
border-radius: var(--r-md);
|
|
209
211
|
display: flex;
|
|
210
212
|
flex-direction: column;
|
|
@@ -213,7 +215,7 @@ const { title = "Forms", subtitle = "Form elements with clean animations and val
|
|
|
213
215
|
}
|
|
214
216
|
.textarea-line {
|
|
215
217
|
height: 8px;
|
|
216
|
-
background:
|
|
218
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.12);
|
|
217
219
|
border-radius: var(--r-sm);
|
|
218
220
|
width: 100%;
|
|
219
221
|
}
|
|
@@ -241,12 +243,12 @@ const { title = "Forms", subtitle = "Form elements with clean animations and val
|
|
|
241
243
|
display: flex;
|
|
242
244
|
align-items: center;
|
|
243
245
|
justify-content: center;
|
|
244
|
-
box-shadow: 0 2px 8px
|
|
246
|
+
box-shadow: 0 2px 8px color-mix(in srgb, var(--c-primary, #b8860b) 30%, transparent);
|
|
245
247
|
}
|
|
246
248
|
.checkbox-check {
|
|
247
249
|
width: 14px;
|
|
248
250
|
height: 14px;
|
|
249
|
-
color: #0a0a0a;
|
|
251
|
+
color: var(--c-on-primary, #0a0a0a);
|
|
250
252
|
}
|
|
251
253
|
.checkbox-label {
|
|
252
254
|
font-size: 0.85rem;
|
|
@@ -261,8 +263,8 @@ const { title = "Forms", subtitle = "Form elements with clean animations and val
|
|
|
261
263
|
.toggle-track {
|
|
262
264
|
width: 44px;
|
|
263
265
|
height: 24px;
|
|
264
|
-
background:
|
|
265
|
-
border: 1px solid
|
|
266
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.1);
|
|
267
|
+
border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.15);
|
|
266
268
|
border-radius: var(--r-full);
|
|
267
269
|
position: relative;
|
|
268
270
|
}
|
|
@@ -274,7 +276,7 @@ const { title = "Forms", subtitle = "Form elements with clean animations and val
|
|
|
274
276
|
height: 18px;
|
|
275
277
|
background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
|
|
276
278
|
border-radius: 50%;
|
|
277
|
-
box-shadow: 0 2px 6px
|
|
279
|
+
box-shadow: 0 2px 6px color-mix(in srgb, var(--c-primary, #b8860b) 40%, transparent);
|
|
278
280
|
transition: all 0.25s ease;
|
|
279
281
|
}
|
|
280
282
|
.toggle-label {
|
|
@@ -295,9 +297,9 @@ const { title = "Forms", subtitle = "Form elements with clean animations and val
|
|
|
295
297
|
}
|
|
296
298
|
.select-display {
|
|
297
299
|
padding: 0.85rem 1rem;
|
|
298
|
-
background:
|
|
300
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.04);
|
|
299
301
|
backdrop-filter: blur(12px);
|
|
300
|
-
border: 1px solid
|
|
302
|
+
border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.1);
|
|
301
303
|
border-radius: var(--r-md);
|
|
302
304
|
display: flex;
|
|
303
305
|
align-items: center;
|
|
@@ -306,8 +308,8 @@ const { title = "Forms", subtitle = "Form elements with clean animations and val
|
|
|
306
308
|
transition: all 0.25s ease;
|
|
307
309
|
}
|
|
308
310
|
.select-display:hover {
|
|
309
|
-
border-color:
|
|
310
|
-
background:
|
|
311
|
+
border-color: color-mix(in srgb, var(--c-primary, #b8860b) 30%, transparent);
|
|
312
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.06);
|
|
311
313
|
}
|
|
312
314
|
.select-value {
|
|
313
315
|
font-size: 0.9rem;
|
|
@@ -323,7 +325,7 @@ const { title = "Forms", subtitle = "Form elements with clean animations and val
|
|
|
323
325
|
.usage-code {
|
|
324
326
|
text-align: center;
|
|
325
327
|
padding: var(--sp-4);
|
|
326
|
-
background:
|
|
328
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.02);
|
|
327
329
|
border-radius: var(--r-md);
|
|
328
330
|
}
|
|
329
331
|
.usage-code code {
|
|
@@ -332,7 +334,7 @@ const { title = "Forms", subtitle = "Form elements with clean animations and val
|
|
|
332
334
|
color: var(--c-primary-light);
|
|
333
335
|
}
|
|
334
336
|
|
|
335
|
-
@
|
|
337
|
+
@container (max-width: 640px) {
|
|
336
338
|
.form-grid {
|
|
337
339
|
grid-template-columns: 1fr;
|
|
338
340
|
gap: var(--sp-4);
|
|
@@ -40,6 +40,7 @@ const {
|
|
|
40
40
|
const id = `hdp-${Math.random().toString(36).slice(2, 8)}`;
|
|
41
41
|
---
|
|
42
42
|
|
|
43
|
+
<div class="cq-hero-dashboard-preview-cq">
|
|
43
44
|
<section class={`hdp hdp--${variant} hdp--${size} ${className}`} aria-labelledby={id}>
|
|
44
45
|
<div class="hdp__glow" aria-hidden="true"></div>
|
|
45
46
|
<div class="hdp__copy">
|
|
@@ -72,8 +73,9 @@ const id = `hdp-${Math.random().toString(36).slice(2, 8)}`;
|
|
|
72
73
|
</div>
|
|
73
74
|
</div>
|
|
74
75
|
</section>
|
|
75
|
-
|
|
76
|
+
</div>
|
|
76
77
|
<style>
|
|
78
|
+
.cq-hero-dashboard-preview-cq { container-type: inline-size; }
|
|
77
79
|
.hdp {
|
|
78
80
|
--hdp-py: 5.5rem;
|
|
79
81
|
position: relative;
|
|
@@ -131,15 +133,15 @@ const id = `hdp-${Math.random().toString(36).slice(2, 8)}`;
|
|
|
131
133
|
.hdp__btn:focus-visible { outline: 2px solid var(--c-primary-light, #d4a017); outline-offset: 3px; }
|
|
132
134
|
.hdp__btn--primary { background: var(--chart-1, #3987e5); color: #fff; }
|
|
133
135
|
.hdp__btn--primary:hover { background: #5598e7; color: #fff; }
|
|
134
|
-
.hdp__btn--ghost { color: var(--c-text-1, #fff); border: 1px solid
|
|
135
|
-
.hdp__btn--ghost:hover { border-color:
|
|
136
|
+
.hdp__btn--ghost { color: var(--c-text-1, #fff); border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.14); }
|
|
137
|
+
.hdp__btn--ghost:hover { border-color: rgb(var(--ink-rgb, 255 255 255) / 0.3); color: var(--c-text-1, #fff); }
|
|
136
138
|
|
|
137
139
|
.hdp__mock {
|
|
138
140
|
position: relative;
|
|
139
141
|
max-width: 1080px;
|
|
140
142
|
margin: 0 auto;
|
|
141
143
|
border-radius: var(--r-xl, 24px) var(--r-xl, 24px) 0 0;
|
|
142
|
-
border: 1px solid
|
|
144
|
+
border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.1);
|
|
143
145
|
border-bottom: 0;
|
|
144
146
|
background: #0a0a0c;
|
|
145
147
|
overflow: hidden;
|
|
@@ -147,7 +149,7 @@ const id = `hdp-${Math.random().toString(36).slice(2, 8)}`;
|
|
|
147
149
|
}
|
|
148
150
|
.hdp--floating .hdp__mock {
|
|
149
151
|
border-radius: var(--r-xl, 24px);
|
|
150
|
-
border-bottom: 1px solid
|
|
152
|
+
border-bottom: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.1);
|
|
151
153
|
margin-bottom: var(--hdp-py);
|
|
152
154
|
mask-image: none;
|
|
153
155
|
transform: perspective(1600px) rotateX(8deg);
|
|
@@ -159,20 +161,20 @@ const id = `hdp-${Math.random().toString(36).slice(2, 8)}`;
|
|
|
159
161
|
align-items: center;
|
|
160
162
|
gap: 0.45rem;
|
|
161
163
|
padding: 0.8rem 1rem;
|
|
162
|
-
border-bottom: 1px solid
|
|
164
|
+
border-bottom: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.06);
|
|
163
165
|
}
|
|
164
|
-
.hdp__chrome span { width: 10px; height: 10px; border-radius: 50%; background:
|
|
166
|
+
.hdp__chrome span { width: 10px; height: 10px; border-radius: 50%; background: rgb(var(--ink-rgb, 255 255 255) / 0.12); }
|
|
165
167
|
.hdp__chrome p {
|
|
166
168
|
margin: 0 auto;
|
|
167
169
|
padding: 0.25rem 1rem;
|
|
168
170
|
border-radius: 6px;
|
|
169
|
-
background:
|
|
171
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.04);
|
|
170
172
|
font-size: 0.75rem;
|
|
171
173
|
color: var(--c-text-3, #737373);
|
|
172
174
|
}
|
|
173
175
|
.hdp__screen { display: grid; gap: 1rem; padding: 1.25rem; }
|
|
174
176
|
.hdp__kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
|
|
175
|
-
@
|
|
177
|
+
@container (max-width: 760px) {
|
|
176
178
|
.hdp__kpis { grid-template-columns: 1fr; }
|
|
177
179
|
.hdp__kpis > :global(*:nth-child(n + 2)) { display: none; }
|
|
178
180
|
.hdp--floating .hdp__mock { transform: none; }
|
|
@@ -11,6 +11,7 @@ const {
|
|
|
11
11
|
} = Astro.props;
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
+
<div class="cq-hero-glass-cq">
|
|
14
15
|
<section class="hero-glass">
|
|
15
16
|
<div class="hero-glass__bg" aria-hidden="true">
|
|
16
17
|
<div class="hero-glass__orb hero-glass__orb--1"></div>
|
|
@@ -44,8 +45,9 @@ const {
|
|
|
44
45
|
</div>
|
|
45
46
|
</div>
|
|
46
47
|
</section>
|
|
47
|
-
|
|
48
|
+
</div>
|
|
48
49
|
<style>
|
|
50
|
+
.cq-hero-glass-cq { container-type: inline-size; }
|
|
49
51
|
.hero-glass {
|
|
50
52
|
position: relative;
|
|
51
53
|
min-height: 90vh;
|
|
@@ -58,9 +60,9 @@ const {
|
|
|
58
60
|
.hero-glass__bg {
|
|
59
61
|
position: absolute;
|
|
60
62
|
inset: 0;
|
|
61
|
-
background: radial-gradient(ellipse at 20% 50%,
|
|
62
|
-
radial-gradient(ellipse at 80% 20%,
|
|
63
|
-
radial-gradient(ellipse at 50% 80%,
|
|
63
|
+
background: radial-gradient(ellipse at 20% 50%, color-mix(in srgb, var(--c-primary, #b8860b) 12%, transparent) 0%, transparent 50%),
|
|
64
|
+
radial-gradient(ellipse at 80% 20%, color-mix(in srgb, var(--c-primary, #b8860b) 8%, transparent) 0%, transparent 50%),
|
|
65
|
+
radial-gradient(ellipse at 50% 80%, color-mix(in srgb, var(--c-primary, #b8860b) 6%, transparent) 0%, transparent 50%);
|
|
64
66
|
}
|
|
65
67
|
.hero-glass__orb {
|
|
66
68
|
position: absolute;
|
|
@@ -71,18 +73,18 @@ const {
|
|
|
71
73
|
.hero-glass__orb--1 {
|
|
72
74
|
width: 400px; height: 400px;
|
|
73
75
|
top: 10%; left: 15%;
|
|
74
|
-
background:
|
|
76
|
+
background: color-mix(in srgb, var(--c-primary, #b8860b) 15%, transparent);
|
|
75
77
|
}
|
|
76
78
|
.hero-glass__orb--2 {
|
|
77
79
|
width: 300px; height: 300px;
|
|
78
80
|
top: 40%; right: 10%;
|
|
79
|
-
background:
|
|
81
|
+
background: color-mix(in srgb, var(--c-primary, #b8860b) 10%, transparent);
|
|
80
82
|
animation-delay: 2s;
|
|
81
83
|
}
|
|
82
84
|
.hero-glass__orb--3 {
|
|
83
85
|
width: 250px; height: 250px;
|
|
84
86
|
bottom: 15%; left: 40%;
|
|
85
|
-
background:
|
|
87
|
+
background: color-mix(in srgb, var(--c-primary, #b8860b) 8%, transparent);
|
|
86
88
|
animation-delay: 4s;
|
|
87
89
|
}
|
|
88
90
|
@keyframes orbFloat {
|
|
@@ -99,10 +101,10 @@ const {
|
|
|
99
101
|
background: rgba(10, 10, 10, 0.6);
|
|
100
102
|
backdrop-filter: blur(24px);
|
|
101
103
|
-webkit-backdrop-filter: blur(24px);
|
|
102
|
-
border: 1px solid
|
|
104
|
+
border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.1);
|
|
103
105
|
border-radius: var(--r-xl);
|
|
104
106
|
box-shadow: 0 24px 80px rgba(0,0,0,0.5),
|
|
105
|
-
inset 0 1px 0
|
|
107
|
+
inset 0 1px 0 rgb(var(--ink-rgb, 255 255 255) / 0.05);
|
|
106
108
|
display: flex;
|
|
107
109
|
flex-direction: column;
|
|
108
110
|
align-items: center;
|
|
@@ -146,22 +148,22 @@ const {
|
|
|
146
148
|
}
|
|
147
149
|
.hero-glass__btn--primary {
|
|
148
150
|
background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
|
|
149
|
-
color: #0a0a0a;
|
|
151
|
+
color: var(--c-on-primary, #0a0a0a);
|
|
150
152
|
border: none;
|
|
151
|
-
box-shadow: 0 4px 20px
|
|
153
|
+
box-shadow: 0 4px 20px color-mix(in srgb, var(--c-primary, #b8860b) 30%, transparent);
|
|
152
154
|
}
|
|
153
155
|
.hero-glass__btn--primary:hover {
|
|
154
156
|
transform: translateY(-2px);
|
|
155
|
-
box-shadow: 0 8px 30px
|
|
157
|
+
box-shadow: 0 8px 30px color-mix(in srgb, var(--c-primary, #b8860b) 45%, transparent);
|
|
156
158
|
}
|
|
157
159
|
.hero-glass__btn--secondary {
|
|
158
|
-
background:
|
|
160
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.05);
|
|
159
161
|
color: var(--c-text-1);
|
|
160
|
-
border: 1px solid
|
|
162
|
+
border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.12);
|
|
161
163
|
}
|
|
162
164
|
.hero-glass__btn--secondary:hover {
|
|
163
|
-
background:
|
|
164
|
-
border-color:
|
|
165
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.1);
|
|
166
|
+
border-color: color-mix(in srgb, var(--c-primary, #b8860b) 30%, transparent);
|
|
165
167
|
transform: translateY(-2px);
|
|
166
168
|
}
|
|
167
169
|
.hero-glass__trust {
|
|
@@ -171,14 +173,14 @@ const {
|
|
|
171
173
|
font-size: 0.8rem;
|
|
172
174
|
color: var(--c-text-3);
|
|
173
175
|
padding-top: var(--sp-3);
|
|
174
|
-
border-top: 1px solid
|
|
176
|
+
border-top: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.06);
|
|
175
177
|
}
|
|
176
178
|
.hero-glass__avatars { display: flex; }
|
|
177
179
|
.hero-glass__avatar {
|
|
178
180
|
width: 28px; height: 28px;
|
|
179
181
|
border-radius: 50%;
|
|
180
182
|
background: linear-gradient(135deg, var(--c-primary), var(--c-primary-light));
|
|
181
|
-
color: #0a0a0a;
|
|
183
|
+
color: var(--c-on-primary, #0a0a0a);
|
|
182
184
|
display: flex;
|
|
183
185
|
align-items: center;
|
|
184
186
|
justify-content: center;
|
|
@@ -189,11 +191,11 @@ const {
|
|
|
189
191
|
}
|
|
190
192
|
.hero-glass__avatar:first-child { margin-left: 0; }
|
|
191
193
|
.hero-glass__avatar--more {
|
|
192
|
-
background:
|
|
194
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.1);
|
|
193
195
|
color: var(--c-text-3);
|
|
194
196
|
}
|
|
195
197
|
|
|
196
|
-
@
|
|
198
|
+
@container (max-width: 640px) {
|
|
197
199
|
.hero-glass { min-height: 75vh; padding: var(--sp-8) var(--sp-4); }
|
|
198
200
|
.hero-glass__card { padding: var(--sp-6); }
|
|
199
201
|
.hero-glass__actions { flex-direction: column; width: 100%; max-width: 260px; }
|
|
@@ -11,6 +11,7 @@ const {
|
|
|
11
11
|
} = Astro.props;
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
+
<div class="cq-hero-gradient-cq">
|
|
14
15
|
<section class="hero-gradient">
|
|
15
16
|
<div class="hero-gradient__bg" aria-hidden="true"></div>
|
|
16
17
|
<div class="hero-gradient__content">
|
|
@@ -29,8 +30,9 @@ const {
|
|
|
29
30
|
</div>
|
|
30
31
|
</div>
|
|
31
32
|
</section>
|
|
32
|
-
|
|
33
|
+
</div>
|
|
33
34
|
<style>
|
|
35
|
+
.cq-hero-gradient-cq { container-type: inline-size; }
|
|
34
36
|
.hero-gradient {
|
|
35
37
|
position: relative;
|
|
36
38
|
min-height: 90vh;
|
|
@@ -45,10 +47,10 @@ const {
|
|
|
45
47
|
inset: 0;
|
|
46
48
|
background: linear-gradient(
|
|
47
49
|
135deg,
|
|
48
|
-
|
|
50
|
+
color-mix(in srgb, var(--c-primary, #b8860b) 25%, transparent) 0%,
|
|
49
51
|
transparent 40%,
|
|
50
52
|
transparent 60%,
|
|
51
|
-
|
|
53
|
+
color-mix(in srgb, var(--c-primary, #b8860b) 15%, transparent) 100%
|
|
52
54
|
);
|
|
53
55
|
animation: gradientShift 8s ease-in-out infinite alternate;
|
|
54
56
|
}
|
|
@@ -74,8 +76,8 @@ const {
|
|
|
74
76
|
text-transform: uppercase;
|
|
75
77
|
letter-spacing: 0.08em;
|
|
76
78
|
color: var(--c-primary-light);
|
|
77
|
-
background:
|
|
78
|
-
border: 1px solid
|
|
79
|
+
background: color-mix(in srgb, var(--c-primary, #b8860b) 12%, transparent);
|
|
80
|
+
border: 1px solid color-mix(in srgb, var(--c-primary, #b8860b) 30%, transparent);
|
|
79
81
|
border-radius: var(--r-full);
|
|
80
82
|
}
|
|
81
83
|
.hero-gradient__title {
|
|
@@ -116,26 +118,26 @@ const {
|
|
|
116
118
|
}
|
|
117
119
|
.hero-btn--primary {
|
|
118
120
|
background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
|
|
119
|
-
color: #0a0a0a;
|
|
120
|
-
box-shadow: 0 4px 24px
|
|
121
|
+
color: var(--c-on-primary, #0a0a0a);
|
|
122
|
+
box-shadow: 0 4px 24px color-mix(in srgb, var(--c-primary, #b8860b) 30%, transparent);
|
|
121
123
|
}
|
|
122
124
|
.hero-btn--primary:hover {
|
|
123
125
|
transform: translateY(-2px);
|
|
124
|
-
box-shadow: 0 8px 32px
|
|
126
|
+
box-shadow: 0 8px 32px color-mix(in srgb, var(--c-primary, #b8860b) 45%, transparent);
|
|
125
127
|
}
|
|
126
128
|
.hero-btn--glass {
|
|
127
|
-
background:
|
|
129
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.05);
|
|
128
130
|
backdrop-filter: blur(12px);
|
|
129
131
|
color: var(--c-text-1);
|
|
130
|
-
border: 1px solid
|
|
132
|
+
border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.12);
|
|
131
133
|
}
|
|
132
134
|
.hero-btn--glass:hover {
|
|
133
|
-
background:
|
|
134
|
-
border-color:
|
|
135
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.1);
|
|
136
|
+
border-color: color-mix(in srgb, var(--c-primary, #b8860b) 30%, transparent);
|
|
135
137
|
transform: translateY(-2px);
|
|
136
138
|
}
|
|
137
139
|
|
|
138
|
-
@
|
|
140
|
+
@container (max-width: 640px) {
|
|
139
141
|
.hero-gradient { min-height: 70vh; padding: var(--sp-8) var(--sp-4); }
|
|
140
142
|
.hero-gradient__actions { flex-direction: column; width: 100%; max-width: 280px; }
|
|
141
143
|
.hero-btn { width: 100%; justify-content: center; }
|
|
@@ -89,13 +89,13 @@ const parts = title.split(/\*(.+?)\*/);
|
|
|
89
89
|
.hmc__bg { position: absolute; inset: 0; pointer-events: none; }
|
|
90
90
|
.hmc--glow .hmc__bg {
|
|
91
91
|
background:
|
|
92
|
-
radial-gradient(ellipse 60% 50% at 50% 0%, var(--c-primary-glow,
|
|
92
|
+
radial-gradient(ellipse 60% 50% at 50% 0%, var(--c-primary-glow, color-mix(in srgb, var(--c-primary, #b8860b) 14%, transparent)), transparent 70%),
|
|
93
93
|
radial-gradient(ellipse 40% 30% at 50% 100%, rgba(57, 135, 229, 0.08), transparent 70%);
|
|
94
94
|
}
|
|
95
95
|
.hmc--grid .hmc__bg {
|
|
96
96
|
background-image:
|
|
97
|
-
linear-gradient(
|
|
98
|
-
linear-gradient(90deg,
|
|
97
|
+
linear-gradient(rgb(var(--ink-rgb, 255 255 255) / 0.04) 1px, transparent 1px),
|
|
98
|
+
linear-gradient(90deg, rgb(var(--ink-rgb, 255 255 255) / 0.04) 1px, transparent 1px);
|
|
99
99
|
background-size: 48px 48px;
|
|
100
100
|
mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000, transparent);
|
|
101
101
|
}
|
|
@@ -107,14 +107,14 @@ const parts = title.split(/\*(.+?)\*/);
|
|
|
107
107
|
min-height: 36px;
|
|
108
108
|
padding: 0.35rem 0.9rem;
|
|
109
109
|
border-radius: var(--r-full, 999px);
|
|
110
|
-
border: 1px solid var(--c-border,
|
|
111
|
-
background:
|
|
110
|
+
border: 1px solid var(--c-border, rgb(var(--ink-rgb, 255 255 255) / 0.08));
|
|
111
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.03);
|
|
112
112
|
color: var(--c-text-2, #a3a3a3);
|
|
113
113
|
font-size: 0.8125rem;
|
|
114
114
|
text-decoration: none;
|
|
115
115
|
transition: border-color 0.2s ease, color 0.2s ease;
|
|
116
116
|
}
|
|
117
|
-
.hmc__pill:hover { border-color:
|
|
117
|
+
.hmc__pill:hover { border-color: rgb(var(--ink-rgb, 255 255 255) / 0.2); color: var(--c-text-1, #fff); }
|
|
118
118
|
.hmc__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--c-primary-light, #d4a017); box-shadow: 0 0 10px var(--c-primary-light, #d4a017); }
|
|
119
119
|
.hmc__title {
|
|
120
120
|
margin: 1.75rem 0 1.25rem;
|
|
@@ -154,10 +154,10 @@ const parts = title.split(/\*(.+?)\*/);
|
|
|
154
154
|
}
|
|
155
155
|
.hmc__btn:hover { transform: translateY(-1px); }
|
|
156
156
|
.hmc__btn:focus-visible, .hmc__pill:focus-visible { outline: 2px solid var(--c-primary-light, #d4a017); outline-offset: 3px; }
|
|
157
|
-
.hmc__btn--primary { background: var(--c-primary-light, #d4a017); color: #0a0a0a; }
|
|
158
|
-
.hmc__btn--primary:hover { background: var(--c-accent, #fef3c7); color: #0a0a0a; }
|
|
159
|
-
.hmc__btn--ghost { border: 1px solid
|
|
160
|
-
.hmc__btn--ghost:hover { border-color:
|
|
157
|
+
.hmc__btn--primary { background: var(--c-primary-light, #d4a017); color: var(--c-on-primary, #0a0a0a); }
|
|
158
|
+
.hmc__btn--primary:hover { background: var(--c-accent, #fef3c7); color: var(--c-on-primary, #0a0a0a); }
|
|
159
|
+
.hmc__btn--ghost { border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.14); color: var(--c-text-1, #fff); }
|
|
160
|
+
.hmc__btn--ghost:hover { border-color: rgb(var(--ink-rgb, 255 255 255) / 0.32); color: var(--c-text-1, #fff); }
|
|
161
161
|
.hmc__trust {
|
|
162
162
|
display: flex;
|
|
163
163
|
flex-wrap: wrap;
|
|
@@ -31,6 +31,7 @@ const {
|
|
|
31
31
|
} = Astro.props;
|
|
32
32
|
---
|
|
33
33
|
|
|
34
|
+
<div class="cq-hero-showcase-split-cq">
|
|
34
35
|
<section class="split-hero">
|
|
35
36
|
<div class="split-hero__inner">
|
|
36
37
|
<div class="split-hero__content">
|
|
@@ -84,8 +85,9 @@ const {
|
|
|
84
85
|
</div>
|
|
85
86
|
</div>
|
|
86
87
|
</section>
|
|
87
|
-
|
|
88
|
+
</div>
|
|
88
89
|
<style>
|
|
90
|
+
.cq-hero-showcase-split-cq { container-type: inline-size; }
|
|
89
91
|
.split-hero {
|
|
90
92
|
position: relative;
|
|
91
93
|
padding: 6rem 1.5rem;
|
|
@@ -114,8 +116,8 @@ const {
|
|
|
114
116
|
align-items: center;
|
|
115
117
|
gap: 8px;
|
|
116
118
|
padding: 0.35rem 0.85rem;
|
|
117
|
-
background:
|
|
118
|
-
border: 1px solid
|
|
119
|
+
background: color-mix(in srgb, var(--c-primary, #b8860b) 12%, transparent);
|
|
120
|
+
border: 1px solid color-mix(in srgb, var(--c-primary, #b8860b) 35%, transparent);
|
|
119
121
|
border-radius: var(--r-full, 9999px);
|
|
120
122
|
font-size: 0.75rem;
|
|
121
123
|
font-weight: 800;
|
|
@@ -171,22 +173,22 @@ const {
|
|
|
171
173
|
.btn--primary {
|
|
172
174
|
background: linear-gradient(135deg, #d4a017, #b8860b);
|
|
173
175
|
color: #050505;
|
|
174
|
-
box-shadow: 0 4px 20px
|
|
176
|
+
box-shadow: 0 4px 20px color-mix(in srgb, var(--c-primary, #b8860b) 35%, transparent);
|
|
175
177
|
}
|
|
176
178
|
.btn--primary:hover {
|
|
177
179
|
transform: translateY(-2px);
|
|
178
|
-
box-shadow: 0 8px 30px
|
|
180
|
+
box-shadow: 0 8px 30px color-mix(in srgb, var(--c-primary, #b8860b) 50%, transparent);
|
|
179
181
|
}
|
|
180
182
|
|
|
181
183
|
.btn--secondary {
|
|
182
|
-
background:
|
|
184
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.04);
|
|
183
185
|
backdrop-filter: blur(12px);
|
|
184
|
-
border: 1px solid
|
|
186
|
+
border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.1);
|
|
185
187
|
color: var(--c-text-1, #ffffff);
|
|
186
188
|
}
|
|
187
189
|
.btn--secondary:hover {
|
|
188
|
-
background:
|
|
189
|
-
border-color:
|
|
190
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.08);
|
|
191
|
+
border-color: rgb(var(--ink-rgb, 255 255 255) / 0.2);
|
|
190
192
|
transform: translateY(-2px);
|
|
191
193
|
}
|
|
192
194
|
|
|
@@ -196,7 +198,7 @@ const {
|
|
|
196
198
|
gap: 10px;
|
|
197
199
|
padding: 0.6rem 1.1rem;
|
|
198
200
|
background: rgba(0, 0, 0, 0.4);
|
|
199
|
-
border: 1px solid
|
|
201
|
+
border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.08);
|
|
200
202
|
border-radius: var(--r-md, 10px);
|
|
201
203
|
font-family: var(--font-mono, monospace);
|
|
202
204
|
font-size: 0.85rem;
|
|
@@ -211,7 +213,7 @@ const {
|
|
|
211
213
|
.glass-device {
|
|
212
214
|
background: rgba(14, 14, 18, 0.85);
|
|
213
215
|
backdrop-filter: blur(24px);
|
|
214
|
-
border: 1px solid
|
|
216
|
+
border: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.12);
|
|
215
217
|
border-radius: var(--r-xl, 24px);
|
|
216
218
|
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6);
|
|
217
219
|
overflow: hidden;
|
|
@@ -223,7 +225,7 @@ const {
|
|
|
223
225
|
gap: 6px;
|
|
224
226
|
padding: 0.8rem 1rem;
|
|
225
227
|
background: rgba(0, 0, 0, 0.3);
|
|
226
|
-
border-bottom: 1px solid
|
|
228
|
+
border-bottom: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.06);
|
|
227
229
|
}
|
|
228
230
|
|
|
229
231
|
.d-dot { width: 10px; height: 10px; border-radius: 50%; }
|
|
@@ -252,8 +254,8 @@ const {
|
|
|
252
254
|
|
|
253
255
|
.mock-icon {
|
|
254
256
|
font-size: 2.5rem;
|
|
255
|
-
background:
|
|
256
|
-
border: 1px solid
|
|
257
|
+
background: color-mix(in srgb, var(--c-primary, #b8860b) 15%, transparent);
|
|
258
|
+
border: 1px solid color-mix(in srgb, var(--c-primary, #b8860b) 30%, transparent);
|
|
257
259
|
width: 64px;
|
|
258
260
|
height: 64px;
|
|
259
261
|
border-radius: 50%;
|
|
@@ -280,7 +282,7 @@ const {
|
|
|
280
282
|
gap: 24px;
|
|
281
283
|
margin-top: 1rem;
|
|
282
284
|
padding-top: 1rem;
|
|
283
|
-
border-top: 1px solid
|
|
285
|
+
border-top: 1px solid rgb(var(--ink-rgb, 255 255 255) / 0.08);
|
|
284
286
|
width: 100%;
|
|
285
287
|
justify-content: center;
|
|
286
288
|
}
|
|
@@ -295,7 +297,7 @@ const {
|
|
|
295
297
|
.mock-metrics span { font-size: 0.7rem; color: var(--c-text-3, #737373); text-transform: uppercase; }
|
|
296
298
|
.mock-metrics strong { font-size: 1.1rem; color: var(--c-primary-light, #d4a017); }
|
|
297
299
|
|
|
298
|
-
@
|
|
300
|
+
@container (max-width: 900px) {
|
|
299
301
|
.split-hero__inner {
|
|
300
302
|
grid-template-columns: 1fr;
|
|
301
303
|
gap: 3rem;
|
|
@@ -11,6 +11,7 @@ const {
|
|
|
11
11
|
} = Astro.props;
|
|
12
12
|
---
|
|
13
13
|
|
|
14
|
+
<div class="cq-hero-split-cq">
|
|
14
15
|
<section class="hero-split">
|
|
15
16
|
<div class="hero-split__content">
|
|
16
17
|
<span class="hero-split__badge">Open Source · MIT</span>
|
|
@@ -57,8 +58,9 @@ const {
|
|
|
57
58
|
</div>
|
|
58
59
|
</div>
|
|
59
60
|
</section>
|
|
60
|
-
|
|
61
|
+
</div>
|
|
61
62
|
<style>
|
|
63
|
+
.cq-hero-split-cq { container-type: inline-size; }
|
|
62
64
|
.hero-split {
|
|
63
65
|
display: grid;
|
|
64
66
|
grid-template-columns: 1fr 1fr;
|
|
@@ -83,8 +85,8 @@ const {
|
|
|
83
85
|
text-transform: uppercase;
|
|
84
86
|
letter-spacing: 0.1em;
|
|
85
87
|
color: var(--c-primary-light);
|
|
86
|
-
background:
|
|
87
|
-
border: 1px solid
|
|
88
|
+
background: color-mix(in srgb, var(--c-primary, #b8860b) 10%, transparent);
|
|
89
|
+
border: 1px solid color-mix(in srgb, var(--c-primary, #b8860b) 25%, transparent);
|
|
88
90
|
border-radius: var(--r-full);
|
|
89
91
|
}
|
|
90
92
|
.hero-split__title {
|
|
@@ -122,13 +124,13 @@ const {
|
|
|
122
124
|
}
|
|
123
125
|
.hero-split__btn--primary {
|
|
124
126
|
background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
|
|
125
|
-
color: #0a0a0a;
|
|
127
|
+
color: var(--c-on-primary, #0a0a0a);
|
|
126
128
|
border: none;
|
|
127
|
-
box-shadow: 0 4px 20px
|
|
129
|
+
box-shadow: 0 4px 20px color-mix(in srgb, var(--c-primary, #b8860b) 25%, transparent);
|
|
128
130
|
}
|
|
129
131
|
.hero-split__btn--primary:hover {
|
|
130
132
|
transform: translateY(-2px);
|
|
131
|
-
box-shadow: 0 8px 30px
|
|
133
|
+
box-shadow: 0 8px 30px color-mix(in srgb, var(--c-primary, #b8860b) 40%, transparent);
|
|
132
134
|
}
|
|
133
135
|
.hero-split__btn--ghost {
|
|
134
136
|
background: transparent;
|
|
@@ -168,7 +170,7 @@ const {
|
|
|
168
170
|
max-width: 500px;
|
|
169
171
|
}
|
|
170
172
|
.hero-split__mock-card {
|
|
171
|
-
background:
|
|
173
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.03);
|
|
172
174
|
border: 1px solid var(--c-border);
|
|
173
175
|
border-radius: var(--r-lg);
|
|
174
176
|
overflow: hidden;
|
|
@@ -178,7 +180,7 @@ const {
|
|
|
178
180
|
.hero-split__mock-line {
|
|
179
181
|
height: 8px;
|
|
180
182
|
border-radius: 4px;
|
|
181
|
-
background:
|
|
183
|
+
background: rgb(var(--ink-rgb, 255 255 255) / 0.06);
|
|
182
184
|
margin-bottom: var(--sp-3);
|
|
183
185
|
}
|
|
184
186
|
.hero-split__mock-line--wide { width: 80%; }
|
|
@@ -193,11 +195,11 @@ const {
|
|
|
193
195
|
.hero-split__mock-box {
|
|
194
196
|
height: 60px;
|
|
195
197
|
border-radius: var(--r-sm);
|
|
196
|
-
background:
|
|
197
|
-
border: 1px solid
|
|
198
|
+
background: color-mix(in srgb, var(--c-primary, #b8860b) 8%, transparent);
|
|
199
|
+
border: 1px solid color-mix(in srgb, var(--c-primary, #b8860b) 15%, transparent);
|
|
198
200
|
}
|
|
199
201
|
|
|
200
|
-
@
|
|
202
|
+
@container (max-width: 768px) {
|
|
201
203
|
.hero-split {
|
|
202
204
|
grid-template-columns: 1fr;
|
|
203
205
|
gap: var(--sp-8);
|