Allowance for Sales Returns - Schedule of Allowances for Sales Returns (Details) - USD ($) $ in Thousands |
12 Months Ended | ||
|---|---|---|---|
Dec. 31, 2023 |
Dec. 31, 2022 |
Dec. 31, 2021 |
|
| SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward] | |||
| Balance, beginning of period | $ 37,455 | $ 34,728 | |
| Balance, end of period | 37,052 | 37,455 | $ 34,728 |
| Sales Returns and Allowances | |||
| SEC Schedule, 12-09, Movement in Valuation Allowances and Reserves [Roll Forward] | |||
| Balance, beginning of period | 7,817 | 8,997 | 11,233 |
| Reserve accrual | 16,254 | 15,574 | 21,506 |
| Recoveries and deductions, net | (15,622) | (16,754) | (23,742) |
| Balance, end of period | $ 8,449 | $ 7,817 | $ 8,997 |