    body { background: #faf9f7; padding: 0 0 2rem; }
    .checkout-container { max-width: 1000px; margin: 0 auto; padding: 1.5rem 1.25rem 2rem; }
    .checkout-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 2rem; }
    .checkout-form { background: #fff; padding: 2rem; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
    .form-section { margin-bottom: 2rem; }
    .form-section h3 { font-size: 18px; font-weight: 600; color: #1e3a5f; margin-bottom: 1rem; }
    .form-group { margin-bottom: 1rem; }
    .form-group label { display: block; font-size: 14px; font-weight: 500; color: #1e3a5f; margin-bottom: 0.5rem; }
    .form-group input, .form-group select { width: 100%; padding: 10px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: 14px; }
    .form-group input:focus { outline: none; border-color: #0891b2; box-shadow: 0 0 0 3px rgba(8,145,178,0.1); }
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
    .card-input-wrapper { position: relative; }
    .card-icon { position: absolute; right: 10px; top: 32px; font-size: 20px; }
    .order-summary { background: #fff; padding: 2rem; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); height: fit-content; position: sticky; top: 2rem; }
    .summary-item { display: flex; justify-content: space-between; padding: 0.75rem 0; border-bottom: 1px solid #e5e7eb; }
    .summary-item:last-of-type { border-bottom: none; }
    .summary-label { color: #666; font-size: 14px; }
    .summary-value { color: #1e3a5f; font-weight: 600; }
    .summary-total { display: flex; justify-content: space-between; padding: 1rem 0; font-size: 18px; font-weight: 700; color: #0891b2; border-top: 2px solid #e5e7eb; margin-top: 1rem; }
    .plan-details { background: #f0f9ff; padding: 1rem; border-radius: 8px; margin-bottom: 1rem; border-left: 4px solid #0891b2; }
    .plan-details h4 { margin: 0 0 0.5rem 0; color: #1e3a5f; font-size: 16px; }
    .plan-details p { margin: 0; color: #666; font-size: 14px; }
    .security-badge { display: flex; align-items: center; gap: 0.5rem; font-size: 12px; color: #10b981; margin-top: 1rem; }
    .security-badge::before { content: "🔒"; }
    .payment-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.5rem; }
    .payment-methods.payment-methods-stripe-only { grid-template-columns: 1fr; }
    .payment-method-btn { padding: 1rem; border: 2px solid #e5e7eb; border-radius: 8px; background: #fff; cursor: pointer; transition: all 0.3s; text-align: center; font-weight: 600; }
    .payment-method-btn:hover { border-color: #0891b2; }
    .payment-method-btn.active { border-color: #0891b2; background: #f0f9ff; color: #0891b2; }
    .payment-methods-stripe-only .payment-method-btn.active {
      border-color: #635bff;
      background: #f6f5ff;
      color: #0f172a;
    }
    .coupon-section { margin-bottom: 2rem; }
    .coupon-input { display: flex; gap: 0.5rem; }
    .coupon-input input { flex: 1; }
    .coupon-input button { padding: 10px 20px; background: #f0f0f0; border: 1px solid #e5e7eb; border-radius: 6px; cursor: pointer; font-weight: 600; }
    .coupon-input button:hover { background: #e5e7eb; }
    .checkout-btn { width: 100%; padding: 14px; background: #0891b2; color: #fff; border: none; border-radius: 8px; font-size: 16px; font-weight: 700; cursor: pointer; transition: all 0.3s; }
    .checkout-btn:hover { background: #06b6d4; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(8, 145, 178, 0.3); }
    .checkout-btn:disabled { background: #ccc; cursor: not-allowed; }
    .checkout-btn-primary { background: linear-gradient(135deg, #0891b2 0%, #06b6d4 100%); font-size: 17px; padding: 16px; box-shadow: 0 4px 16px rgba(8, 145, 178, 0.2); }
    .checkout-btn-primary:hover { box-shadow: 0 8px 24px rgba(8, 145, 178, 0.4); }
    .error-message { color: #ef4444; font-size: 14px; margin-top: 0.5rem; }
    .success-message { color: #10b981; font-size: 14px; margin-top: 0.5rem; }
    .loading-spinner { display: inline-block; width: 16px; height: 16px; border: 3px solid #f3f3f3; border-top: 3px solid #0891b2; border-radius: 50%; animation: spin 1s linear infinite; }
    @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
    .terms-agreement { font-size: 12px; color: #666; margin: 1rem 0; }
    .terms-agreement input { margin-right: 0.5rem; }
    @media (max-width: 768px) {
      .checkout-grid { grid-template-columns: 1fr; }
      .order-summary { position: static; }
      .payment-methods { grid-template-columns: 1fr; }
      .form-row { grid-template-columns: 1fr; }
    }
