XML 100 R81.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Commitments and Contingencies - Additional Information (Details) - USD ($) $ in Thousands | 12 Months Ended |
--- | --- | ---
Dec. 31, 2024 | Dec. 31, 2023
Contingencies And Commitments [Line Items] |  |
Maximum exposure associated with general indemnifications | $ 2,200 | $ 8,000
Contingent liability reserve balance after reduction | 0 |
Other accrued liabilities |  |
Contingencies And Commitments [Line Items] |  |
Amount reserved for pending proceedings | 400 | 1,500
Other long-term liabilities |  |
Contingencies And Commitments [Line Items] |  |
Amount reserved for pending proceedings | $ 300 | $ 300
Dealership |  |
Contingencies And Commitments [Line Items] |  |
Joint venture ownership percentage | 50.00% |
Minimum |  |
Contingencies And Commitments [Line Items] |  |
General indemnifications expiration period | 1 year |
Maximum |  |
Contingencies And Commitments [Line Items] |  |
General indemnifications expiration period | 3 years |

X
- Definition Contingencies and commitments. + References No definition available. + Details
Name: | sah_ContingenciesAndCommitmentsLineItems
Namespace Prefix: | sah_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Contingent liability reserve balance. + References No definition available. + Details
Name: | sah_ContingentLiabilityReserveBalance
Namespace Prefix: | sah_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition General indemnifications expiration period. + References No definition available. + Details
Name: | sah_GeneralIndemnificationsExpirationPeriod
Namespace Prefix: | sah_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Legal matters amount reserved for pending proceedings. + References No definition available. + Details
Name: | sah_LegalMattersAmountReservedForPendingProceedings
Namespace Prefix: | sah_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Undiscounted amount of the accrual for environmental loss contingencies. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 450 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483076/450-20-50-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 450 -SubTopic 20 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 5.Y.Q1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480102/450-20-S99-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 410 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481931/410-30-50-7 + Details
Name: | us-gaap_AccrualForEnvironmentalLossContingenciesGross
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 323 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (a)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3 + Details
Name: | us-gaap_EquityMethodInvestmentOwnershipPercentage
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=sah_OtherAccruedLiabilitiesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=us-gaap_OtherNoncurrentLiabilitiesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=sah_DealershipMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |