/* Page Tarifs. Les couleurs viennent du thème. */
.pricing-page { max-width: 1080px; margin: 0 auto; padding: 32px 16px 64px; }
.pricing-hero { text-align: center; max-width: 760px; margin: 0 auto 32px; }
.pricing-kicker { text-transform: uppercase; letter-spacing: .08em; font-weight: 800; font-size: 13px; color: var(--kh-coral); margin: 0 0 8px; }
.pricing-hero h1 { font-size: clamp(28px, 4vw, 42px); line-height: 1.15; margin: 0 0 12px; }
.pricing-hero p { color: var(--muted); font-size: 18px; margin: 0 0 12px; }
.pricing-launch { display: inline-block; background: var(--kh-mint); color: var(--ink) !important; border-radius: 14px; padding: 10px 16px; font-size: 15px !important; }
.pricing-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin: 0 0 48px; align-items: start; }
.pricing-plan { position: relative; background: var(--ks-fff); border: 1px solid var(--border); border-radius: var(--radius); padding: 28px 24px; display: grid; gap: 14px; }
.pricing-plan.is-recommended { border: 2px solid var(--blue); box-shadow: 0 18px 40px -20px rgba(37, 56, 47, .35); }
.pricing-badge { position: absolute; top: -14px; left: 24px; margin: 0; background: var(--blue); color: var(--kt-fff); font-weight: 800; font-size: 13px; padding: 4px 12px; border-radius: 999px; }
.pricing-plan h2 { margin: 0; font-size: 24px; }
.pricing-price { margin: 0; display: grid; }
.pricing-price strong { font-size: 40px; line-height: 1.1; }
.pricing-price span, .pricing-alt { color: var(--muted); }
.pricing-alt { margin: 0; }
.pricing-plan ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.pricing-plan li { display: flex; gap: 10px; }
.pricing-plan li span { color: var(--blue); font-weight: 900; }
.pricing-plan .button { justify-self: start; }
.pricing-arguments h2, .pricing-faq h2, .pricing-cta h2 { font-size: clamp(24px, 3vw, 32px); margin: 0 0 20px; }
.pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; margin: 0 0 48px; }
.pricing-grid article { background: var(--ks-fff); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; }
.pricing-icon { font-size: 28px; }
.pricing-grid h3 { margin: 8px 0 6px; font-size: 18px; }
.pricing-grid p { margin: 0; color: var(--muted); }
.pricing-faq { max-width: 760px; margin: 0 auto 48px; }
.pricing-faq details { background: var(--ks-fff); border: 1px solid var(--border); border-radius: 14px; padding: 14px 18px; margin: 0 0 10px; }
.pricing-faq summary { font-weight: 800; cursor: pointer; }
.pricing-faq details p { margin: 10px 0 0; color: var(--muted); }
.pricing-cta { text-align: center; background: var(--kh-mint); border-radius: var(--radius); padding: 32px 16px; }
.pricing-cta p { color: var(--muted); }
.pricing-account { max-width: 760px; margin: 0 auto 28px; background: var(--ks-fff); border: 1px solid var(--border); border-radius: var(--radius); padding: 18px 20px; display: grid; gap: 10px; }
.pricing-account p { margin: 0; }
.pricing-account-ok { color: var(--blue); font-weight: 700; }
.pricing-account-note { color: var(--muted); font-size: 14px; }
.pricing-checkout { display: grid; gap: 12px; }
.pricing-waiver { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; }
.pricing-waiver input { width: 20px; height: 20px; margin-top: 2px; flex: none; }
.pricing-checkout-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
