Note 19 - Summary of Quarterly Results (Unaudited) - Quarterly Results (Details) - USD ($) $ / shares in Units, $ in Thousands |
3 Months Ended | 12 Months Ended | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Jun. 30, 2026 |
Mar. 31, 2026 |
Dec. 31, 2025 |
Sep. 30, 2025 |
Jun. 30, 2025 |
Mar. 31, 2025 |
Dec. 31, 2024 |
Sep. 30, 2024 |
Jun. 30, 2024 |
Mar. 31, 2024 |
Dec. 31, 2023 |
Sep. 30, 2023 |
Jun. 30, 2026 |
Jun. 30, 2025 |
Jun. 30, 2024 |
||||
| Net Sales | $ 234,621 | $ 150,525 | $ 147,002 | $ 157,249 | $ 155,067 | $ 132,481 | $ 147,734 | $ 138,095 | $ 129,006 | $ 108,186 | $ 109,005 | $ 123,441 | ||||||
| Gross Profit | 57,415 | 38,239 | 37,434 | 40,277 | 40,429 | 32,843 | 34,861 | 33,647 | 33,833 | 31,210 | 31,536 | 36,589 | $ 173,365 | $ 141,780 | $ 133,168 | |||
| Net Income | $ 6,876 | $ 2,091 | $ 6,348 | $ 7,264 | $ 8,171 | $ 3,883 | $ 5,647 | $ 6,682 | $ 5,668 | $ 5,375 | $ 5,906 | $ 8,028 | $ 22,579 | $ 24,383 | $ 24,977 | |||
| Basic (in dollars per share) | $ 0.19 | $ 0.06 | $ 0.2 | $ 0.24 | $ 0.27 | $ 0.13 | $ 0.19 | $ 0.23 | $ 0.19 | $ 0.18 | $ 0.2 | $ 0.28 | $ 0.69 | $ 0.82 | $ 0.86 | |||
| Diluted (in dollars per share) | 0.18 | 0.06 | 0.2 | 0.23 | 0.26 | 0.13 | 0.18 | 0.22 | 0.19 | 0.18 | 0.2 | 0.27 | $ 0.67 | $ 0.79 | $ 0.83 | |||
| Maximum [Member] | ||||||||||||||||||
| Share prices (in dollars per share) | 26.8 | 23.25 | 23.73 | 23.83 | 17.43 | 24.72 | 20.86 | 17.06 | 16.07 | 15.47 | 16.75 | 16.05 | ||||||
| Minimum [Member] | ||||||||||||||||||
| Share prices (in dollars per share) | $ 18.51 | $ 18.22 | $ 17.25 | $ 17.24 | $ 14.65 | $ 17 | $ 15.88 | $ 13.9 | $ 13.97 | $ 13.4 | $ 12.19 | $ 11.9 | ||||||
| SEC Schedule, 12-09, Allowance, Credit Loss [Member] | ||||||||||||||||||
| Balance, Beginning of Period | $ 1,152 | $ 848 | $ 435 | $ 1,152 | $ 848 | $ 435 | ||||||||||||
| Additions Charged to Costs and Expenses | 47 | 333 | (8) | |||||||||||||||
| Additions From Company Acquired | 750 | 73 | 477 | |||||||||||||||
| Deductions | [1] | (54) | (102) | (56) | ||||||||||||||
| Balance, End of Period | $ 1,895 | $ 1,152 | $ 848 | 1,895 | 1,152 | 848 | ||||||||||||
| SEC Schedule, 12-09, Reserve, Inventory [Member] | ||||||||||||||||||
| Balance, Beginning of Period | 8,025 | 6,838 | 6,288 | 8,025 | 6,838 | 6,288 | ||||||||||||
| Additions Charged to Costs and Expenses | 1,175 | 2,339 | 1,058 | |||||||||||||||
| Additions From Company Acquired | 5,300 | 662 | 1,428 | |||||||||||||||
| Deductions | (1,819) | [1] | (1,814) | (1,936) | ||||||||||||||
| Balance, End of Period | 12,681 | 8,025 | 6,838 | 12,681 | 8,025 | 6,838 | ||||||||||||
| SEC Schedule, 12-09, Valuation Allowance, Deferred Tax Asset [Member] | ||||||||||||||||||
| Balance, Beginning of Period | $ 108 | $ 108 | $ 108 | 108 | 108 | 108 | ||||||||||||
| Additions Charged to Costs and Expenses | 0 | 0 | 0 | |||||||||||||||
| Additions From Company Acquired | 0 | 0 | 0 | |||||||||||||||
| Deductions | 0 | 0 | 0 | |||||||||||||||
| Balance, End of Period | $ 108 | $ 108 | $ 108 | 108 | 108 | 108 | ||||||||||||
| Fiscal Year [Member] | ||||||||||||||||||
| Net Sales | 689,397 | 573,377 | 469,638 | |||||||||||||||
| Gross Profit | 173,365 | 141,780 | 133,168 | |||||||||||||||
| Net Income | $ 22,579 | $ 24,383 | $ 24,977 | |||||||||||||||
| Basic (in dollars per share) | $ 0.69 | $ 0.82 | $ 0.86 | |||||||||||||||
| Diluted (in dollars per share) | 0.67 | 0.79 | 0.83 | |||||||||||||||
| Fiscal Year [Member] | Maximum [Member] | ||||||||||||||||||
| Share prices (in dollars per share) | 26.8 | 24.72 | 16.75 | |||||||||||||||
| Fiscal Year [Member] | Minimum [Member] | ||||||||||||||||||
| Share prices (in dollars per share) | $ 17.24 | $ 13.9 | $ 11.9 | |||||||||||||||
| ||||||||||||||||||
| X | ||||||||||
- Definition Represents the share prices during the period. No definition available.
|
| X | ||||||||||
- Definition Addition of a valuation allowance from an acquired company. No definition available.
|
| X | ||||||||||
- Definition The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition The portion of profit or loss for the period, net of income taxes, which is attributable to the parent. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss). Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Amount of valuation and qualifying accounts and reserves. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Definition Amount of decrease in valuation and qualifying accounts and reserves. Reference 1: http://www.xbrl.org/2003/role/disclosureRef
|
| X | ||||||||||
- Details
|
| X | ||||||||||
- Details
|
| X | ||||||||||
- Details
|
| X | ||||||||||
- Details
|
| X | ||||||||||
- Details
|
| X | ||||||||||
- Details
|