XML 118 R105.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Employee Benefit Plans - Defined Contribution Plans (Details) - USD ($) | 12 Months Ended
--- | ---
Dec. 31, 2023 | Dec. 31, 2022 | Dec. 31, 2021
Defined contribution plans |  |  |
Minimum age | 18 years |  |
Amounts charged to expense | $ 1,550,000 | $ 1,440,000 | $ 2,030,000.00
Postretirement benefit plan | Chief Executive Officer |  |  |
Defined contribution plans |  |  |
Amounts charged to expense | 0 | 10,000 | 15,000
Nonqualified Executive Plan | Profit-Sharing Plan |  |  |
Defined contribution plans |  |  |
Amounts charged to expense | $ 325,000 | $ 345,000 | $ 296,000
Cash Balance Plan | C&F Bank |  |  |
Defined contribution plans |  |  |
Threshold monthly interest credits based on the yield under the benefit plan | 3.00% |  |
Minimum age | 21 years |  |
Basis points added to 30-year Treasuries yield to compute interest credit (as a percent) | 1.50% |  |

X
- Definition Percentage points added to the reference rate to compute the interest credited to each participant account in the defined benefit plan. + References No definition available. + Details
Name: | cffi_DefinedBenefitPlanInterestCreditBasisSpreadOnVariableRate
Namespace Prefix: | cffi_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition The minimum age for eligibility to participate in the defined benefit plan. + References No definition available. + Details
Name: | cffi_DefinedBenefitPlanMinimumAge
Namespace Prefix: | cffi_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Threshold monthly interest credits based on the yield under the benefit plan. + References No definition available. + Details
Name: | cffi_DefinedBenefitPlanThresholdMonthlyInterestCredit
Namespace Prefix: | cffi_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition The minimum age for eligibility to participate in the defined contribution plan. + References No definition available. + Details
Name: | cffi_DefinedContributionPlanMinimumAge
Namespace Prefix: | cffi_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of cost for defined contribution plan. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 70 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480794/715-70-50-1 + Details
Name: | us-gaap_DefinedContributionPlanCostRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 715 -SubTopic 70 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147480794/715-70-50-1 + Details
Name: | us-gaap_DefinedContributionPlanDisclosureLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_TitleOfIndividualAxis=srt_ChiefExecutiveOfficerMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=cffi_NonqualifiedExecutivePlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanTypeAxis=cffi_ProfitSharingPlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_RetirementPlanNameAxis=cffi_CashBalancePlanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | dei_LegalEntityAxis=cffi_CAndFBankMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |