feat(stripe): add /mo recurring subscription for developer growth support (v17)

This commit is contained in:
2026-09-12 10:17:01 -07:00
parent 263d22ce04
commit d9b8b80eee
3 changed files with 202 additions and 22 deletions
+152 -1
View File
@@ -3269,7 +3269,158 @@ body {
font-size: 0.92rem;
line-height: 1.6;
color: var(--text-muted);
margin-bottom: 24px;
margin-bottom: 20px;
}
/* Monthly Subscription Banner */
.monthly-sub-banner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(6, 182, 212, 0.15), rgba(15, 23, 42, 0.9));
border: 1.5px solid rgba(16, 185, 129, 0.45);
border-radius: 18px;
padding: 22px 24px;
text-decoration: none;
color: inherit;
margin-bottom: 22px;
box-shadow: 0 8px 30px rgba(16, 185, 129, 0.15), 0 0 20px rgba(6, 182, 212, 0.1);
transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
position: relative;
overflow: hidden;
}
.monthly-sub-banner:hover {
transform: translateY(-3px);
border-color: #10b981;
box-shadow: 0 14px 36px rgba(16, 185, 129, 0.25), 0 0 25px rgba(6, 182, 212, 0.2);
}
.monthly-badge {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(16, 185, 129, 0.2);
border: 1px solid #10b981;
color: #34d399;
font-size: 0.7rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.06em;
padding: 3px 10px;
border-radius: 9999px;
margin-bottom: 8px;
}
.pulse-sub-dot {
width: 7px;
height: 7px;
border-radius: 50%;
background: #10b981;
box-shadow: 0 0 8px #10b981;
animation: pulseGps 1.8s infinite;
}
.monthly-title {
font-family: var(--font-heading);
font-size: 1.35rem;
font-weight: 800;
color: #ffffff;
margin-bottom: 6px;
}
.monthly-desc {
font-size: 0.82rem;
color: #94a3b8;
line-height: 1.5;
max-width: 460px;
}
.monthly-sub-right {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 10px;
flex-shrink: 0;
}
.monthly-price-wrap {
display: flex;
align-items: baseline;
gap: 4px;
}
.monthly-price {
font-family: var(--font-heading);
font-size: 2.3rem;
font-weight: 800;
color: #ffffff;
line-height: 1;
}
.monthly-cadence {
font-size: 0.85rem;
color: #6ee7b7;
font-weight: 700;
}
.btn-subscribe-monthly {
display: inline-flex;
align-items: center;
gap: 8px;
background: linear-gradient(135deg, #10b981, #059669);
color: #ffffff;
font-weight: 700;
font-size: 0.9rem;
padding: 11px 20px;
border-radius: 12px;
box-shadow: 0 4px 16px rgba(16, 185, 129, 0.4);
transition: all 0.2s ease;
white-space: nowrap;
}
.monthly-sub-banner:hover .btn-subscribe-monthly {
background: linear-gradient(135deg, #34d399, #10b981);
box-shadow: 0 6px 22px rgba(16, 185, 129, 0.6);
transform: scale(1.02);
}
.support-divider {
display: flex;
align-items: center;
text-align: center;
margin: 18px 0 20px;
color: #64748b;
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.support-divider::before,
.support-divider::after {
content: '';
flex: 1;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.support-divider span {
padding: 0 14px;
}
@media (max-width: 680px) {
.monthly-sub-banner {
flex-direction: column;
align-items: stretch;
gap: 16px;
}
.monthly-sub-right {
align-items: stretch;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
}
.support-tiers-grid {