.formation-page { min-height: 100vh; background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%); padding-top: 80px; color: var(--text-primary); } /* Hero Section */ .hero-section { padding: var(--space-4xl) 0 var(--space-2xl); text-align: center; } .hero-title { font-size: var(--font-size-5xl); font-weight: var(--font-weight-extrabold); color: var(--text-primary); margin-bottom: var(--space-md); text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .hero-subtitle { font-size: var(--font-size-xl); color: var(--text-secondary); margin-bottom: var(--space-3xl); max-width: 600px; margin-left: auto; margin-right: auto; line-height: var(--line-height-relaxed); } /* Billing Toggle */ .billing-toggle { display: flex; align-items: center; justify-content: center; gap: var(--space-md); margin-bottom: var(--space-2xl); background: var(--bg-tertiary); padding: var(--space-md) var(--space-2xl); border-radius: var(--border-radius-full); border: var(--border-width) solid var(--border-color); display: inline-flex; box-shadow: var(--shadow-md); } .billing-toggle span { color: var(--text-secondary); font-weight: var(--font-weight-medium); transition: var(--transition-normal); } .billing-toggle span.active { color: var(--text-primary); font-weight: var(--font-weight-semibold); } .discount-badge { background: var(--color-success); color: var(--text-inverse); padding: var(--space-xs) var(--space-sm); border-radius: var(--border-radius-md); font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); margin-left: var(--space-sm); } /* Toggle Switch */ .toggle-switch { position: relative; display: inline-block; width: 60px; height: 30px; } .toggle-switch input { opacity: 0; width: 0; height: 0; } .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: var(--color-gray-300); transition: var(--transition-normal); border-radius: 30px; } .dark .slider { background-color: var(--color-gray-600); } .slider:before { position: absolute; content: ''; height: 22px; width: 22px; left: 4px; bottom: 4px; background-color: var(--bg-primary); transition: var(--transition-normal); border-radius: 50%; } input:checked + .slider { background-color: var(--color-primary); } input:checked + .slider:before { transform: translateX(30px); } /* Pricing Section */ .pricing-section { padding: var(--space-2xl) 0 var(--space-4xl); } .pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-xl); max-width: 1600px; margin: 0 auto; padding: 0 var(--space-md); align-items: stretch; } /* Pricing Cards */ .pricing-card { background: var(--bg-primary); border-radius: var(--border-radius-2xl); padding: var(--space-2xl); position: relative; box-shadow: var(--shadow-xl); transition: var(--transition-normal); border: 2px solid transparent; display: flex; flex-direction: column; height: 100%; min-width: 0; } .pricing-card:hover { transform: translateY(-10px); box-shadow: var(--shadow-2xl); } .pricing-card.popular { border-color: var(--color-primary); transform: scale(1.05); box-shadow: 0 25px 50px rgba(133, 203, 133, 0.2); } .dark .pricing-card.popular { box-shadow: 0 25px 50px rgba(163, 214, 163, 0.2); } .pricing-card.popular:hover { transform: scale(1.05) translateY(-10px); } .popular-badge { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark)); color: var(--text-inverse); padding: var(--space-sm) var(--space-lg); border-radius: 25px; font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); box-shadow: 0 4px 12px rgba(133, 203, 133, 0.3); } .dark .popular-badge { box-shadow: 0 4px 12px rgba(163, 214, 163, 0.3); } /* Card Header */ .card-header { text-align: center; margin-bottom: var(--space-2xl); } .plan-name { font-size: var(--font-size-2xl); font-weight: var(--font-weight-bold); color: var(--text-primary); margin-bottom: var(--space-md); } .plan-price { display: flex; align-items: baseline; justify-content: center; margin-bottom: var(--space-md); } .currency { font-size: var(--font-size-xl); font-weight: var(--font-weight-semibold); color: var(--text-secondary); } .amount { font-size: var(--font-size-5xl); font-weight: var(--font-weight-bold); color: var(--text-primary); margin: 0 var(--space-xs); } .period { font-size: var(--font-size-base); color: var(--text-secondary); } .plan-description { color: var(--text-secondary); line-height: var(--line-height-relaxed); margin-bottom: 0; } /* Card Body */ .card-body { flex: 1; display: flex; flex-direction: column; } /* Features List */ .features-list { list-style: none; padding: 0; margin: 0 0 var(--space-lg) 0; flex: 1; } .feature-item { display: flex; align-items: center; padding: var(--space-md) 0; border-bottom: var(--border-width) solid var(--border-color); } .feature-item:last-child { border-bottom: none; } .check-icon { width: 20px; height: 20px; color: var(--color-success); margin-right: var(--space-md); flex-shrink: 0; } /* Card Actions */ .card-actions { margin-top: auto; padding-top: var(--space-xl); } /* CTA Button */ .cta-button { width: 100%; padding: var(--space-md) var(--space-2xl); border: none; border-radius: var(--border-radius-lg); font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); cursor: pointer; transition: var(--transition-normal); margin-bottom: var(--space-md); box-shadow: var(--shadow-sm); } .cta-button.primary { background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark)); color: var(--text-inverse); box-shadow: 0 4px 12px rgba(133, 203, 133, 0.3); } .dark .cta-button.primary { box-shadow: 0 4px 12px rgba(163, 214, 163, 0.3); } .cta-button.primary:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(133, 203, 133, 0.4); } .dark .cta-button.primary:hover { box-shadow: 0 6px 20px rgba(163, 214, 163, 0.4); } .cta-button.secondary { background: var(--bg-secondary); color: var(--text-primary); border: 2px solid var(--border-color); } .cta-button.secondary:hover { background: var(--bg-tertiary); border-color: var(--color-primary); transform: translateY(-2px); box-shadow: var(--shadow-md); } .trial-info { text-align: center; color: var(--text-tertiary); font-size: var(--font-size-sm); margin: 0; } /* FAQ Section */ .faq-section { background: var(--bg-secondary); padding: var(--space-4xl) 0; border-top: var(--border-width) solid var(--border-color); } .section-title { text-align: center; font-size: var(--font-size-4xl); font-weight: var(--font-weight-bold); color: var(--text-primary); margin-bottom: var(--space-3xl); } .faq-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: var(--space-2xl); max-width: 1000px; margin: 0 auto; padding: 0 var(--space-md); } .faq-item { background: var(--bg-primary); padding: var(--space-2xl); border-radius: var(--border-radius-xl); border: var(--border-width) solid var(--border-color); box-shadow: var(--shadow-md); transition: var(--transition-normal); } .faq-item:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); } .faq-question { color: var(--text-primary); font-size: var(--font-size-xl); font-weight: var(--font-weight-semibold); margin-bottom: var(--space-md); } .faq-answer { color: var(--text-secondary); line-height: var(--line-height-relaxed); margin: 0; } /* Container */ .container { max-width: 1600px; margin: 0 auto; padding: 0 var(--space-md); } /* Responsive Design */ @media (max-width: 1024px) { .pricing-grid { grid-template-columns: 1fr; gap: var(--space-xl); max-width: 500px; } .pricing-card.popular { transform: none; } .pricing-card.popular:hover { transform: translateY(-10px); } } @media (max-width: 768px) { .hero-title { font-size: var(--font-size-4xl); } .billing-toggle { flex-direction: column; gap: var(--space-sm); padding: var(--space-lg); } .faq-grid { grid-template-columns: 1fr; gap: var(--space-lg); } } @media (max-width: 480px) { .hero-title { font-size: var(--font-size-3xl); } .amount { font-size: var(--font-size-4xl); } .pricing-card { padding: var(--space-lg); } .faq-grid { grid-template-columns: 1fr; gap: var(--space-md); } .faq-item { padding: var(--space-lg); } }