Annual report pursuant to Section 13 and 15(d)

Capital Structure and Per Share Data - Additional Information (Detail)

v2.4.1.9
Capital Structure and Per Share Data - Additional Information (Detail) (USD $)
In Millions, except Share data, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Vote
Dec. 31, 2013
Dec. 31, 2012
Capital Structure And Per Share Data [Line Items]      
Preferred stock shares authorized 3,000,000us-gaap_PreferredStockSharesAuthorized    
Preferred stock, issued 0us-gaap_PreferredStockSharesIssued 0us-gaap_PreferredStockSharesIssued  
Preferred stock, outstanding 0us-gaap_PreferredStockSharesOutstanding 0us-gaap_PreferredStockSharesOutstanding  
Number of classes of common stock 2sah_NumberOfClassesOfCommonStock    
Stated interest rate on debt agreement 5.00%us-gaap_DebtInstrumentInterestRateStatedPercentage    
5.0% Convertible Senior Notes [Member]      
Capital Structure And Per Share Data [Line Items]      
Stated interest rate on debt agreement 5.00%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ us-gaap_LongtermDebtTypeAxis
= sah_FivePointZeroPercentConvertibleSeniorNotesDueTwoThousandTwentyNineMember
5.00%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ us-gaap_LongtermDebtTypeAxis
= sah_FivePointZeroPercentConvertibleSeniorNotesDueTwoThousandTwentyNineMember
5.00%us-gaap_DebtInstrumentInterestRateStatedPercentage
/ us-gaap_LongtermDebtTypeAxis
= sah_FivePointZeroPercentConvertibleSeniorNotesDueTwoThousandTwentyNineMember
Class A Convertible Preferred Stock [Member]      
Capital Structure And Per Share Data [Line Items]      
Preferred stock shares authorized 300,000us-gaap_PreferredStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= sah_ClassConvertiblePreferredStockMember
   
Preferred Stock Par Value $ 0.10us-gaap_PreferredStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= sah_ClassConvertiblePreferredStockMember
   
Class A convertible preferred stock shares redeemed 13,802us-gaap_StockRedeemedOrCalledDuringPeriodShares
/ us-gaap_StatementClassOfStockAxis
= sah_ClassConvertiblePreferredStockMember
   
Class A convertible preferred stock redemption price $ 1,000us-gaap_PreferredStockRedemptionPricePerShare
/ us-gaap_StatementClassOfStockAxis
= sah_ClassConvertiblePreferredStockMember
   
Series I Preferred Stock [Member]      
Capital Structure And Per Share Data [Line Items]      
Class A Convertible Preferred Stock Shares Authorized 100,000sah_ClassConvertiblePreferredStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesAPreferredStockMember
   
Series II Preferred Stock [Member]      
Capital Structure And Per Share Data [Line Items]      
Class A Convertible Preferred Stock Shares Authorized 100,000sah_ClassConvertiblePreferredStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesBPreferredStockMember
   
Series III Preferred Stock [Member]      
Capital Structure And Per Share Data [Line Items]      
Class A Convertible Preferred Stock Shares Authorized 100,000sah_ClassConvertiblePreferredStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= us-gaap_SeriesCPreferredStockMember
   
Common Class A [Member]      
Capital Structure And Per Share Data [Line Items]      
Common stock, shares authorized 100,000,000us-gaap_CommonStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
100,000,000us-gaap_CommonStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
 
Common stock, par value $ 0.01us-gaap_CommonStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
$ 0.01us-gaap_CommonStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
 
Common stock, number of votes per share 1sah_CommonStockNumberOfVotesPerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
   
Number of shares of class A common stock issuable against each share of class B common stock 1us-gaap_ConversionOfStockSharesConverted1
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
   
Authorized amount expend on repurchase of shares $ 495.0us-gaap_StockRepurchaseProgramAuthorizedAmount1
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
   
Common stock class A, shares repurchased 23,156,433us-gaap_TreasuryStockShares
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
20,900,264us-gaap_TreasuryStockShares
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
 
Common stock class A, share repurchase price per share $ 17.35us-gaap_TreasuryStockAcquiredAverageCostPerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
   
Remaining authorized amount $ 79.5us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
   
Antidilutive stock options excluded in computation of diluted earnings per share 400,000us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
800,000us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
1,000,000us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassAMember
Common Class B [Member]      
Capital Structure And Per Share Data [Line Items]      
Common stock, shares authorized 30,000,000us-gaap_CommonStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
30,000,000us-gaap_CommonStockSharesAuthorized
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
 
Common stock, par value $ 0.01us-gaap_CommonStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
$ 0.01us-gaap_CommonStockParOrStatedValuePerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember
 
Common stock, number of votes per share 10sah_CommonStockNumberOfVotesPerShare
/ us-gaap_StatementClassOfStockAxis
= us-gaap_CommonClassBMember