Note 7 - Segment Reporting - Profit and Loss (Details) - USD ($) $ in Thousands |
3 Months Ended | 6 Months Ended | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Jun. 30, 2026 |
Jun. 30, 2025 |
Jun. 30, 2026 |
Jun. 30, 2025 |
|||||||||||||||||||||
| Sales | $ 1,173,510 | $ 1,061,169 | $ 2,232,875 | $ 2,003,290 | ||||||||||||||||||||
| Costs of goods sold | 651,699 | 644,420 | 1,300,828 | 1,214,555 | ||||||||||||||||||||
| Elimination of intersegment cost of goods sold | 521,811 | 416,749 | 932,047 | 788,735 | ||||||||||||||||||||
| Operating expenses | 311,378 | 304,960 | 604,323 | 593,308 | ||||||||||||||||||||
| Other segment items | [1] | (80,291) | (75,840) | (156,481) | (141,748) | |||||||||||||||||||
| Adjusted EBITDA by reportable segment | 290,724 | 187,629 | 484,205 | 337,175 | ||||||||||||||||||||
| Interest expense | (16,787) | (18,242) | (32,163) | (35,352) | ||||||||||||||||||||
| Depreciation and amortization | (58,410) | (48,321) | (114,384) | (94,462) | ||||||||||||||||||||
| Non-cash write-down and other adjustments | [2] | (2,515) | (2,155) | (1,072) | (2,142) | |||||||||||||||||||
| Non-cash share-based compensation expense | [3] | (14,005) | (14,752) | (27,447) | (26,360) | |||||||||||||||||||
| Transaction costs and credit facility fees | [4] | (1,115) | (1,004) | (3,825) | (1,764) | |||||||||||||||||||
| Business optimization and other charges | [5] | (2,351) | (3,442) | (3,504) | (5,017) | |||||||||||||||||||
| Provision for legal, regulatory, and other costs | [6] | 951 | (4,911) | (2,255) | (8,662) | |||||||||||||||||||
| Change in fair value of investment | [7] | 5,916 | (1,524) | 4,542 | (11,471) | |||||||||||||||||||
| Other | [8] | (12,702) | (3,426) | (17,632) | (3,579) | |||||||||||||||||||
| Income before provision for income taxes | 189,706 | 89,852 | 286,465 | 148,366 | ||||||||||||||||||||
| External Net Sales [Member] | ||||||||||||||||||||||||
| Sales | 1,173,510 | 1,061,169 | 2,232,875 | 2,003,290 | ||||||||||||||||||||
| Intersegment Sales [Member] | ||||||||||||||||||||||||
| Sales | 0 | 0 | 0 | 0 | ||||||||||||||||||||
| Operating Segments [Member] | ||||||||||||||||||||||||
| Sales | 1,177,753 | 1,065,293 | 2,240,034 | 2,012,962 | ||||||||||||||||||||
| Costs of goods sold | 655,942 | 648,544 | 1,307,987 | 1,224,227 | ||||||||||||||||||||
| Operating Segments [Member] | External Net Sales [Member] | ||||||||||||||||||||||||
| Sales | 1,173,510 | 1,061,169 | 2,232,875 | 2,003,290 | ||||||||||||||||||||
| Operating Segments [Member] | Intersegment Sales [Member] | ||||||||||||||||||||||||
| Sales | 4,243 | 4,124 | 7,159 | 9,672 | ||||||||||||||||||||
| Operating Segments [Member] | Residential Segment [Member] | ||||||||||||||||||||||||
| Sales | 621,263 | 634,718 | 1,173,446 | 1,183,381 | ||||||||||||||||||||
| Costs of goods sold | 259,692 | 335,113 | 540,647 | 625,015 | ||||||||||||||||||||
| Operating expenses | 187,926 | 197,990 | 364,543 | 383,218 | ||||||||||||||||||||
| Other segment items | [1] | (41,744) | (44,809) | (85,718) | (82,865) | |||||||||||||||||||
| Adjusted EBITDA by reportable segment | 215,389 | 146,424 | 353,974 | 258,013 | ||||||||||||||||||||
| Operating Segments [Member] | Residential Segment [Member] | External Net Sales [Member] | ||||||||||||||||||||||||
| Sales | 617,022 | 630,594 | 1,166,338 | 1,173,709 | ||||||||||||||||||||
| Operating Segments [Member] | Residential Segment [Member] | Intersegment Sales [Member] | ||||||||||||||||||||||||
| Sales | 4,241 | 4,124 | 7,108 | 9,672 | ||||||||||||||||||||
| Operating Segments [Member] | Commercial and Industrial Segment [Member] | ||||||||||||||||||||||||
| Sales | 556,490 | 430,575 | 1,066,588 | 829,581 | ||||||||||||||||||||
| Costs of goods sold | 396,250 | 313,431 | 767,340 | 599,212 | ||||||||||||||||||||
| Operating expenses | 114,870 | 89,226 | 217,351 | 179,599 | ||||||||||||||||||||
| Other segment items | [1] | (36,114) | (25,424) | (66,119) | (47,918) | |||||||||||||||||||
| Adjusted EBITDA by reportable segment | 81,484 | 53,342 | 148,016 | 98,688 | ||||||||||||||||||||
| Operating Segments [Member] | Commercial and Industrial Segment [Member] | External Net Sales [Member] | ||||||||||||||||||||||||
| Sales | 556,488 | 430,575 | 1,066,537 | 829,581 | ||||||||||||||||||||
| Operating Segments [Member] | Commercial and Industrial Segment [Member] | Intersegment Sales [Member] | ||||||||||||||||||||||||
| Sales | 2 | 0 | 51 | 0 | ||||||||||||||||||||
| Corporate and Eliminations [Member] | ||||||||||||||||||||||||
| Operating expenses | 8,582 | 17,744 | [9] | 22,429 | 30,491 | [9] | ||||||||||||||||||
| Other segment items | [1] | (2,433) | (5,607) | [9] | (4,644) | (10,965) | [9] | |||||||||||||||||
| Adjusted EBITDA by reportable segment | (6,149) | (12,137) | [9] | (17,785) | (19,526) | [9] | ||||||||||||||||||
| Corporate and Eliminations [Member] | Intersegment Sales [Member] | ||||||||||||||||||||||||
| Sales | (4,243) | (4,124) | [9] | (7,159) | (9,672) | [9] | ||||||||||||||||||
| Elimination of intersegment cost of goods sold | (4,243) | (4,124) | [9] | (7,159) | (9,672) | [9] | ||||||||||||||||||
| Intersegment Eliminations [Member] | ||||||||||||||||||||||||
| Sales | (4,243) | (4,124) | (7,159) | (9,672) | ||||||||||||||||||||
| Intersegment Eliminations [Member] | External Net Sales [Member] | ||||||||||||||||||||||||
| Sales | 0 | 0 | 0 | 0 | ||||||||||||||||||||
| Intersegment Eliminations [Member] | Intersegment Sales [Member] | ||||||||||||||||||||||||
| Sales | (4,243) | (4,124) | (7,159) | (9,672) | ||||||||||||||||||||
| Elimination of intersegment cost of goods sold | $ (4,243) | $ (4,124) | $ (7,159) | $ (9,672) | ||||||||||||||||||||
| ||||||||||||||||||||||||