- New TinaCMS collection 'pages' with 15 block templates: Hero, TextBlock, TwoColumn, Features, Stats, Testimonials, Team, FAQ, CTABanner, Video, Gallery, Pricing, Timeline, Divider, ContactForm - Each page has published toggle (unpublished → 404) - Route /p/:slug renders dynamic pages from content/pages/*.json - scripts/copy-pages.mjs copies content/pages → public/pages at build - prerender.mjs extended to prerender published pages - All blocks styled with design tokens + Framer Motion animations Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
102 lines
1.7 KiB
CSS
102 lines
1.7 KiB
CSS
.block-pricing {
|
|
padding: 80px 24px;
|
|
}
|
|
|
|
.block-pricing-inner {
|
|
max-width: 1100px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.block-pricing-title {
|
|
font-size: 2.2rem;
|
|
font-weight: 700;
|
|
color: var(--light-grey-100);
|
|
text-align: center;
|
|
margin-bottom: 48px;
|
|
}
|
|
|
|
.block-pricing-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
|
|
gap: 24px;
|
|
align-items: start;
|
|
}
|
|
|
|
.block-pricing-card {
|
|
background: rgba(35, 48, 56, 0.8);
|
|
border: 1px solid rgba(211, 221, 222, 0.1);
|
|
border-radius: 16px;
|
|
padding: 36px;
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.block-pricing-card--highlighted {
|
|
border: 2px solid var(--orange-100);
|
|
background: rgba(255, 91, 4, 0.05);
|
|
}
|
|
|
|
.block-pricing-badge {
|
|
position: absolute;
|
|
top: -12px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
background: var(--orange-100);
|
|
color: white;
|
|
font-size: 0.75rem;
|
|
font-weight: 700;
|
|
padding: 4px 16px;
|
|
border-radius: 20px;
|
|
}
|
|
|
|
.block-pricing-name {
|
|
font-size: 1.2rem;
|
|
font-weight: 700;
|
|
color: var(--light-grey-100);
|
|
margin-bottom: 16px;
|
|
}
|
|
|
|
.block-pricing-price {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 4px;
|
|
margin-bottom: 24px;
|
|
}
|
|
|
|
.block-pricing-amount {
|
|
font-size: 2.5rem;
|
|
font-weight: 800;
|
|
color: var(--orange-100);
|
|
}
|
|
|
|
.block-pricing-period {
|
|
font-size: 1rem;
|
|
color: var(--light-grey-100);
|
|
opacity: 0.6;
|
|
}
|
|
|
|
.block-pricing-features {
|
|
list-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
|
|
.block-pricing-features li {
|
|
color: var(--light-grey-100);
|
|
opacity: 0.85;
|
|
font-size: 0.9rem;
|
|
padding-left: 24px;
|
|
position: relative;
|
|
}
|
|
|
|
.block-pricing-features li::before {
|
|
content: '✓';
|
|
position: absolute;
|
|
left: 0;
|
|
font-weight: 700;
|
|
color: #0a7a82;
|
|
}
|