<SEC-DOCUMENT>0001683168-25-009043.txt : 20251210
<SEC-HEADER>0001683168-25-009043.hdr.sgml : 20251210
<ACCEPTANCE-DATETIME>20251210164532
ACCESSION NUMBER:		0001683168-25-009043
CONFORMED SUBMISSION TYPE:	S-8
PUBLIC DOCUMENT COUNT:		15
FILED AS OF DATE:		20251210
DATE AS OF CHANGE:		20251210
EFFECTIVENESS DATE:		20251210

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			CONSUMER PORTFOLIO SERVICES, INC.
		CENTRAL INDEX KEY:			0000889609
		STANDARD INDUSTRIAL CLASSIFICATION:	FINANCE SERVICES [6199]
		ORGANIZATION NAME:           	02 Finance
		EIN:				330459135
		STATE OF INCORPORATION:			CA
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		S-8
		SEC ACT:		1933 Act
		SEC FILE NUMBER:	333-292055
		FILM NUMBER:		251562506

	BUSINESS ADDRESS:	
		STREET 1:		3800 HOWARD HUGHES PKWY
		STREET 2:		SUITE 1400
		CITY:			LAS VEGAS
		STATE:			NV
		ZIP:			89169
		BUSINESS PHONE:		949.753.6800

	MAIL ADDRESS:	
		STREET 1:		3800 HOWARD HUGHES PKWY
		STREET 2:		SUITE 1400
		CITY:			LAS VEGAS
		STATE:			NV
		ZIP:			89169

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	CONSUMER PORTFOLIO SERVICES INC
		DATE OF NAME CHANGE:	19930328
</SEC-HEADER>
<DOCUMENT>
<TYPE>S-8
<SEQUENCE>1
<FILENAME>cps_s8.htm
<DESCRIPTION>FORM S-8
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>As filed with the Securities and Exchange Commission
on  December 10, 2025</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><B>Registration No. 333- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><FONT STYLE="font-size: 18pt"><B>UNITED STATES
</B></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><FONT STYLE="font-size: 18pt"><B>SECURITIES AND
EXCHANGE COMMISSION</B></FONT><B> </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>WASHINGTON, D.C. 20549 </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 18pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>FORM S-8 </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>REGISTRATION STATEMENT </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>UNDER THE SECURITIES ACT OF 1933 </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 18pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>CONSUMER PORTFOLIO SERVICES, INC. </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>(Exact name of registrant as specified in its
charter) </B></P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD STYLE="width: 51%">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; width: 1%">&nbsp;</TD>
    <TD STYLE="width: 48%">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; font-size: 10pt; text-align: center"><FONT STYLE="font-size: 10pt"><B>California</B></FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt; text-align: center"><FONT STYLE="font-size: 10pt"><B>33-0459135</B></FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>(State or other jurisdiction of</B></P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>incorporation or organization)</B></P></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>(I.R.S. Employer</B></P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Identification Number)</B></P></TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; font-size: 10pt; text-align: center"><FONT STYLE="font-size: 10pt"><B>3800 Howard Hughes Pkwy, Suite 1400, Las Vegas, NV</B></FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt; text-align: center"><FONT STYLE="font-size: 10pt"><B>89169</B></FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; font-size: 10pt; text-align: center"><FONT STYLE="font-size: 10pt"><B>(Address of principal executive offices)</B></FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt; text-align: center"><FONT STYLE="font-size: 10pt"><B>(Zip code)</B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>CONSUMER PORTFOLIO SERVICES, INC. </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>2025 EQUITY INCENTIVE PLAN </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>(Full title of the plan) </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Denesh Bharwani </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>(949) 753-6811</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Consumer Portfolio Services, Inc. </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>3800 Howard Hughes Parkway, Suite 1400</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>Las Vegas, Nevada 89169</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>(949) 753-6800</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>(Name and address and telephone number, including
area code, of agent for service) </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt">&nbsp;</P>


<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Indicate by check mark whether the registrant is a large accelerated
filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions
of &ldquo;large accelerated filer,&rdquo; &ldquo;accelerated filer,&rdquo; &ldquo;smaller reporting company,&rdquo; and &ldquo;emerging
growth company&rdquo; in Rule 12b-2 of the Exchange Act.</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD STYLE="width: 29%">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; width: 1%">&nbsp;</TD>
    <TD STYLE="width: 31%">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; width: 1%">&nbsp;</TD>
    <TD STYLE="width: 35%">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; width: 1%">&nbsp;</TD>
    <TD STYLE="width: 2%">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">Large accelerated filer</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">Accelerated filer</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9746;</FONT></TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">Non-accelerated filer</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">Smaller reporting company</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9746;</FONT></TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">Emerging growth company</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 10pt">&#9744;</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">If an emerging growth company, indicate by check mark if the registrant
has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant
to Section 7(a)(2)(B) of the Securities Act. <FONT STYLE="font-family: Times New Roman, Times, Serif">&#9744;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B></B></P>

<!-- Field: Page; Sequence: 1 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="width: 34%; text-align: center">&nbsp;</TD><TD STYLE="width: 33%; text-align: right">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>EXPLANATORY NOTE</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 24.5pt">On November 19, 2025, at the 2025 Annual Meeting
of Shareholders of Consumer Portfolio Services, Inc., a California corporation (the &ldquo;Registrant&rdquo;), the Registrant&rsquo;s
shareholders approved the Consumer Portfolio Services, Inc. 2025 Equity Incentive Plan (the &ldquo;2025 Plan&rdquo;), which the Registrant&rsquo;s
Board of Directors (the &ldquo;Board&rdquo;) had previously approved, subject to such shareholder approval. The 2025 Plan permits the
issuance of a maximum of: (i) 4,501,330 shares of the Registrant&rsquo;s common stock, no par value per share (the &ldquo;Common Stock&rdquo;),
which are reserved for issuance under the 2025 Plan and (ii) shares of Common Stock subject to outstanding equity awards under the CPS
2006 Long-Term Equity Incentive Plan (the &ldquo;2006 Plan&rdquo;) that, after the effective date of the 2025 Plan, are forfeited, surrendered,
terminated (other than by exercise), cancelled, lapsed or reacquired by the Company prior to vesting, without the delivery of any shares
of Common Stock in accordance with the 2006 Plan, and otherwise comply with the recycling provisions of the 2006 Equity Plan and 2025
Equity Plan. As of the date of shareholder approval of the 2025 Plan, all awards will be made under the 2025 Plan and no additional awards
will be made under the 2006 Plan; provided, however, the terms and conditions of any outstanding awards granted under the 2006 Plan will
not be affected.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 24.5pt">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 24.5pt">The Registrant is filing this Registration Statement
on Form S-8 (this &ldquo;Registration Statement&rdquo;) to register under the&nbsp;Securities Act of 1933, as amended (the &ldquo;Securities
Act&rdquo;), the offer and sale of 4,501,330 shares of Common Stock pursuant to the 2025 Plan.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: left">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: left">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: left">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: left"></P>

<!-- Field: Page; Sequence: 2 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->1<!-- Field: /Sequence --></TD><TD STYLE="width: 33%; text-align: right">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: left">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>PART I</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>INFORMATION REQUIRED IN THE SECTION 10(a) PROSPECTUS</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The information specified in Part I of Form S-8 is omitted from this
Registration Statement in accordance with the provisions of Rule 428 under the Securities Act and the introductory note to Part I of Form
S-8. The documents containing the information specified in Part I of Form S-8 have been or will be delivered to the participants in the
plan covered by this Registration Statement as specified by Rule 428(b)(1) under the Securities Act.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"></P>

<!-- Field: Page; Sequence: 3 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->2<!-- Field: /Sequence --></TD><TD STYLE="width: 33%; text-align: right">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->


<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>PART II </B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>INFORMATION REQUIRED IN THE REGISTRATION STATEMENT</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 9%; font-size: 10pt"><FONT STYLE="font-size: 10pt"><B>Item 3.</B></FONT></TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt"><B>Incorporation of Documents by Reference. </B></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The following documents filed with the Commission by the Registrant
are also hereby incorporated herein by reference (other than any information in such filings that was &ldquo;furnished&rdquo; under applicable
Commission rules rather than &ldquo;filed&rdquo;):</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD STYLE="width: 4%">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 5%; font-size: 10pt"><FONT STYLE="font-size: 10pt">(a)</FONT></TD>
    <TD STYLE="text-align: justify; vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">the Registrant&rsquo;s </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825001548/cps_i10k-123124.htm"><FONT STYLE="font-size: 10pt">Annual Report on Form 10-K for the year ended December 31, 2024</FONT></A><FONT STYLE="font-size: 10pt">, filed with the Commission on </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825001548/cps_i10k-123124.htm"><FONT STYLE="font-size: 10pt">March 12, 2025</FONT></A> <FONT STYLE="font-size: 10pt">(including information specifically incorporated by reference therein from the Registrant&rsquo;s Proxy Statement filed with the Commission on </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825007815/cpss_idef14a.htm"><FONT STYLE="font-size: 10pt">October 28, 2025</FONT></A><FONT STYLE="font-size: 10pt">);</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD STYLE="width: 4%">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 5%; font-size: 10pt"><FONT STYLE="font-size: 10pt">(b)</FONT></TD>
    <TD STYLE="text-align: justify; vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">the Registrant&rsquo;s Quarterly Reports on Form 10-Q for the quarters ended March 31, 2025, June 30, 2025 and September 30, 2025, filed with the Commission on </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825003436/consumer_i10q-033125.htm"><FONT STYLE="font-size: 10pt">May 12, 2025</FONT></A><FONT STYLE="font-size: 10pt">, </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825005901/cps_i10q-063025.htm"><FONT STYLE="font-size: 10pt">August 11, 2025</FONT></A> <FONT STYLE="font-size: 10pt">and </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825008144/cps_i10q-093025.htm"><FONT STYLE="font-size: 10pt; background-color: white">November 10, 2025</FONT></A> <FONT STYLE="font-size: 10pt">respectively; </FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD STYLE="width: 4%">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 5%; font-size: 10pt"><FONT STYLE="font-size: 10pt">(c)</FONT></TD>
    <TD STYLE="text-align: justify; vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">the Registrant&rsquo;s Current Reports on Form 8-K filed with the Commission on </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825000570/cps_8k.htm"><FONT STYLE="font-size: 10pt">January 28, 2025</FONT></A><FONT STYLE="font-size: 10pt">, </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825001782/cps_8k.htm"><FONT STYLE="font-size: 10pt">March 21, 2025</FONT></A><FONT STYLE="font-size: 10pt">, </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825003138/cps_8k.htm"><FONT STYLE="font-size: 10pt">May 5, 2025</FONT></A><FONT STYLE="font-size: 10pt">, </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825003479/cps_8k.htm"><FONT STYLE="font-size: 10pt">May 13, 2025</FONT></A><FONT STYLE="font-size: 10pt">, </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825005440/cps_8k.htm"><FONT STYLE="font-size: 10pt">July 28, 2025</FONT></A><FONT STYLE="font-size: 10pt">, </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825007745/cps_8k.htm"><FONT STYLE="font-size: 10pt">October 23, 2025</FONT></A><FONT STYLE="font-size: 10pt">, </FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825007768/cps_8k.htm"><FONT STYLE="font-size: 10pt">October 24, 2025</FONT></A> <FONT STYLE="font-size: 10pt">and</FONT><A HREF="https://www.sec.gov/ix?doc=/Archives/edgar/data/0000889609/000168316825008677/cps_8k.htm"> <FONT STYLE="font-size: 10pt">November 25, 2025</FONT></A><FONT STYLE="font-size: 10pt">; and </FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD STYLE="width: 4%">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 5%; font-size: 10pt"><FONT STYLE="font-size: 10pt">(d)</FONT></TD>
    <TD STYLE="text-align: justify; vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">the description of the Registrant's Common Stock contained in Registrant's registration statement on Form 8-A filed under the Securities Exchange Act of 1934, as amended (the &ldquo;Exchange Act&rdquo;) on October 21, 1992, including amendments thereto subsequently filed for the purpose of updating such description.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">In addition, all documents the Registrant subsequently files pursuant
to Sections 13(a), 13(c), 14 or 15(d) of the Exchange Act (other than information in such filings that was &ldquo;furnished&rdquo; under
applicable Commission rules rather than &ldquo;filed&rdquo;) on or after the date of this Registration Statement, and prior to the filing
of a post-effective amendment to this Registration Statement that indicates that all securities offered hereby have been sold or which
deregisters all securities covered hereby then remaining unsold, are incorporated herein by reference and are a part hereof from the date
of filing of such documents.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Any statement contained in a document incorporated or deemed to be
incorporated by reference herein shall be deemed to be modified or superseded for purposes of this Registration Statement to the extent
that a statement contained herein, or in any subsequently filed document, which also is or is deemed to be incorporated by reference herein,
modifies or supersedes such prior statement. Any such statement so modified or superseded shall not be deemed, except as so modified or
superseded, to constitute part of this Registration Statement.</P>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><B>Item 4.</B></TD><TD><B>Description of Securities.</B></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Not applicable.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><B>Item 5.</B></TD><TD><B>Interests of Named Experts and Counsel.</B></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Michael T. Lavin, President, Chief Operating Officer and Chief Legal
Officer of the Registrant, who has passed upon the validity of the shares of Common Stock registered hereby, is a full-time employee of
the Registrant, owns shares of Common Stock and is eligible to participate in the 2025 Plan.</P>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>

<P STYLE="margin-top: 0; margin-bottom: 0"></P>

<!-- Field: Page; Sequence: 4 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->3<!-- Field: /Sequence --></TD><TD STYLE="width: 33%; text-align: right">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="margin-top: 0; margin-bottom: 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><B>Item 6.</B></TD><TD><B>Indemnification of Directors and Officers.</B></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Section 317 of the California Corporations Code, or the California
Code, authorizes a corporation to indemnify, subject to certain exceptions, any person who was or is a party or is threatened to be made
a party to any proceeding (other than an action by or in the right of the corporation to procure a judgment in its favor) by reason of
the fact that such person is or was an agent of the corporation, as the term &ldquo;agent&rdquo; is defined in section 317(a) of the California
Code, against expenses, judgments, fines, settlements and other amounts actually and reasonably incurred in connection with such proceeding
if such person acted in good faith and in a manner such person reasonably believed to be in the best interests of the corporation and,
in the case of a criminal proceeding, had no reasonable cause to believe the conduct of such person was unlawful. A corporation is further
authorized to indemnify, subject to certain exceptions, any person who was or is a party or is threatened to be made a party to any threatened,
pending, or completed action by or in the right of the corporation to procure a judgment in its favor by reason of the fact that the person
is or was an agent of the corporation, against expenses actually and reasonably incurred by that person in connection with the defense
or settlement of the action if the person acted in good faith, in a manner the person believed to be in the best interests of the corporation
and its shareholders.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Section 204 of the California Code provides that a corporation&rsquo;s
articles of incorporation may not limit the liability of directors (i) for acts or omissions that involve intentional misconduct or a
knowing and culpable violation of law, (ii) for acts or omissions that a director believes to be contrary to the best interests of the
corporation or its shareholders or that involve the absence of good faith on the part of the director, (iii) for any transaction from
which a director derived an improper personal benefit, (iv) for acts or omissions that show a reckless disregard for the director&rsquo;s
duty to the corporation or its shareholders in circumstances in which the director was aware, or should have been aware, in the ordinary
course of performing a director&rsquo;s duties, of a risk of a serious injury to the corporation or its shareholders, (v) for acts or
omissions that constitute an unexcused pattern of inattention that amounts to an abdication of the director&rsquo;s duty to the corporation
or its shareholders, (vi) under Section 310 of the California Code (concerning transactions between corporations and directors or corporations
having interrelated directors) or (vii) under Section 316 of the California Code (concerning directors&rsquo; liability for distributions,
loans, and guarantees).</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Section 204 further provides that a corporation&rsquo;s articles of
incorporation may not limit the liability of directors for any act or omission occurring prior to the date when the provision became effective
or any act or omission as an officer, notwithstanding that the officer is also a director or that his or her actions, if negligent or
improper, have been ratified by the directors. Further, Section 317 has no effect on claims arising under federal or state securities
laws and does not affect the availability of injunctions and other equitable remedies available to a corporation&rsquo;s shareholders
for any violation of a director&rsquo;s fiduciary duty to the corporation or its shareholders.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The Registrant&rsquo;s Restated Articles of Incorporation provide for
the elimination of liability for its directors to the fullest extent permissible under California law and authorize it to provide indemnification
to directors, officers, employees or other agents through bylaw provisions, agreements with agents, vote of shareholders or disinterested
directors or otherwise, in excess of the indemnification otherwise permitted by Section 317 of the California Code, subject only to the
applicable limits with respect to actions for breach of duty to the Registrant and its shareholders.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The Registrant&rsquo;s Amended and Restated Bylaws (the &ldquo;Bylaws&rdquo;)
provide that it shall indemnify its directors and officers against expenses, judgments, fines, settlements, and other amounts actually
and reasonably incurred in connection with any proceeding, arising by reason of the fact that such person is or was its agent. As included
in the Registrant&rsquo;s Bylaws, a &ldquo;director&rdquo; or &ldquo;officer&rdquo; includes any person (a) who is or was a director or
officer of the Registrant, (b) who is or was serving at the request of the Registrant as a director or officer of another corporation,
partnership, joint venture, trust or other enterprise, or (c) who was a director or officer of a corporation which was a predecessor corporation
of the Registrant or of another enterprise at the request of such predecessor corporation. The Registrant&rsquo;s Bylaws also contain
provisions authorizing it, to the extent and in the manner permitted by the California Code, to indemnify each of its employees and agents
(other than directors and officers) against expenses, judgments, fines, settlements, and other amounts actually and reasonably incurred
in connection with any proceeding, arising by reason of the fact that such person is or was its agent. As included in the Registrant&rsquo;s
Bylaws, an &ldquo;employee&rdquo; or &ldquo;agent&rdquo; (other than a director or officer), includes any person who (a) is or was an
employee or agent of the Registrant, (b) is or was serving at the Registrant&rsquo;s request as an employee or agent of another corporation,
partnership, joint venture, trust or other enterprise, or (c) was an employee or agent of a corporation which was a predecessor corporation
of the Registrant or of another enterprise at the request of such predecessor corporation.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 5 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->4<!-- Field: /Sequence --></TD><TD STYLE="width: 33%; text-align: right">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">The Registrant&rsquo;s Bylaws further provide that it may advance expenses
incurred in defending any proceeding for which indemnification is required or permitted, following authorization thereof by the board
of directors, prior to the final disposition of the proceeding upon receipt of an undertaking by or on behalf of the indemnified party
to repay that amount if it shall be determined ultimately that the indemnified person is not entitled to be indemnified as authorized
by its Bylaws. The indemnification provided for in the Registrant&rsquo;s Bylaws for acts, omissions or transactions while acting in the
capacity of, or while serving as, a director or officer of the Registrant but not involving a breach of duty to the Registrant and its
shareholders will not be deemed exclusive of any other rights those seeking indemnification may be entitled under any bylaw, agreement,
vote of shareholders or disinterested directors, or otherwise, to the extent the additional rights to indemnification are authorized in
its Restated Articles of Incorporation.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">In addition, the Registrant maintains directors&rsquo; and officers&rsquo;
liability insurance under which its directors and officers are insured against loss (as defined in the policy) as a result of certain
claims brought against them in such capacities.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Insofar as indemnification for liabilities arising under the Securities
Act may be permitted to directors, officers, and controlling persons of the Registrant pursuant to the Restated Articles of Incorporation
or Bylaws, or otherwise, the Registrant has been advised that, in the opinion of the SEC, such indemnification is against public policy
as expressed in the Securities Act and is, therefore, unenforceable.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><B>Item 7.</B></TD><TD><B>Exemption from Registration Claimed.</B></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Not applicable.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD COLSPAN="2" STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt"><B>Item 8.</B></FONT></TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt"><B>Exhibits. </B></FONT></TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; width: 3%">&nbsp;</TD>
    <TD STYLE="width: 90%">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="white-space: nowrap; font-size: 10pt; text-align: center"><FONT STYLE="font-size: 10pt"><B>Exhibit<BR>
    No.</B></FONT></TD>
    <TD><B>&nbsp;</B></TD>
    <TD STYLE="white-space: nowrap; font-size: 10pt; text-align: center"><FONT STYLE="font-size: 10pt"><B>Description</B></FONT></TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="white-space: nowrap; vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">4.1</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt"><A HREF="https://www.sec.gov/Archives/edgar/data/889609/000088960909000010/exh3-1.htm"><FONT STYLE="font-size: 10pt">Restated Articles of Incorporation</FONT></A><FONT STYLE="font-size: 10pt">, incorporated herein by reference to Exhibit 3.1 to the Registrant&rsquo;s Annual Report on Form 10-K filed with the Commission on March 31, 2009</FONT></TD></TR>
  <TR>
    <TD STYLE="white-space: nowrap; vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">4.1.1</FONT></TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt"><A HREF="https://www.sec.gov/Archives/edgar/data/889609/000088960910000073/cpssex313.htm"><FONT STYLE="font-size: 10pt">Certificate of Designation regarding Series B Preferred</FONT></A><FONT STYLE="font-size: 10pt">, incorporated by reference to Exhibit 3.1.1 to the Registrant&rsquo;s Current Report on Form 8-K filed with the Commission on December 30, 2010</FONT></TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="white-space: nowrap; vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">4.2</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt"><A HREF="https://www.sec.gov/Archives/edgar/data/889609/000168316821006089/cps_ex030302.htm"><FONT STYLE="font-size: 10pt">Amended and Restated Bylaws</FONT></A><FONT STYLE="font-size: 10pt">, incorporated herein by reference to Exhibit 3.2 to the Registrant&rsquo;s Current Report on Form 8-K filed with the Commission on December 3, 2021</FONT></TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="white-space: nowrap; vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">4.3</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">Consumer Portfolio Services, Inc. </FONT><A HREF="https://www.sec.gov/Archives/edgar/data/889609/000168316825008677/cpss_ex1001.htm"><FONT STYLE="font-size: 10pt">2025 Equity Incentive Plan</FONT></A><FONT STYLE="font-size: 10pt">, incorporated herein by reference to the Registrant&rsquo;s Current Report on Form 8-K filed with the Commission on November 25, 2025</FONT></TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="white-space: nowrap; vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">5*</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt"><A HREF="cps_ex0501.htm">Opinion of Counsel</A></FONT></TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="white-space: nowrap; vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">23.1*</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt"><A HREF="cps_ex2301.htm">Consent of Crowe LLP</A> </FONT></TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="white-space: nowrap; vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">23.2*</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt"><A HREF="cps_ex0501.htm">Consent of Counsel</A> (included in the opinion filed as Exhibit 5 to this Registration Statement) </FONT></TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="white-space: nowrap; vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">24*</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt"><A HREF="#poa">Power of Attorney</A> (included after the signature of the Registrant contained in this Registration Statement) </FONT></TD></TR>
  <TR>
    <TD STYLE="white-space: nowrap; vertical-align: top; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="white-space: nowrap; vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">107*</FONT></TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt"><A HREF="cps_ex107.htm">Filing Fee Table</A></FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 2%; font-size: 10pt"><FONT STYLE="font-size: 10pt">*</FONT></TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">Filed herewith </FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"></P>

<!-- Field: Page; Sequence: 6 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->5<!-- Field: /Sequence --></TD><TD STYLE="width: 33%; text-align: right">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0"></TD><TD STYLE="width: 1in"><B>Item 9.</B></TD><TD><B>Undertakings. </B></TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>&nbsp;</B></P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in">(a)</TD><TD>The Registrant hereby undertakes:</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(1)</TD><TD>To file, during any period in which offers or sales are being made, a post-effective amendment to this Registration Statement:</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.75in"></TD><TD STYLE="width: 0.25in">(i)</TD><TD>To include any prospectus required by Section 10(a)(3) of the Securities Act;</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 1in">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.75in"></TD><TD STYLE="width: 0.25in">(ii)</TD><TD STYLE="text-align: justify">To reflect in the prospectus any facts or events arising after the effective date of the Registration Statement (or the most recent
post-effective amendment thereof) which, individually or in the aggregate, represent a fundamental change in the information set forth
in the Registration Statement. Notwithstanding the foregoing, any increase or decrease in volume of securities offered (if the total dollar
value of securities offered would not exceed that which was registered) and any deviation from the low or high end of the estimated maximum
offering range may be reflected in the form of prospectus filed with the Commission pursuant to Rule 424(b) if, in the aggregate, the
changes in volume and price represent no more than a 20 percent change in the maximum aggregate offering price set forth in the &ldquo;Calculation
of Registration Fee&rdquo; table in the effective Registration Statement;</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.75in"></TD><TD STYLE="width: 0.25in">(iii)</TD><TD STYLE="text-align: justify">To include any material information with respect to the plan of distribution not previously disclosed in the Registration Statement
or any material change to such information in the Registration Statement;</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><I>provided, however</I>, that paragraphs (a)(1)(i) and (a)(1)(ii)
do not apply if the information required to be included in a post-effective amendment by those paragraphs is contained in reports filed
with or furnished to the Commission by the Registrant pursuant to Section 13 or 15(d) of the Exchange Act that are incorporated by reference
in the Registration Statement; and</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(2)</TD><TD STYLE="text-align: justify">That, for the purpose of determining any liability under the Securities Act, each such post-effective amendment shall be deemed to
be a new registration statement relating to the securities offered therein, and the offering of such securities at that time shall be
deemed to be the initial bona fide offering thereof.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.75in">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.5in"></TD><TD STYLE="width: 0.25in">(3)</TD><TD STYLE="text-align: justify">To remove from registration by means of a post-effective amendment any of the securities being registered which remain unsold at the
termination of the offering.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in">(b)</TD><TD STYLE="text-align: justify">The Registrant hereby undertakes that, for the purposes of determining any liability under the Securities Act, each filing of the
Registrant&rsquo;s annual report pursuant to Section 13(a) or Section 15(d) of the Exchange Act (and, where applicable, each filing of
an employee benefit plan&rsquo;s annual report pursuant to Section 15(d) of the Exchange Act) that is incorporated by reference in the
Registration Statement shall be deemed to be a new registration statement relating to the securities offered therein, and the offering
of such securities at that time shall be deemed to be the initial bona fide offering thereof.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in">&nbsp;</P>

<TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="100%" STYLE="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><TR STYLE="vertical-align: top">
<TD STYLE="width: 0.25in"></TD><TD STYLE="width: 0.25in">(c)</TD><TD STYLE="text-align: justify">Insofar as indemnification for liabilities arising under the Securities Act may be permitted to directors, officers and controlling
persons of the Registrant pursuant to the foregoing provisions, or otherwise, the Registrant has been advised that in the opinion of the
Commission such indemnification is against public policy as expressed in the Securities Act and is, therefore, unenforceable. In the event
that a claim for indemnification against such liabilities (other than the payment by the Registrant of expenses incurred or paid by a
director, officer or controlling person of the Registrant in the successful defense of any action, suit or proceeding) is asserted by
such director, officer or controlling person in connection with the securities being registered, the Registrant will, unless in the opinion
of its counsel the matter has been settled by controlling precedent, submit to a court of appropriate jurisdiction the question whether
such indemnification by it is against public policy as expressed in the Securities Act and will be governed by the final adjudication
of such issue.</TD></TR></TABLE>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B></B></P>

<!-- Field: Page; Sequence: 7 -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->6<!-- Field: /Sequence --></TD><TD STYLE="width: 33%; text-align: right">&nbsp;</TD></TR></TABLE></DIV>
    <DIV STYLE="break-before: page; margin-top: 6pt; margin-bottom: 6pt"><P STYLE="margin: 0pt">&nbsp;</P></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B>SIGNATURES</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Pursuant to the requirements of the Securities Act of 1933, the Registrant
certifies that it has reasonable grounds to believe that it meets all of the requirements for filing on Form S-8 and has duly caused this
Registration Statement to be signed on its behalf by the undersigned, thereunto duly authorized, in the City of Irvine, State of California,
on December 10, 2025.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD>&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; width: 0%">&nbsp;</TD>
    <TD STYLE="width: 98%">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: top">
    <TD COLSPAN="3" STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">CONSUMER PORTFOLIO SERVICES, INC.</FONT></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 40%; border-collapse: collapse">
  <TR>
    <TD>&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="3">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">By:</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="border-bottom: Black 1pt solid; vertical-align: top">
    /s/ Denesh Bharwani</TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; font-size: 10pt; width: 7%">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; width: 3%">&nbsp;</TD>
    <TD STYLE="vertical-align: top; width: 5%">Name:</TD>
    <TD STYLE="vertical-align: top; width: 25%">
                                                Denesh Bharwani</TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top">Title:</TD>
    <TD STYLE="vertical-align: top">Executive Vice President and <BR>
Chief Financial Officer</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"><B><A NAME="poa"></A>POWER OF ATTORNEY</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">KNOW ALL PERSONS BY THESE PRESENTS, that each person whose signature
appears below hereby constitutes and appoints Denesh Bharwani&nbsp; and &nbsp;Charles E. Bradley, Jr. as his or her true and lawful attorneys-in-fact
and agents with full power of substitution, severally, for him or her in any and all capacities, to sign the Registration Statement on
Form S-8 of Consumer Portfolio Services, Inc., and any or all amendments (including post-effective amendments thereto), which relates
to the registration and issuance of the Common Stock pursuant to the Consumer Portfolio Services, Inc. 2025 Equity Incentive Plan, and
to file the same, with all exhibits thereto and other documents in connection therewith, with the Securities and Exchange Commission,
granting unto said attorneys-in-fact and agents full power and authority to do and perform each and every act and thing requisite and
necessary to be done in connection therewith, as fully for all intents and purposes as he might or could do in person, hereby ratifying
and confirming all that said attorneys-in-fact and agents, or his, her or their substitute or substitutes, may lawfully do or cause to
be done by virtue hereof.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Pursuant to the requirements of the Securities Act of 1933, this Registration
Statement on Form S-8 has been signed by the following persons in the capacities and on the dates indicated.</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR>
    <TD STYLE="width: 32%">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; width: 2%">&nbsp;</TD>
    <TD STYLE="width: 32%">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; width: 2%">&nbsp;</TD>
    <TD STYLE="width: 32%">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="border-bottom: Black 1pt solid; text-align: center; white-space: nowrap">
    SIGNATURE</TD>
    <TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center"><FONT STYLE="font-size: 10pt">TITLE</FONT></TD>
    <TD STYLE="padding-bottom: 1pt">&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid; font-size: 10pt; text-align: center"><FONT STYLE="font-size: 10pt">DATE</FONT></TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD>
    <TD COLSPAN="2">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; border-bottom: black 0.75pt solid">/s/ CHARLES E. BRADLEY</P></TD>
    <TD>&nbsp;</TD>
    <TD>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Chief Executive Officer</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">and Chairman of the Board</P></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">December 10, 2025</FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">Charles E. Bradley</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt; text-align: center"><FONT STYLE="font-size: 10pt">(Principal Executive Officer)</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2" STYLE="vertical-align: top">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; border-bottom: black 0.75pt solid">/s/ MICHAEL T. LAVIN</P></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">President, Chief Operating Officer and</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Chief Legal Officer</P></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt"><FONT STYLE="font-size: 10pt">December 10, 2025</FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">Michael T. Lavin</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>
<DIV STYLE="padding: 0in; border-bottom: black 0.75pt solid">

    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">/s/ <FONT STYLE="font-variant: small-caps">DENESH BHARWANI</FONT></P>
</DIV></TD>
    <TD>&nbsp;</TD>
    <TD>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Executive Vice President and</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Chief Financial Officer</P></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">December 10, 2025</FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom; font-size: 10pt"><FONT STYLE="font-size: 10pt">Denesh Bharwani </FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt; text-align: center"><FONT STYLE="font-size: 10pt">(Principal Financial and Accounting Officer)</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt; text-align: center">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; border-bottom: black 0.75pt solid">/s/ WILLIAM W. GROUNDS</P></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Director</P></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt"><FONT STYLE="font-size: 10pt">December 10, 2025</FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom; font-size: 10pt"><FONT STYLE="font-size: 10pt">William W. Grounds </FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2" STYLE="vertical-align: top">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; border-bottom: black 0.75pt solid">/s/ LOUIS M. GRASSO</P></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Director</P></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt"><FONT STYLE="font-size: 10pt">December 10, 2025</FONT></TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">Louis M. Grasso</FONT></TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD>&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR STYLE="vertical-align: bottom">
    <TD>
<DIV STYLE="padding: 0in; border-bottom: black 0.75pt solid">

    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">/s/ <FONT STYLE="font-variant: small-caps">BRIAN J. RAYHILL</FONT></P>
</DIV></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font-size: 10pt; text-align: center"><FONT STYLE="font-size: 10pt">Director</FONT></TD>
    <TD>&nbsp;</TD>
    <TD STYLE="font-size: 10pt"><FONT STYLE="font-size: 10pt">December 10, 2025</FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">Bryan J. Rayhill</FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2" STYLE="vertical-align: top">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; border-bottom: black 0.75pt solid">/s/ <FONT STYLE="font-variant: small-caps">WILLIAM
    B. ROBERTS</FONT></P></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Director</P></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt"><FONT STYLE="font-size: 10pt">December 10, 2025</FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: top; font-size: 10pt"><FONT STYLE="font-size: 10pt">William B. Roberts </FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt; text-align: center">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2" STYLE="vertical-align: top">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; border-bottom: black 0.75pt solid">/s/ GREGORY S. WASHER</P></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Director</P></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt"><FONT STYLE="font-size: 10pt">December 10, 2025</FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom; font-size: 10pt"><FONT STYLE="font-size: 10pt">Gregory S. Washer </FONT></TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom; border-bottom: Black 1pt solid; font-size: 10pt"><FONT STYLE="font-size: 10pt">/s/ DANIEL S. WOOD </FONT></TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: top">
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">Director</P></TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt"><FONT STYLE="font-size: 10pt">December 10, 2025</FONT></TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom; font-size: 10pt"><FONT STYLE="font-size: 10pt">Daniel S. Wood&nbsp;&nbsp;</FONT></TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: top; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom; font-size: 10pt">&nbsp;</TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2" STYLE="vertical-align: top">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: top">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD>
    <TD STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD COLSPAN="2" STYLE="vertical-align: top">&nbsp;</TD>
    <TD COLSPAN="2" STYLE="vertical-align: bottom">&nbsp;</TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center"></P>

<!-- Field: Page; Sequence: 8; Options: Last -->
    <DIV STYLE="margin-top: 6pt; margin-bottom: 6pt"><TABLE CELLPADDING="0" CELLSPACING="0" STYLE="border-bottom: Black 1pt solid; border-collapse: collapse; width: 100%; font-size: 10pt"><TR STYLE="vertical-align: top; text-align: left"><TD STYLE="width: 33%">&nbsp;</TD><TD STYLE="width: 34%; text-align: center"><!-- Field: Sequence; Type: Arabic; Name: PageNo -->7<!-- Field: /Sequence --></TD><TD STYLE="width: 33%; text-align: right">&nbsp;</TD></TR></TABLE></DIV>
    <!-- Field: /Page -->

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-5.1
<SEQUENCE>2
<FILENAME>cps_ex0501.htm
<DESCRIPTION>LEGAL OPINION
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="margin: 0"></P>

<P STYLE="margin: 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"><B>Exhibit 5.1</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"><FONT STYLE="color: White">&nbsp;</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; background-color: black; text-indent: 0.5in"><FONT STYLE="font-family: Times New Roman, Times, Serif; font-size: 8pt; color: White"><B>C<FONT STYLE="font-variant: small-caps">onsumer</FONT>
P<FONT STYLE="font-variant: small-caps">ortfolio</FONT> S<FONT STYLE="font-variant: small-caps">ervices</FONT>, I<FONT STYLE="font-variant: small-caps">nc</FONT></B></FONT><FONT STYLE="font-size: 8pt; color: White">.</FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 5.5in"><FONT STYLE="font-size: 8pt"><I></I></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 5.5in"><FONT STYLE="font-size: 8pt"><I>3800 Howard Hughes Parkway,
Suite 1400</I></FONT></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 5.5in"><FONT STYLE="font-size: 8pt"><I>Las Vegas, Nevada 89169</I></FONT></P>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 5.5in"></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">December 10, 2025</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Consumer Portfolio Services, Inc.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">3800 Howard Hughes Parkway, Suite 1400</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Las Vegas, Nevada 89169</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B><I>RE: Registration Statement on Form S-8 </I></B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"><B>&nbsp;</B></P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">Ladies and Gentlemen:</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">I am acting as counsel for
Consumer Portfolio Services, Inc. (the &ldquo;Company&rdquo;) in connection with the preparation and filing with the Securities and Exchange
Commission (the &ldquo;Commission&rdquo;) of a Registration Statement on Form S-8 (the &ldquo;Registration Statement&rdquo;) for the registration
under the Securities Act of 1933, as amended (the &ldquo;Securities Act&rdquo;), of a maximum of 4,501,330&nbsp;shares (the &ldquo;Shares&rdquo;)
of the Company&rsquo;s common stock, no par value (the &ldquo;Common Stock&rdquo;), to be issued by the Company pursuant to awards under
the Consumer Portfolio Services Inc. 2025 Equity Incentive Plan (as amended from time to time, the &ldquo;Plan&rdquo;).</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">In connection with this opinion,
I have examined the Registration Statement, the Company&rsquo;s Restated Articles of Incorporation, as amended, and Amended and Restated
Bylaws and the originals or copies, certified or otherwise identified to my satisfaction, of such records, agreements, documents, certificates,
memoranda and other instruments as in my judgment, are necessary or appropriate to enable me to render the opinion expressed below. As
President, Chief Operating Officer and Chief Legal Officer of the Company, I have general responsibility for supervising attorneys who
may have been asked to review legal matters arising in connection with the offering and sale of the Shares. Accordingly, some of the matters
referred to herein have not been handled personally by me, but I have been made familiar with the facts and circumstances and the applicable
law. The opinions expressed herein are my own or are opinions of others with which I concur.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">In rendering this opinion,
I have assumed the genuineness of all signatures on all documents examined by me, the due authorization of the parties signing such documents,
the authenticity of all documents submitted to me as originals, the conformity to authentic originals of all documents submitted to me
as copies and that the offer and sale of the Shares complies in all respects with the terms, conditions and restrictions set forth in
the Registration Statement and the Plan. Furthermore, the Company has reserved from its duly authorized capital stock a sufficient number
of shares of Common Stock, including the Shares, for issuance under the Plan and will keep such reserve available at all times to enable
the Company to issue and deliver the Shares upon the settlement of awards under the Plan.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">Based upon, subject to and
limited by the foregoing, and based upon my examination of such documents and other matters as I deem relevant, it is my opinion that
the Shares to be offered by the Company under the Plan pursuant to the Registration Statement are duly authorized and, when issued and
sold by the Company in accordance with the Plan and the awards thereunder, the Registration Statement and the related prospectus, will
be validly issued, fully paid and non-assessable.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">This opinion letter speaks
only as of its date. I do not undertake any obligation to advise you or any other party of changes of law or fact that occur after the
date of this opinion letter - even though the change may affect the legal analysis or legal conclusion in this opinion letter.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-indent: 0.5in">I hereby consent to the filing of this opinion
with the Commission as Exhibit 5 to the Registration Statement. In giving such consent, I do not admit that I am within the category of
persons whose consent is required by Section 7 of the Securities Act or the rules and regulations promulgated thereunder by the Commission.</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: center">&nbsp;</P>

<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse">
  <TR STYLE="vertical-align: top">
    <TD STYLE="width: 50%">&nbsp;</TD>
    <TD STYLE="width: 50%">
    Very truly yours,</TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD>&nbsp;</TD></TR>
  <TR>
    <TD>&nbsp;</TD>
    <TD STYLE="border-bottom: Black 1pt solid">
    <I>/s/ Michael T. Lavin </I></TD></TR>
  <TR STYLE="vertical-align: top">
    <TD>&nbsp;</TD>
    <TD>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 10pt; text-indent: -10pt">Michael T. Lavin</P>
    <P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">President, Chief Operating Officer and Chief Legal Officer</P></TD></TR>
  </TABLE>
<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

<P STYLE="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0">&nbsp;</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>3
<FILENAME>cps_ex2301.htm
<DESCRIPTION>CONSENT OF CROWE LLP
<TEXT>
<HTML>
<HEAD>
     <TITLE></TITLE>
</HEAD>
<BODY STYLE="font: 10pt Times New Roman, Times, Serif">

<P STYLE="text-align: right; margin: 0"><B>Exhibit 23.1</B></P>

<P STYLE="margin: 0; text-align: right">&nbsp;</P>

<P STYLE="margin: 0; text-align: right">&nbsp;</P>

<P STYLE="margin-top: 0; margin-bottom: 0; text-align: center"><B>CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</B></P>

<P STYLE="margin-top: 0; margin-bottom: 0; text-align: center"><B>&nbsp;</B></P>

<P STYLE="margin-top: 0; margin-bottom: 0; text-align: justify">We consent to the incorporation by reference in this Registration Statement
on Form S-8 of Consumer Portfolio Services, Inc. of our report dated March 12, 2025 relating to the consolidated financial statements
and effectiveness of internal control over financial reporting appearing in the Annual Report on Form 10-K of Consumer Portfolio Services,
Inc. for the year ended December 31, 2024.</P>

<P STYLE="margin-top: 0; margin-bottom: 0; text-align: justify">&nbsp;</P>

<P STYLE="margin-top: 0; margin-bottom: 0; text-align: justify">&nbsp;</P>

<P STYLE="margin-left: 180pt; margin-top: 0; margin-bottom: 0; text-align: center"><IMG SRC="image_001.jpg" ALT=""></P>

<P STYLE="margin-top: 0; margin-bottom: 0; text-align: justify">&nbsp;</P>

<P STYLE="margin-left: 360pt; margin-top: 0; margin-bottom: 0; text-align: justify">Crowe LLP</P>

<P STYLE="margin-top: 0; margin-bottom: 0; text-align: justify">&nbsp;</P>

<P STYLE="margin-top: 0; margin-bottom: 0; text-align: justify">Los Angeles, California</P>

<P STYLE="margin-top: 0; margin-bottom: 0; text-align: justify">December 10, 2025</P>

</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-FILING FEES
<SEQUENCE>4
<FILENAME>cps_ex107.htm
<DESCRIPTION>FILING FEE IXBRL
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!-- Template (c) 2024-2025 Novaworks, LLC -->
<!-- Field: Set; Name: AliasFileType; Value: Forms View; Template: Fee Exhibit\Fee Exhibit FA.xds -->
<!-- Field: Set; Name: Platform; Value: Novaworks Fee Exhibit Editor; Version: 1.4a -->
<!-- Field: Set; Name: Control; Value: VGVtcGxhdGU6IChkZWZhdWx0KQ0KQmFzZSBGb250OiBUaW1lcyBOZXcgUm9tYW4sIFRpbWVzLCBTZXJpZg0KQ2FwdGlvbiBTaXplOiAxMnB0DQpUYWJsZSBUaXRsZSBTaXplOiAxMXB0DQpUYWJsZSBIZWFkIFNpemU6IDhwdA0KVGFibGUgQm9keSBTaXplOiAxMHB0 -->
<!-- Field: Set; Name: MD5; Value: 172274437a9832b6977a89c2be768c2c -->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2025" xmlns:ffd="http://xbrl.sec.gov/ffd/2025">
<head>
  <title>Filing Fee Exhibit</title>
  <meta http-equiv="Content-Type" content="text/html"/>
  </head>
<body style="font: 10pt Times New Roman, Times, Serif">

<div style="display: none">
  <ix:header>
    <ix:hidden>
      <ix:nonNumeric name="ffd:SubmissnTp" contextRef="c_report" id="fee_001">S-8</ix:nonNumeric>
      <ix:nonNumeric name="ffd:FeeExhibitTp" contextRef="c_report" id="fee_002">EX-FILING FEES</ix:nonNumeric>
      <ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="c_report" id="fee_003">0000889609</ix:nonNumeric>
      <ix:nonNumeric name="ffd:PrevslyPdFlg" contextRef="c_offering_1" format="ixt:booleanfalse" id="fee_004">Fees to be Paid</ix:nonNumeric>
      <ix:nonNumeric name="ffd:OfferingTableNa" contextRef="c_report" xs:nil="true" id="fee_005"></ix:nonNumeric>
      <ix:nonNumeric name="ffd:OffsetTableNa" contextRef="c_report" id="fee_006">N/A</ix:nonNumeric>
      </ix:hidden>
    <ix:references>
      <link:schemaRef xlink:href="https://xbrl.sec.gov/ffd/2025/ffd-2025.xsd" xlink:type="simple"/>
      </ix:references>
    <ix:resources>
      <xbrli:context id="c_offering_1">
        <xbrli:entity>
          <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889609</xbrli:identifier>
          <xbrli:segment>
            <xbrldi:typedMember dimension="ffd:OfferingAxis"><dei:lineNo>1</dei:lineNo></xbrldi:typedMember>
            </xbrli:segment>
          </xbrli:entity>
        <xbrli:period>
          <xbrli:startDate>2025-12-09</xbrli:startDate>
          <xbrli:endDate>2025-12-09</xbrli:endDate>
          </xbrli:period>
        </xbrli:context>
      <xbrli:context id="c_report">
        <xbrli:entity>
          <xbrli:identifier scheme="http://www.sec.gov/CIK">0000889609</xbrli:identifier>
          </xbrli:entity>
        <xbrli:period>
          <xbrli:startDate>2025-12-09</xbrli:startDate>
          <xbrli:endDate>2025-12-09</xbrli:endDate>
          </xbrli:period>
        </xbrli:context>
      <xbrli:unit id="USD">
        <xbrli:measure>iso4217:USD</xbrli:measure>
        </xbrli:unit>
      <xbrli:unit id="pure">
        <xbrli:measure>xbrli:pure</xbrli:measure>
        </xbrli:unit>
      <xbrli:unit id="shares">
        <xbrli:measure>xbrli:shares</xbrli:measure>
        </xbrli:unit>
      </ix:resources>
    </ix:header>
  </div>

<p style="font: bold 12pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 12pt; text-align: right">Ex-Filing Fees</p>

<p style="font: bold 12pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 6pt; text-align: center">CALCULATION OF FILING FEE TABLES</p>

<p style="font: bold 12pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 6pt; text-align: center"><ix:nonNumeric name="ffd:FormTp" contextRef="c_report" id="fee_007">S-8</ix:nonNumeric></p>

<p style="font: bold 12pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 12pt; text-align: center"><ix:nonNumeric name="dei:EntityRegistrantName" contextRef="c_report" id="fee_008">Consumer Portfolio Services, Inc.</ix:nonNumeric></p>

<p style="font: bold 11pt Times New Roman, Times, Serif; border-top: Gray 3pt double; padding-top: 6pt; text-align: center; margin-top: 0pt; margin-bottom: 4pt">Table 1: Newly Registered Securities</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%">
<tr style="font-size: 2pt; vertical-align: bottom; text-align: center; font-weight: bold">
  <td style="width: 16%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 18%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 7%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 9%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 10%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 5%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 10%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 5%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 9%">&#160;</td></tr>
<tr style="font-size: 8pt; vertical-align: bottom; text-align: center; font-weight: bold">
  <td style="border-bottom: Black 1pt solid">Security Type</td>
  <td style="padding-bottom: 1pt">&#160;</td>
  <td style="border-bottom: Black 1pt solid">Security Class Title</td>
  <td style="padding-bottom: 1pt">&#160;</td>
  <td style="border-bottom: Black 1pt solid">Notes</td>
  <td style="padding-bottom: 1pt">&#160;</td>
  <td style="border-bottom: Black 1pt solid">Fee Calculation<br/> Rule</td>
  <td style="padding-bottom: 1pt">&#160;</td>
  <td style="border-bottom: Black 1pt solid">Amount Registered</td>
  <td>&#160;</td>
  <td colspan="2" style="border-bottom: Black 1pt solid">Proposed Maximum Offering<br/> Price Per Unit</td>
  <td>&#160;</td>
  <td colspan="2" style="border-bottom: Black 1pt solid">Maximum Aggregate Offering Price</td>
  <td style="padding-bottom: 1pt">&#160;</td>
  <td style="border-bottom: Black 1pt solid">Fee Rate</td>
  <td>&#160;</td>
  <td colspan="2" style="border-bottom: Black 1pt solid">Amount of Registration Fee</td></tr>
<tr style="font-size: 2pt; vertical-align: top; text-align: left">
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td></tr>
<tr style="vertical-align: top; text-align: left">
  <td style="white-space: nowrap"><ix:nonNumeric name="ffd:OfferingSctyTp" contextRef="c_offering_1" id="fee_009">Equity</ix:nonNumeric></td>
  <td>&#160;</td>
  <td><ix:nonNumeric name="ffd:OfferingSctyTitl" contextRef="c_offering_1" id="fee_010">Common Stock, no par value per share</ix:nonNumeric></td>
  <td>&#160;</td>
  <td style="text-align: center">(1)</td>
  <td>&#160;</td>
  <td style="text-align: center"><ix:nonNumeric name="ffd:FeesOthrRuleFlg" contextRef="c_offering_1" format="ixt:booleantrue" id="fee_011">Other</ix:nonNumeric></td>
  <td>&#160;</td>
  <td style="text-align: right"><ix:nonFraction name="ffd:AmtSctiesRegd" unitRef="shares" decimals="0" format="ixt:numdotdecimal" contextRef="c_offering_1" id="fee_012">4,501,330</ix:nonFraction></td>
  <td>&#160;</td>
  <td>$</td>
  <td style="text-align: right"><ix:nonFraction name="ffd:MaxOfferingPricPerScty" unitRef="USD" decimals="INF" format="ixt:numdotdecimal" contextRef="c_offering_1" id="fee_013">8.3950</ix:nonFraction></td>
  <td>&#160;</td>
  <td>$</td>
  <td style="text-align: right"><ix:nonFraction name="ffd:MaxAggtOfferingPric" unitRef="USD" decimals="INF" format="ixt:numdotdecimal" contextRef="c_offering_1" id="fee_014">37,788,665.00</ix:nonFraction></td>
  <td>&#160;</td>
  <td style="text-align: center"><ix:nonFraction name="ffd:FeeRate" unitRef="pure" decimals="INF" format="ixt:numdotdecimal" contextRef="c_offering_1" id="fee_015">0.0001381</ix:nonFraction></td>
  <td>&#160;</td>
  <td>$</td>
  <td style="text-align: right"><ix:nonFraction name="ffd:FeeAmt" unitRef="USD" decimals="INF" format="ixt:numdotdecimal" contextRef="c_offering_1" id="fee_016">5,218.61</ix:nonFraction></td></tr>
<tr style="font-size: 4pt; vertical-align: top; text-align: left">
  <td style="width: 17%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 25%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 5%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 8%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 8%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 5%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
  <td style="border-bottom: Black 1pt solid; width: 8%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="width: 5%">&#160;</td>
  <td style="width: 1%">&#160;</td>
  <td style="border-bottom: Black 1pt solid; width: 1%">&#160;</td>
  <td style="border-bottom: Black 1pt solid; width: 8%">&#160;</td></tr>
<tr style="vertical-align: top; text-align: left">
  <td colspan="12" style="text-align: right">Total Offering Amounts:</td>
  <td>&#160;</td>
  <td>$</td>
  <td style="text-align: right"><ix:nonFraction name="ffd:TtlOfferingAmt" contextRef="c_report" id="fee_017" decimals="INF" format="ixt:numdotdecimal" unitRef="USD">37,788,665.00</ix:nonFraction></td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td style="text-align: right"><ix:nonFraction name="ffd:TtlFeeAmt" contextRef="c_report" id="fee_018" decimals="INF" format="ixt:numdotdecimal" unitRef="USD">5,218.61</ix:nonFraction></td></tr>
<tr style="vertical-align: top; text-align: left">
  <td colspan="12" style="text-align: right">Total Fee Offsets:</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td style="border-bottom: Black 1pt solid">&#160;</td>
  <td style="border-bottom: Black 1pt solid; text-align: right"><ix:nonFraction name="ffd:TtlOffsetAmt" contextRef="c_report" id="fee_019" decimals="INF" format="ixt:numdotdecimal" unitRef="USD">0.00</ix:nonFraction></td></tr>
<tr style="vertical-align: top; text-align: left">
  <td colspan="12" style="text-align: right">Net Fee Due:</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td>&#160;</td>
  <td style="border-bottom: Black 3pt double">$</td>
  <td style="border-bottom: Black 3pt double; text-align: right"><ix:nonFraction name="ffd:NetFeeAmt" contextRef="c_report" id="fee_020" decimals="INF" format="ixt:numdotdecimal" unitRef="USD">5,218.61</ix:nonFraction></td></tr>
</table>

<p style="font: bold 8pt Arial, Helvetica, Sans-Serif; color: rgb(50,101,255); margin-top: 0pt; margin-bottom: 0pt">&#160;</p>

<p style="font: bold 8pt Times New Roman, Times, Serif; margin-top: 6pt; margin-bottom: 6pt">__________________________________________<br/>
Offering Note(s)</p>

<table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 6pt; width: 100%">
<tr style="vertical-align: top; text-align: justify">
  <td style="width: 15pt; text-align: right">(1)</td><td style="width: 5pt"/>
  <td style="text-align: justify"><ix:nonNumeric name="ffd:OfferingNote" escape="1" contextRef="c_offering_1" id="fee_021">Pursuant to Rule 416(a) under the Securities Act of 1933, as amended (the &#8220;Securities Act&#8221;), this Registration Statement shall also cover any additional shares of the Consumer Portfolio Services, Inc.&#8217;s (the &#8220;Registrant&#8221;) common stock, no par value per share (the &#8220;Common Stock&#8221;), that become issuable under the Registrant&#8217;s 2025 Equity Incentive Plan (the &#8220;2025 Equity Plan&#8221;) by reason of any stock dividend, stock split, recapitalization, or other similar transaction effected that results in the increase in the number of outstanding shares of the Common Stock.<br/><br/>Represents 4,501,330 shares of Common Stock reserved for issuance under the 2025 Equity Plan that were not previously registered for issuance on a registration statement on Form S-8. The total number of shares of Common Stock reserved for issuance under the 2025 Equity Plan consists of (a) 3,000,000 shares of Common Stock reserved for future issuances under the 2025 Equity Plan, (b) 1,501,330 shares of Common Stock previously reserved but unissued under the CPS 2006 Long-Term Equity Incentive Plan that are now available for issuance under the 2025 Equity Plan, and (c) any shares of Common Stock that expire or are forfeited, surrendered, terminated (other than by exercise), cancelled, lapsed or reacquired by the Registrant prior to vesting, without the delivery of any shares of Common Stock in accordance with the terms of the 2006 Equity Plan, and comply with the share recycling provisions of the 2006 Equity Plan and Section 5(c) of the 2025 Equity Plan.<br/><br/>Estimated solely for the purpose of calculating the amount of the registration fee pursuant to Rule 457(c) and Rule 457(h) under the Securities Act. The offering price per share and aggregate offering price are based on the average of the high and low prices of the Common Stock as reported on the Nasdaq Global Market on December 3, 2025, which is a date within five business days prior to the filing of this Registration Statement.<br/><br/>The Registrant does not have any fee offsets.<br/><br/></ix:nonNumeric></td></tr>
  </table>


</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>5
<FILENAME>image_001.jpg
<DESCRIPTION>GRAPHIC
<TEXT>
begin 644 image_001.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  @&!@<&!0@'!P<)"0@*#!0-# L+
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I+# Q-#0T'R<Y/3@R/"XS-#+_
MVP!# 0@)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C+_P  1"  U +D# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#W^BBB@ HH
MKDO&OC_3O!L4,!AEU#5[KBTTVVYEE/0$XSA<\9P?8'!H ZVBN(^&/C6_\<:'
M>WFHZ='93VMX]L5C)VG ![\@C=@_Y%=O0 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 445A^+?$D7A7P_-J+Q-<7!98;6V3[UQ.W"(/J?
M3L": ,_QAXODT66VT71K=;_Q)J (M+0GY8U[RRG^%!@_7&!W(RK3P%=:-H>I
M7D%R=0\8ZFGE3:O-@-$7(4E/[J(#D*.NT#T T_!'A*71$N=7UB47?B34R)+Z
MY/(3TB3T1>![X]  .NH R/#/ARP\*>'[71M.0B"W7!9OO2,>69O<GG].E:]-
M+JK*I8!F^Z">3]*P;OQQX8L=>AT.XUJU74YI%B6W!+-O) "G (4G(X..M '0
M45G:YKVF>&]*EU/5KM+:UCZNW))[  <DGT%8'A'XE^'_ !K<WD.DM<C[)&)9
M7GBV+M)(ZY]N] '845E>'_$NC^*=.^WZ+?1W=L'*%E!4JP[%6 (/U'0YKE]6
M^,G@K2X9775#>RQ7 MV@M$+/N[D9P&48^\"1Z9S0!WM%>4?$OXT6?A&5])T:
M.*^UA>)"Y)BM_9L'+-_L@C'<]CO?"GQ9K?C+PD^JZW9PV[_:&CA>%&19D 'S
M $G^+<,CCCVH [FBBFNZQQL[L%102S$X  [T <'\1_B'/X*N=$LM/TT:C?ZE
M<;5@W8)0%00,?Q,6 ';K]*[ZO+?!5F/'/C.[^(=[$?L4.ZRT.-Q_RS4D-,1Z
MDEL>F6] :]2H X'QG\0+OPWXX\,>'[.RBN1JLP6X+$[D1G" KCT^8G.>G;K7
M7ZW>7.GZ%J%[96IN[JWMY)8;=<YE=5)"\<\D8XKS;P/;KXU^)6N>.IQYEE9.
M=-T@GD848>1?KDD?]=&':O5)YH[:"2>9UCBC4N[L<!5 R2: /G/3/B[\2/%G
MB.WT'3;?2K*_EW#:T#+C:I8[M[-C@'M6SJGQ3\??#_5+6U\8:5I=Y!."4:TE
M"R.!C)&"<=>Z#/K7'>%;KQ-XZ^)6M:QX>@BBO[ARRZC<\C3X#E0 .A<IA!P3
M@'W(]G\*?"/1/#]^-7U&:?6];W!VOKX[L/\ WE4DX/3DEB.Q% '=65S]LL;>
MZ\F6'SHED\J9=KID9VL.Q&<$5/110 4444 %<!KTD>H_&3PQI=PY$-E93ZC'
M&Q^664_(O'<J S#TKOZX7XB^![_Q,=-U;0-0&G^(-*=GM9FX5U;&58@'T]".
M2",'@ [JH;N\MM/M);N\N(K>WB7=)+*P55'J2>E>46^J_'%V6TD\/Z"@^Z;V
M208_WB%E)_\ '?PK8TOX:WFHW4.H^/=<EU^YC(=+$#991-Z^6  Y]R!GN#0!
MY[\:KF\N?&_@[5/#M],;J\ME%B8V*\L_RL >F[> <]0.:]'T/P+X:^'/AV?6
M;NU6^U&S@>[NM0F023,ZJ68IN^[WQC!]23S6EKG@&SUSQUH?BB:Z=7TI2HMM
MF4DQDH0<_*0QST.<#IBNIN;:&\M9K6YB26"9#')&XRKJ1@@CN"* /E_4_$B^
M+I8_$/B%QJE[<NT6A^&;5RR(=Q4/,%YQD=.&<XZ+TZK6?#=U\-/@7JAPBZSK
M$B+?R1!0(U<\QK@8VA2R\<9=L=J]5\._#WPIX4NFNM&T:&WN6&/.9WD<#T!<
MDK^&*TO$'A[3?%&CRZ5JT!GM)2K,@<J<@Y!!!SU% 'S[JOC;2? /PVA\(^%[
MF*?6KN(-J5[;2!TC=U&_:XX9OX01T ZYKD/"FB7FE>$]4\>M;%EL66#3RZ!E
M$[$+YV#V3/'&-Y7^Z:^F+?X9>#K;P_<:'%HD(L+EE>9=[[Y"IRI,F=W!Z<]S
MZFM^VT73+31ET>"PMTTU8S%]E\L&,J>H*G@YR<YZY.: /E'PUHW@6/4%U/Q9
MXLCO+4Q+,;2VBG\Z28\LDA*= <C(//7(KZ$\%?$/2/%DR6.@Z'JL-C;Q[1<O
M;)';1A1@*"&Z] % _05HVOPY\&6<YGA\,Z8)"=V7MU?!]@V0/PKIE540(BA5
M P !@ 4 +7'_ !0BUJY^'NIVF@VLES?72K!LCQN\MF ?K_LY'XY[5V%% 'A^
M@Z%\:]"TFR@MKS1S:VT2QQV$PC)50.A95&3[[_QKH;[4/BGJ/A?4;&3POIMM
M>R6SQK<PZB!DD8S&G.&QTRPYKT^B@#Y_\*>"?C-I>A06-AJ]CH]I$6,=M<-&
M[+DDDY6-^I)/)JSXR@^(WA[P-=1Z[XKLM0EU5UT^.SBM 2YD/(20!2#M!'((
MP3WQ7N]<?\0/"FH^*(-$.EW%K!<Z=JD5[NN0Q7:F<\#J<XXXSZB@#9\.^'-.
M\-:5!96%K!$R0QQ2S)&JO-L7:&<@?,>O7UK7HHH **** "BBB@ HHHH ****
K "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@#_V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>7
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Submission<br></strong></div></th>
<th class="th"><div>Dec. 09, 2025</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_SubmissionLineItems', window );"><strong>Submission [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Central Index Key</a></td>
<td class="text">0000889609<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Registrant Name</a></td>
<td class="text">Consumer Portfolio Services, Inc.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FormTp', window );">Form Type</a></td>
<td class="text">S-8<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_SubmissnTp', window );">Submission Type</a></td>
<td class="text">S-8<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeExhibitTp', window );">Fee Exhibit Type</a></td>
<td class="text">EX-FILING FEES<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingTableNa', window );">Offering Table N/A</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OffsetTableNa', window );">Offset Table N/A</a></td>
<td class="text">N/A<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeExhibitTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeExhibitTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:feeExhibitTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FormTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FormTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingTableNa">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingTableNa</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:naItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OffsetTableNa">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OffsetTableNa</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:naItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_SubmissionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_SubmissionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_SubmissnTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_SubmissnTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Offerings - Offering: 1<br></strong></div></th>
<th class="th">
<div>Dec. 09, 2025 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingTable', window );"><strong>Offering:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_PrevslyPdFlg', window );">Fee Previously Paid</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeesOthrRuleFlg', window );">Other Rule</a></td>
<td class="text">true<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingSctyTp', window );">Security Type</a></td>
<td class="text">Equity<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingSctyTitl', window );">Security Class Title</a></td>
<td class="text">Common Stock, no par value per share<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_AmtSctiesRegd', window );">Amount Registered | shares</a></td>
<td class="nump">4,501,330<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_MaxOfferingPricPerScty', window );">Proposed Maximum Offering Price per Unit</a></td>
<td class="nump">8.3950<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_MaxAggtOfferingPric', window );">Maximum Aggregate Offering Price</a></td>
<td class="nump">$ 37,788,665.00<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeRate', window );">Fee Rate</a></td>
<td class="nump">0.01381%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeeAmt', window );">Amount of Registration Fee</a></td>
<td class="nump">$ 5,218.61<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_OfferingNote', window );">Offering Note</a></td>
<td class="text">Pursuant to Rule 416(a) under the Securities Act of 1933, as amended (the &#8220;Securities Act&#8221;), this Registration Statement shall also cover any additional shares of the Consumer Portfolio Services, Inc.&#8217;s (the &#8220;Registrant&#8221;) common stock, no par value per share (the &#8220;Common Stock&#8221;), that become issuable under the Registrant&#8217;s 2025 Equity Incentive Plan (the &#8220;2025 Equity Plan&#8221;) by reason of any stock dividend, stock split, recapitalization, or other similar transaction effected that results in the increase in the number of outstanding shares of the Common Stock.<br/><br/>Represents 4,501,330 shares of Common Stock reserved for issuance under the 2025 Equity Plan that were not previously registered for issuance on a registration statement on Form S-8. The total number of shares of Common Stock reserved for issuance under the 2025 Equity Plan consists of (a) 3,000,000 shares of Common Stock reserved for future issuances under the 2025 Equity Plan, (b) 1,501,330 shares of Common Stock previously reserved but unissued under the CPS 2006 Long-Term Equity Incentive Plan that are now available for issuance under the 2025 Equity Plan, and (c) any shares of Common Stock that expire or are forfeited, surrendered, terminated (other than by exercise), cancelled, lapsed or reacquired by the Registrant prior to vesting, without the delivery of any shares of Common Stock in accordance with the terms of the 2006 Equity Plan, and comply with the share recycling provisions of the 2006 Equity Plan and Section 5(c) of the 2025 Equity Plan.<br/><br/>Estimated solely for the purpose of calculating the amount of the registration fee pursuant to Rule 457(c) and Rule 457(h) under the Securities Act. The offering price per share and aggregate offering price are based on the average of the high and low prices of the Common Stock as reported on the Nasdaq Global Market on December 3, 2025, which is a date within five business days prior to the filing of this Registration Statement.<br/><br/>The Registrant does not have any fee offsets.<br/><br/><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_AmtSctiesRegd">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of securities being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_AmtSctiesRegd</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegativeDecimal2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total amount of registration fee (amount due after offsets).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeeRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The rate per dollar of fees that public companies and other issuers pay to register their securities with the Commission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeeRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeesOthrRuleFlg">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Checkbox indicating whether filer is using a rule other than 457(a), 457(o), or 457(f) to calculate the registration fee due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeesOthrRuleFlg</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_MaxAggtOfferingPric">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum aggregate offering price for the offering that is being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_MaxAggtOfferingPric</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative100TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_MaxOfferingPricPerScty">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum offering price per share/unit being registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_MaxOfferingPricPerScty</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegativeDecimal4lItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingNote">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingNote</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingSctyTitl">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The title of the class of securities being registered (for each class being registered).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingSctyTitl</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingSctyTp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Type of securities: "Asset-backed Securities", "ADRs/ADSs", "Debt", "Debt Convertible into Equity", "Equity", "Face Amount Certificates", "Limited Partnership Interests", "Mortgage Backed Securities", "Non-Convertible Debt", "Unallocated (Universal) Shelf", "Exchange Traded Vehicle Securities", "Other"</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingSctyTp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:securityTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_PrevslyPdFlg">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_PrevslyPdFlg</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_OfferingAxis=1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_OfferingAxis=1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.3</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Fees Summary<br></strong></div></th>
<th class="th">
<div>Dec. 09, 2025 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_FeesSummaryLineItems', window );"><strong>Fees Summary [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlOfferingAmt', window );">Total Offering</a></td>
<td class="nump">$ 37,788,665.00<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlFeeAmt', window );">Total Fee Amount</a></td>
<td class="nump">5,218.61<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_TtlOffsetAmt', window );">Total Offset Amount</a></td>
<td class="nump">0.00<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ffd_NetFeeAmt', window );">Net Fee</a></td>
<td class="nump">$ 5,218.61<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_FeesSummaryLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_FeesSummaryLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_NetFeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_NetFeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlFeeAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlFeeAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlOfferingAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlOfferingAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ffd_TtlOffsetAmt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ffd_TtlOffsetAmt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ffd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>ffd:nonNegative1TMonetary2ItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
.report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

.report table.authRefData a {
	display: block;
	font-weight: bold;
}

.report table.authRefData p {
	margin-top: 0px;
}

.report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

.report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

.report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

.report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
.pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
.report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

.report hr {
	border: 1px solid #acf;
}

/* Top labels */
.report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

.report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

.report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

.report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

.report td.pl div.a {
	width: 200px;
}

.report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
.report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
.report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
.report .re, .report .reu {
	background-color: #def;
}

.report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
.report .ro, .report .rou {
	background-color: white;
}

.report .rou td {
	border-bottom: 1px solid black;
}

.report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
.report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
.report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

.report .nump {
	padding-left: 2em;
}

.report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
.report .text {
	text-align: left;
	white-space: normal;
}

.report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

.report .text .more {
	display: none;
}

.report .text .note {
	font-style: italic;
	font-weight: bold;
}

.report .text .small {
	width: 10em;
}

.report sup {
	font-style: italic;
}

.report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.3</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>2</ContextCount>
  <ElementCount>21</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>1</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>3</UnitCount>
  <MyReports>
    <Report instance="cps_ex107.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>995210 - Document - Submission</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/submissionTable</Role>
      <ShortName>Submission</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="cps_ex107.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>995211 - Document - Offerings</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/feesOfferingTable</Role>
      <ShortName>Offerings</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="cps_ex107.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>995215 - Document - Fees Summary</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ffd/role/document/feesSummaryTable</Role>
      <ShortName>Fees Summary</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="EX-FILING FEES" original="cps_ex107.htm">cps_ex107.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="2">http://xbrl.sec.gov/dei/2025</BaseTaxonomy>
    <BaseTaxonomy items="19">http://xbrl.sec.gov/ffd/2025</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>false</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>15
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "cps_ex107.htm": {
   "dts": {
    "inline": {
     "local": [
      "cps_ex107.htm"
     ]
    },
    "schema": {
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/lrr/arcrole/deprecated-2009-12-16.xsd",
      "https://www.xbrl.org/dtr/type/2024-01-31/types.xsd",
      "https://xbrl.sec.gov/dei/2025/dei-2025.xsd",
      "https://xbrl.sec.gov/ffd/2025/ffd-2025.xsd"
     ]
    }
   },
   "keyStandard": 21,
   "keyCustom": 0,
   "axisStandard": 1,
   "axisCustom": 0,
   "memberStandard": 1,
   "memberCustom": 0,
   "hidden": {
    "total": 6,
    "http://xbrl.sec.gov/dei/2025": 1,
    "http://xbrl.sec.gov/ffd/2025": 5
   },
   "contextCount": 2,
   "entityCount": 1,
   "segmentCount": 1,
   "elementCount": 107,
   "unitCount": 3,
   "baseTaxonomies": {
    "http://xbrl.sec.gov/ffd/2025": 19,
    "http://xbrl.sec.gov/dei/2025": 2
   },
   "report": {
    "R1": {
     "role": "http://xbrl.sec.gov/ffd/role/document/submissionTable",
     "longName": "995210 - Document - Submission",
     "shortName": "Submission",
     "isDefault": "true",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c_report",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cps_ex107.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c_report",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cps_ex107.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
     "longName": "995211 - Document - Offerings",
     "shortName": "Offerings",
     "isDefault": "false",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "2",
     "firstAnchor": {
      "contextRef": "c_offering_1",
      "name": "ffd:FeesOthrRuleFlg",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cps_ex107.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c_offering_1",
      "name": "ffd:FeesOthrRuleFlg",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cps_ex107.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable",
     "longName": "995215 - Document - Fees Summary",
     "shortName": "Fees Summary",
     "isDefault": "false",
     "groupType": "Fee_Exhibit",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "3",
     "firstAnchor": {
      "contextRef": "c_report",
      "name": "ffd:TtlOfferingAmt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cps_ex107.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c_report",
      "name": "ffd:TtlOfferingAmt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "cps_ex107.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "ffd_AggtRedRpPricFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AggtRedRpPricFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Redeemed or Repurchased Price, Fiscal Year",
        "terseLabel": "Aggregate Redeemed or Repurchased, FY"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AggtRedRpPricPrrFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AggtRedRpPricPrrFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Redeemed or Repurchased Price, Prior Fiscal Year",
        "terseLabel": "Aggregate Redeemed or Repurchased, Prior FY"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AggtSalesPricFsclYr": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AggtSalesPricFsclYr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Sales Price, Fiscal Year",
        "terseLabel": "Aggregate Sales Price"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AmtRedCdts": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AmtRedCdts",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Redemption Credits",
        "terseLabel": "Redemption Credits"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_AmtSctiesRcvd": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AmtSctiesRcvd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Securities Received",
        "terseLabel": "Amount of Securities Received",
        "documentation": "Amount of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form)"
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_AmtSctiesRegd": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "AmtSctiesRegd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amount of Securities Registered",
        "terseLabel": "Amount Registered",
        "documentation": "The amount of securities being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CeasedOprsDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CeasedOprsDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ceased Operations Date",
        "terseLabel": "Ceased Operations Date"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_CfwdFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CfwdFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Form Type",
        "terseLabel": "Carry Forward Form Type",
        "documentation": "The Form Type of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6). This should be an EDGAR submission type (S-3, S-3/A, S-3ASR, etc.), which means there is a fixed set of possible responses. Note that while the XBRL response should be an EDGAR submission type, the human-readable Ex. 107 could include a simpler label (e.g., \"Form S-3\" in the human-readable and \"S-3ASR\" in the XBRL)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrevslyPdFee": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CfwdPrevslyPdFee",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Previously Paid Fee",
        "terseLabel": "Filing Fee Previously Paid in Connection with Unsold Securities to be Carried Forward",
        "documentation": "The fee previously paid in connection with the securities being brought forward from the prior shelf registration statement on which unsold securities are carried forward under 415(a)(6)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrrFctvDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CfwdPrrFctvDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward Prior Effective Date",
        "terseLabel": "Carry Forward Initial Effective Date",
        "documentation": "The initial effective date of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6)."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CfwdPrrFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CfwdPrrFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Carry Forward File Number",
        "terseLabel": "Carry Forward File Number",
        "documentation": "The EDGAR File Number of the prior shelf registration statement from which unsold securities are carried forward under 415(a)(6). If the prior registration statement has a Securities Act File Number and an Investment Company Act File Number, the Securities Act File Number should be used."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_CmbndPrspctsItemAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CmbndPrspctsItemAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus Item [Axis]",
        "terseLabel": "Combined Prospectus",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different references to earlier prospectuses on a single fee bearing submission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CmbndPrspctsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CmbndPrspctsLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus [Line Items]",
        "terseLabel": "Combined Prospectus:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CmbndPrspctsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CmbndPrspctsTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus [Table]",
        "terseLabel": "Combined Prospectus Table"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_CombinedProspectusTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CombinedProspectusTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Combined Prospectus Table [N/A]",
        "terseLabel": "Combined Prospectus Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_CshPdByRegistrantInTx": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CshPdByRegistrantInTx",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Paid by Registrant in Transaction",
        "terseLabel": "Cash Consideration Paid",
        "documentation": "Amount of cash consideration paid by registrant in connection with the exchange or other transaction being registered (in a 457(f) calculation)."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "ffd_CshRcvdByRegistrantInTx": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "CshRcvdByRegistrantInTx",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash Received by Registrant in Transaction",
        "terseLabel": "Cash Consideration Received",
        "documentation": "Amount of cash consideration received by registrant in connection with the exchange or other transaction being registered (in a 457(f) calculation)."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "terseLabel": "Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2025",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "terseLabel": "Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r0"
     ]
    },
    "ffd_FeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Amount",
        "terseLabel": "Amount of Registration Fee",
        "documentation": "Total amount of registration fee (amount due after offsets)."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeExhibitTp": {
     "xbrltype": "feeExhibitTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeExhibitTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Exhibit Type",
        "terseLabel": "Fee Exhibit Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_FeeIntrstAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeIntrstAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Interest Amount",
        "terseLabel": "Interest Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Note",
        "terseLabel": "Fee Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeNoteMaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeNoteMaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Note Maximum Aggregate Offering Price",
        "terseLabel": "Fee Note MAOP"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeeRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeeRate",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Rate",
        "terseLabel": "Fee Rate",
        "documentation": "The rate per dollar of fees that public companies and other issuers pay to register their securities with the Commission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeesOthrRuleFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeesOthrRuleFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fees, Other Rule [Flag]",
        "terseLabel": "Other Rule",
        "documentation": "Checkbox indicating whether filer is using a rule other than 457(a), 457(o), or 457(f) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FeesSummaryLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FeesSummaryLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Fees Summary [Line Items]",
        "terseLabel": "Fees Summary:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FnlPrspctsFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FnlPrspctsFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Final Prospectus [Flag]",
        "terseLabel": "Final Prospectus"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_FormTp": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "FormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Form Type",
        "terseLabel": "Form Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_GnlInstrIIhiFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "GnlInstrIIhiFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General Instruction II.H,I [Flag]",
        "terseLabel": "General Instruction II.H,I"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrCity": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrCity",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, City",
        "terseLabel": "City"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStatOrCtryCd": {
     "xbrltype": "stateOrCountryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrStatOrCtryCd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, State or Country Code",
        "terseLabel": "State or Country Code"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStrt1": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrStrt1",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Street 1",
        "terseLabel": "Street 1"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrStrt2": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrStrt2",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Street 2",
        "terseLabel": "Street 2"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrBizAdrZipCd": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrBizAdrZipCd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Business Address, Zip Code",
        "terseLabel": "Zip Code"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_IssrNm": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "IssrNm",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuer Name",
        "terseLabel": "Issuer Name"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_MaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "MaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum Aggregate Offering Price",
        "terseLabel": "Maximum Aggregate Offering Price",
        "documentation": "The maximum aggregate offering price for the offering that is being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_MaxOfferingPricPerScty": {
     "xbrltype": "nonNegativeDecimal4lItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "MaxOfferingPricPerScty",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum Offering Price per Security",
        "terseLabel": "Proposed Maximum Offering Price per Unit",
        "documentation": "The maximum offering price per share/unit being registered."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NetFeeAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NetFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Fee Amount",
        "terseLabel": "Net Fee"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NetSalesAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NetSalesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Sales Amount",
        "terseLabel": "Net Sales"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvDsclsr": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NrrtvDsclsr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure",
        "terseLabel": "Narrative Disclosure"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvMaxAggtAmt": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NrrtvMaxAggtAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure, Maximum Aggregate Offering Amount",
        "terseLabel": "Narrative - Max Aggregate Offering Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_NrrtvMaxAggtOfferingPric": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "NrrtvMaxAggtOfferingPric",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Narrative Disclosure, Maximum Aggregate Offering Price",
        "terseLabel": "Narrative - Max Aggregate Offering Price"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Axis]",
        "terseLabel": "Offering",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different security offerings on a single fee bearing submission."
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Line Items]",
        "terseLabel": "Offering:"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Note",
        "terseLabel": "Offering Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingSctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingSctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Security Title",
        "terseLabel": "Security Class Title",
        "documentation": "The title of the class of securities being registered (for each class being registered)."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingSctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingSctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Security Type",
        "terseLabel": "Security Type",
        "documentation": "Type of securities: \"Asset-backed Securities\", \"ADRs/ADSs\", \"Debt\", \"Debt Convertible into Equity\", \"Equity\", \"Face Amount Certificates\", \"Limited Partnership Interests\", \"Mortgage Backed Securities\", \"Non-Convertible Debt\", \"Unallocated (Universal) Shelf\", \"Exchange Traded Vehicle Securities\", \"Other\""
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OfferingTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering [Table]",
        "terseLabel": "Offering:"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OfferingTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OfferingTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering Table [N/A]",
        "terseLabel": "Offering Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_OffsetAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset [Axis]",
        "terseLabel": "Offset",
        "documentation": "A sequence number (1, 2, 3...) used to distinguish different offsets as applied to a fee bearing submission."
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetClmInitlFilgDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetClmInitlFilgDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claim Initial Filing Date",
        "terseLabel": "Initial Filing Date",
        "documentation": "The initial filing date of the earlier registration statement with which the earlier (offsetting) fee was paid for a claimed offset. If the offset fee was paid with an amendment, do not provide the amendment date under this element; instead, provide the date of the initial filing (i.e. the \"parent\" filing) ."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetClmdAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetClmdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claimed Amount",
        "terseLabel": "Fee Offset Claimed",
        "documentation": "The amount of offsetting fees being claimed."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetClmdInd": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetClmdInd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Claimed Indicator",
        "terseLabel": "Offset Claimed"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetExpltnForClmdAmt": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetExpltnForClmdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Explanation for Claimed Amount",
        "terseLabel": "Explanation for Claimed Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetLineItems",
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Offset:",
        "label": "Offset [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Note",
        "terseLabel": "Offset Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetPrrFeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Fee Amount",
        "terseLabel": "Fee Paid with Fee Offset Source",
        "documentation": "The fee previously paid from which an offset is being derived."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior File Number",
        "terseLabel": "File Number",
        "documentation": "The EDGAR File Number of the earlier registration statement with which the earlier (offsetting) fee was paid. If the offset filing for the offset has a Securities Act File Number and an Investment Company Act File Number, the Securities Act File Number should be used."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFilerNm": {
     "xbrltype": "filerNameItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrFilerNm",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Filer Name",
        "terseLabel": "Registrant or Filer Name",
        "documentation": "The name of the registrant that filed the earlier registration statement with which the earlier (offsetting) fee was paid."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Form Type",
        "terseLabel": "Form or Filing Type",
        "documentation": "The Form Type of the offset filing."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrNbOfUnsoldScties": {
     "xbrltype": "nonNegativeIntegerItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrNbOfUnsoldScties",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Unsold Number of Securities",
        "terseLabel": "Unsold Securities Associated with Fee Offset Claimed",
        "documentation": "The number of unsold securities registered on the prior registration statement that are associated with the claimed offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrSctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrSctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Security Title",
        "terseLabel": "Security Title Associated with Fee Offset Claimed",
        "documentation": "The title of the class of securities from which offset fees were derived."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrSctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrSctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Security Type",
        "terseLabel": "Security Type Associated with Fee Offset Claimed",
        "documentation": "Type of securities: \"Asset-backed Securities\", \"ADRs/ADSs\", \"Debt\", \"Debt Convertible into Equity\", \"Equity\", \"Face Amount Certificates\", \"Limited Partnership Interests\", \"Mortgage Backed Securities\", \"Non-Convertible Debt\", \"Unallocated (Universal) Shelf\", \"Exchange Traded Vehicle Securities\", \"Other\""
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetPrrUnsoldOfferingAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetPrrUnsoldOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Prior Unsold Offering Amount",
        "terseLabel": "Unsold Aggregate Offering Amount Associated with Fee Offset Claimed",
        "documentation": "The aggregate offering amount of unsold securities registered on the prior registration statement that are associated with the claimed offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetSrcFilgDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetSrcFilgDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Source Filing Date",
        "terseLabel": "Filing Date",
        "documentation": "The filing date of the earlier registration statement with which the earlier (offsetting) fee was paid in an offset."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r8"
     ]
    },
    "ffd_OffsetTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Offset Payment:",
        "label": "Offset [Table]"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_OffsetTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "OffsetTableNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offset Table [N/A]",
        "terseLabel": "Offset Table N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_PrevslyPdFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "PrevslyPdFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable",
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fee Previously Paid [Flag]",
        "terseLabel": "Fee Previously Paid"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_RegnFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "RegnFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Registration File Number",
        "terseLabel": "Registration File Number"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_RptgFsclYrEndDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "RptgFsclYrEndDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reporting Fiscal Year End Date",
        "terseLabel": "Reporting FY End Date"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule011Flg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule011Flg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 0-11 [Flag]",
        "terseLabel": "Rule 0-11"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule011a2OffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule011a2OffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 0-11(a)(2) Offset",
        "label": "Rule 0-11(a)(2) Offset [Flag]"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_Rule415a6Flg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule415a6Flg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 415(a)(6) [Flag]",
        "terseLabel": "Rule 415(a)(6)",
        "documentation": "Checkbox indicating whether filer is claiming a 415(a)(6) carryforward."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "ffd_Rule429AggtOfferingAmt": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429AggtOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Aggregate Offering Amount",
        "terseLabel": "Maximum Aggregate Offering Price of Securities Previously Registered",
        "documentation": "The maximum aggregate offering amount of unsold securities registered on the prior registration statement that are carried forward under Rule 429. Only applicable if 457(o) was used in the fee calculation for the prior registration statement."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429CmbndPrspctsFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429CmbndPrspctsFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Combined Prospectus [Flag]",
        "terseLabel": "Rule 429",
        "documentation": "Checkbox indicating whether filer is using a combined prospectus under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429EarlierFileNb": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429EarlierFileNb",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Earlier File Number",
        "terseLabel": "File Number",
        "documentation": "The Securities Act File Number of the earlier effective registration statement(s) from which securities may be offered and sold using the combined prospectus pursuant to Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429EarlierFormTp": {
     "xbrltype": "formTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429EarlierFormTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Earlier Form Type",
        "terseLabel": "Form Type",
        "documentation": "The Form Type of the earlier registration statement from which unsold securities are carried forward under Rule 429. This should be an EDGAR submission type (S-3, S-3/A, S-3ASR, etc.), which means there is a fixed set of possible responses. Note that while the XBRL response should be an EDGAR submission type, the human-readable Ex. 107 could include a simpler label (e.g., \"Form S-3\" in the human-readable and \"S-3ASR\" in the XBRL)."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429InitlFctvDt": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429InitlFctvDt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Initial Effective Date",
        "terseLabel": "Initial Effective Date",
        "documentation": "The filing date of the earlier registration statement from which unsold securities are carried forward under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429NbOfUnsoldScties": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429NbOfUnsoldScties",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Number Of Unsold Securities",
        "terseLabel": "Amount of Securities Previously Registered",
        "documentation": "The number of securities registered on the prior registration statement that are carried forward under Rule 429."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ffd_Rule429PrspctsNote": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429PrspctsNote",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Prospectus Note",
        "terseLabel": "Combined Prospectus Note"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule429SctyTitl": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429SctyTitl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Security Title",
        "terseLabel": "Security Class Title"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule429SctyTp": {
     "xbrltype": "securityTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule429SctyTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesByCmbndPrspctsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 429 Security Type",
        "terseLabel": "Security Type"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Rule457aFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457aFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(a) [Flag]",
        "terseLabel": "Rule 457(a)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(a) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "ffd_Rule457bOffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457bOffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(b) Offset [Flag]",
        "terseLabel": "Rule 457(b) Offset",
        "documentation": "Checkbox indicating whether filer is claiming an offset under Rule 457(b) or 0-11(a)(2)."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "ffd_Rule457fFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457fFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(f) [Flag]",
        "terseLabel": "Rule 457(f)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(f) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_Rule457oFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457oFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(o) [Flag]",
        "terseLabel": "Rule 457(o)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(o) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "ffd_Rule457pOffsetFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457pOffsetFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(p) Offset [Flag]",
        "terseLabel": "Rule 457(p) Offset",
        "documentation": "Checkbox indicating whether filer is claiming an offset under Rule 457(p)."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "ffd_Rule457rFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457rFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(r) [Flag]",
        "terseLabel": "Rule 457(r)"
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "ffd_Rule457sFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457sFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(s) Flag",
        "terseLabel": "Rule 457(s)"
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "ffd_Rule457uFlg": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Rule457uFlg",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 457(u) [Flag]",
        "terseLabel": "Rule 457(u)",
        "documentation": "Checkbox indicating whether filer is using Rule 457(u) to calculate the registration fee due."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "ffd_Scties424iAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Scties424iAxis",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Axis]",
        "terseLabel": "Securities, 424I"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Scties424iLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Scties424iLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Line Items]",
        "terseLabel": "Securities, 424I:"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Scties424iTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Scties424iTable",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/securities424iTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities, 424I [Table]",
        "terseLabel": "Securities, 424I Table"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_Securities424iTableNa": {
     "xbrltype": "naItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "Securities424iNa",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities 424I [N/A]",
        "terseLabel": "Securities 424I N/A"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_SubmissionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "SubmissionLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Submission [Line Items]",
        "terseLabel": "Items"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_SubmissnTp": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "SubmissnTp",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/submissionTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Submission Type",
        "terseLabel": "Submission Type"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_TermntnCmpltnWdrwl": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TermntnCmpltnWdrwl",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOffsetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Termination / Completion / Withdrawal Statement",
        "terseLabel": "Termination / Withdrawal Statement"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_TtlFeeAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlFeeAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Fee Amount",
        "terseLabel": "Total Fee Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlFeeAndIntrstAmt": {
     "xbrltype": "nonNegativeDecimal2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlFeeAndIntrstAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Fee and Interest Amount",
        "terseLabel": "Total Fee and Interest Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlOfferingAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlOfferingAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Offering Amount",
        "terseLabel": "Total Offering"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlOffsetAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlOffsetAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Offset Amount",
        "terseLabel": "Total Offset Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlPrevslyPdAmt": {
     "xbrltype": "nonNegative1TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlPrevslyPdAmt",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Previously Paid Amount",
        "terseLabel": "Previously Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TtlTxValtn": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TtlTxValtn",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesSummaryTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Transaction Valuation",
        "terseLabel": "Total Transaction Valuation"
       }
      }
     },
     "auth_ref": [
      "r1"
     ]
    },
    "ffd_TxValtn": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "TxValtn",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transaction Valuation",
        "terseLabel": "Transaction Valuation"
       }
      }
     },
     "auth_ref": []
    },
    "ffd_ValSctiesRcvd": {
     "xbrltype": "nonNegative100TMonetary2ItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "ValSctiesRcvd",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Value of Securities Received",
        "terseLabel": "Value of Securities Received",
        "documentation": "Value of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form)"
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "ffd_ValSctiesRcvdPerShr": {
     "xbrltype": "nonNegativeDecimal4lItemType",
     "nsuri": "http://xbrl.sec.gov/ffd/2025",
     "localname": "ValSctiesRcvdPerShr",
     "presentation": [
      "http://xbrl.sec.gov/ffd/role/document/feesOfferingTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Value of Securities Received, Per Share",
        "terseLabel": "Value of Securities Received, Per Share",
        "documentation": "Value per share of securities to be received by the registrant (or cancelled upon issuance of securities to be registered on the form). This is included in the explanation of 457(f) fee calculation."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r1": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230"
  },
  "r2": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "415",
   "Subsection": "a"
  },
  "r3": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "429"
  },
  "r4": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457"
  },
  "r5": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "b"
  },
  "r6": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "f"
  },
  "r7": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "o"
  },
  "r8": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "p"
  },
  "r9": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "r"
  },
  "r10": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "s"
  },
  "r11": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "457",
   "Subsection": "u"
  },
  "r12": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Subsection": "f",
   "Section": "457"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>16
<FILENAME>0001683168-25-009043-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001683168-25-009043-xbrl.zip
M4$L#!!0    ( )R%BEL"1BMC5 P  /<V   -    8W!S7V5X,3 W+FAT;>T;
M:W/B./+[_ J=]VXGJ8)@0R! $K;(@VQV,B0;R"0[=553PA:@BU]KR3SFUU^W
MC(TA/#,D>W=UJ9D$6ZU^=ZO5$B>_C!R;#%@@N.>>?C0.](^$N:9G<;=W^K'>
M.K^^_OA+[</)W[)9TF:.;U/)R)ZY3_)Z_C +OXJDZ0WHT N>18;<W)R3;'8"
MWN#,MJJDQ>0Q:5*'54G=YE0TN,W:8Y\=DR_4#N%MPPL<0;YP-CQ.2,!;QLCE
MJ,\[7/XS]9DTZ@<C2ZRB<@<(NH S(9 PF$9*+BTNO0" (MFKQ#@XI*OPGGNN
M##P[0?OEZHLTKT9]Z^JA='W>?_[Z^+5O/8[T3[_#/Z?Q_6OK[*J3+^JW_.R!
M/AJV.3Z[_?ID]AZ<BOSC\5!<-^[]SN.7[S?G9^VO3[_Y7WLP+]\86E?VH,//
MVO3)MV]Y??39/=,O?O<?_GC\30#.!_ITCW^GXT\SX]=?'QO/UXVFSQS@ZZ(_
MM.KZIR]7#=ZY>NC][E2>67KNKV?Z*ID_7Q03>8VC?/[H\+!P1"OE0KY3JAP=
MT7+%S'?84:ELYLT(3U^"/X%/N>)4ZTOI5W.YX7!X,"P<>$$O9U0JE=P(8;0(
MJ#JRN?N\'!1'$]"%*/.Z;N2>/M^TS#YS:):[0E+79,FD3F#SF7GX)IY9R"V"
MMZ83TL"E7#08@W+A'>:-HU7((XADPF@9K(&,@*SLZ>S^9@HN%\-/07,RH*Y
M;Z<2G!@Q%;-Z/ILOI9!D!3-G$,'S0<\;K,53SA:,&,\+,\U*BL,=*A(U6FQ.
MAS%-&,AAVH@!NUUK,2 ,1(#H5(Q:M0^$G$@N;5:#% +I*1W-)[EH!&$<)BE!
MC%GV9\@'IQH&+G-E%K..1LSHZ523;"1SRA5S:EXNHG+2\:PQ$7)LLU.M"\#@
M^;HO29L[3) F&Y)[SZ%N)GJ1@6@)>!>8_'!B\4$\S^("\MBX2ES/99I"ST=5
M), "?)H\<\MB;O0<O0'P9N@ 1I.X$(# 0->JML*.PX5PV_Z$^Y&\9]U3S?P6
M,-\+I$8XZ+#+V#<(!:W6RI9/<C.XUE( 34X4N0F-O%:[?,HVKF^NFU>D<7G9
MVH8<V+]ZZ8*UQN=@A8#:UZ[%1I_8>#W=@E;3X:=<KI3TRK8BW@5L(.SQG=6P
M>_.DO&X7H-W>-_#V* 9.-8B;:L?S;$;=+K71L:>,'&HUT)@@TB,=1NXHM[;E
MYG9"L4T[-FO29;*/1-7E-KAJ$,XP $'Q"HJ"R37TIA1*6JV9JR\CDIMS7J0:
M,! )2@<F$C!,"E6A\C(0(BJ95_L!TL3X%,M"'C^HVN)@)"QM,D]"])YJ@D.!
MP**(35B9)QVQ([PP2'.C5H+J1' EZHSE8[@$DBDOG;Y.!KB%0UW. J*$8PN3
MZ_GUIUE_G9^\ +-@/0>&TR.3,8LK!5B?F=,!NA;D'E>5;#/N5!]Q :Z!,8:9
MO>G5C)-<ZNDD]Q+7'+'<4D[BH7F]3'CW@0//6B24I(&\@**NAB;-&OGL5!O3
ML9?SF&LMF16/+&!NGHOX_<3L*YUA$@5_K2/\[RDY='FDX8?6Q4OE.HR*,&"U
M2:E4!: 873ST@@YB7$;$AQG+J4SXAX\_1$3T*>27=60BJ.T(Y5ZFKBC;)J4#
M!#0?8+GASQ8I'<^VB)%?5ZD<$X<&/>YFI>=7"10VR8N.)Z7G5!6.8X*&S%*;
M]V!G%/!>'^+B<I2=5EX@E_^67)3FF3 A)%B@U<[K-^</-_7V]6V3W#;(M PA
M[?K9#18C?PU?RXLKJ"@V*:N.%I9N;RS.2V.OE&=:O=VS'A>X:Y"X4UPO71DL
MY[D"L9$[&.MZ-O>0RP$WD=]KUSS81G9CO>P=+X"8B62_"NB8%&".Y850 AT3
MGUK8XXA&EQAUO?H.?8@+5501HXJ<V&,2:08*$@L8,<. 2YY$BU2@)K/M"?U3
M3=?4L_"I&3]ON?E()#4]VZ:^@+UZ_.F8#+DE^XA%_P?NI&20QIX5_#M *Q\8
ML$!RD]JQ"B(1%ZM%S1TR3 N1/:(MCK1BY#'5$A#]^2>CI!_##LU: K0)3'E'
MB(YVA*>R*\'T72': *;XCK1V)MA[,CUG5?@5+(N9\LYC9A+$<6HYLZGY3##-
M"4B5 #U))F."?8P%,L09+4GMF)N62KPQM7.;"@'Y1MIO3[3I24R5;TP%^T;G
MU#9#6S6[3CI!KD;NPW>0K^YXH2M3*T0*QP*LD,5A68 ]7E[;E,)=X/F>@*7G
M,QUQ)W1(O#6,I+R#9961.UB#'US5-=LM]9AHO=<+6 ^/"F+R$>5W,>T]T-VY
M9!/+>5T2%S[H.E@(K\T4"U=7J"AFTX3-NE);RO+_W^SVS0M[;66?9-7H<\FR
M6+DQ[/0. ^JOV ?$H= RY?CE?B#=@YQ6S178=?T90AI^61JODG0S'B"E;\2%
MH6/M[CC@[RWIF<\9D!7JYX ,\&"(^-C^P*WN5CS&.ERT]=@S]E\]=U6/6]S*
M?H")?OL>\%P'UC"T&B!CP0_+/-E;3]AN!-14B67*=]V18"W80D#BL32"W0+%
M\J0'02QF<H?:0NT<TIR[H6-Y<C*\F:'S6NTP4]2-3*&@QY+%+*UQN;__J)RP
M=L3>B6L%K%'HI"F!L7V4DO:ZV?AA>0M:K7Q0J!3_"F%AC91I@=]6TD.M5CC*
M')7+F5*I>*!O*? & ;= 2(@X7(M3@JGFW(XE*VHU'00"8Y:-]S8C2 CA^;:6
M*VFU8B9OE ]*2\1;57L<;EU[S.^:=K5ASN]J'[<K/+OJ*.P*S[O(OKK,G7:+
M=H!C5WKY+Y;Y!ZO,9)MB3/<I"])3VY/4GFZTHIV*J+YQZFM+.SEUQ!2XIO^+
MEV VSXLS^?1'%J[7O7FM0N+E8)TNRJ_7Q99+P1LZ'&ZUHTL%ZWSMS=YLNGE_
M=5B_(B) 'QOY0.7U/J O#8/WL7^3267]BY#]1UI^>LRC+<QS:R9M:7;0QH9Q
MG]??..YSZGAIV9%9&22L!YS:&?(KLP<,'2-#6M05V<DQ$MC?"T#D7F>OJ&<,
MV ?FB\7]]:=@>KIGM_3(KKS=:65I\>&K5ONV\8_J>7Y(5D;L+N^)_;<]BMOH
M_'CIH=S:>/U7*"3OCI=5Z\4E1_=Q1V5!>04JS:U8]Q*":WM*J%Z-,&%2O*AE
M;+2[R1M:[2X,1$A=B=?IL#E##HW2'MV' ( H);+/4L>HI&ZJ)JQ1*10RA H"
M7 "81?80[N>?ROF\?CP+KEX:Q_L90,7%;/NV)6%_BO><L(%EVP0"TP.VP0J$
MNF."?H%PL-I%W18DC836GF0C4>/H6,SP-3TRCWD"6JJM)E:UU69PI/MP:<FH
M)!T&V!CA K2)KCW5WRQAQ9>ZN1^U%I%AO&XT8'AUWITAEP;#P83QSI@$C I@
M!52"NE(B$(L/\%Z3E9D\"]_F,@.@X!0<J@;^72D^0[R >-@_(X([W :AU07D
M27)EX"JF!*LJN4#OH2T%X:X2AKLF4F;Q,Z1-O!$';'BAQ+O<&,LO[#75VH'*
M"NK7/?,!"&07)&E[I6:F9R$78&'@"5)VI&/06DK'\YJ*>!\RL)_K20*$!MP+
MA8UZ2^X'S. "4G0R.'%/D;@G'C7 4D%:V?(!:0,YJ6JPJ>R[XAIB5@ #"A,&
M82&CZSK^WXA"-Y1AP!)"8@6E#-GK[!-CG=IG]#:AU DEKHY !!ZF%,[O6@1O
MZ9,;S^UEVPS4M=C!E66H,LR0T $%_\-XV5!%D'9<2WT%1KG]8K85"3;R.5 !
MM$@,T'<9!Z^&V B# --6@ _@"0YW*;K[7A02,-G% &,C%IA<, AP$YFR;817
M]SHLQ IA8 )?Z$@ /1OHH#@.()!2!PP2N-O+P*(C^Q B"M!B-J@C&"?1NU@,
M"#%JFE N*9T@ C4;64YB2ZG\A7X@%?E@LV1*E,D@#XQ-=8/,#[P!QPNL2_$H
M-)#*52044=\)X*Q!4@%]":(Z2I50P#.@CS;%.7X8X+$HHC#CDU_@ H=H<K*'
M3S/Q!TL4SIQ;G8I'D?&MZ7-_^6H5A6N\^*%9S'1N1S0T.2V= T, _%*%A?&O
M> 6;T1Z+F>W#XJXPV.#(:LK"C(?K9%2,3C$UJ;#HG^3*]CJ01S[3X)FI+'/!
MS.B&,2ROJ&APFSXW^Q 8D)PLY!%-"G[1Q7#JA(*[3 @8&8NIRR&!;G134+&S
M=-E-F:X]Z[Z6![)@XNR#S,I%T1A>M-],35MX_A*5PWA5,BZ(H3;&KW5@C8S?
M^*C]&U!+ 0(4 Q0    ( )R%BEL"1BMC5 P  /<V   -              "
H 0    !C<'-?97@Q,#<N:'1M4$L%!@     !  $ .P   '\,      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>cps_ex107_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2025"
  xmlns:ffd="http://xbrl.sec.gov/ffd/2025"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef
      xlink:href="https://xbrl.sec.gov/ffd/2025/ffd-2025.xsd"
      xlink:type="simple"/>
    <context id="c_offering_1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
            <segment>
                <xbrldi:typedMember dimension="ffd:OfferingAxis">
                    <dei:lineNo>1</dei:lineNo>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-12-09</startDate>
            <endDate>2025-12-09</endDate>
        </period>
    </context>
    <context id="c_report">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000889609</identifier>
        </entity>
        <period>
            <startDate>2025-12-09</startDate>
            <endDate>2025-12-09</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="pure">
        <measure>pure</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <ffd:SubmissnTp contextRef="c_report" id="fee_001">S-8</ffd:SubmissnTp>
    <ffd:FeeExhibitTp contextRef="c_report" id="fee_002">EX-FILING FEES</ffd:FeeExhibitTp>
    <dei:EntityCentralIndexKey contextRef="c_report" id="fee_003">0000889609</dei:EntityCentralIndexKey>
    <ffd:PrevslyPdFlg contextRef="c_offering_1" id="fee_004">false</ffd:PrevslyPdFlg>
    <ffd:OfferingTableNa contextRef="c_report" id="fee_005" xsi:nil="true"/>
    <ffd:OffsetTableNa contextRef="c_report" id="fee_006">N/A</ffd:OffsetTableNa>
    <ffd:FormTp contextRef="c_report" id="fee_007">S-8</ffd:FormTp>
    <dei:EntityRegistrantName contextRef="c_report" id="fee_008">Consumer Portfolio Services, Inc.</dei:EntityRegistrantName>
    <ffd:OfferingSctyTp contextRef="c_offering_1" id="fee_009">Equity</ffd:OfferingSctyTp>
    <ffd:OfferingSctyTitl contextRef="c_offering_1" id="fee_010">Common Stock, no par value per share</ffd:OfferingSctyTitl>
    <ffd:FeesOthrRuleFlg contextRef="c_offering_1" id="fee_011">true</ffd:FeesOthrRuleFlg>
    <ffd:AmtSctiesRegd
      contextRef="c_offering_1"
      decimals="0"
      id="fee_012"
      unitRef="shares">4501330</ffd:AmtSctiesRegd>
    <ffd:MaxOfferingPricPerScty
      contextRef="c_offering_1"
      decimals="INF"
      id="fee_013"
      unitRef="USD">8.3950</ffd:MaxOfferingPricPerScty>
    <ffd:MaxAggtOfferingPric
      contextRef="c_offering_1"
      decimals="INF"
      id="fee_014"
      unitRef="USD">37788665.00</ffd:MaxAggtOfferingPric>
    <ffd:FeeRate
      contextRef="c_offering_1"
      decimals="INF"
      id="fee_015"
      unitRef="pure">0.0001381</ffd:FeeRate>
    <ffd:FeeAmt
      contextRef="c_offering_1"
      decimals="INF"
      id="fee_016"
      unitRef="USD">5218.61</ffd:FeeAmt>
    <ffd:TtlOfferingAmt
      contextRef="c_report"
      decimals="INF"
      id="fee_017"
      unitRef="USD">37788665.00</ffd:TtlOfferingAmt>
    <ffd:TtlFeeAmt
      contextRef="c_report"
      decimals="INF"
      id="fee_018"
      unitRef="USD">5218.61</ffd:TtlFeeAmt>
    <ffd:TtlOffsetAmt
      contextRef="c_report"
      decimals="INF"
      id="fee_019"
      unitRef="USD">0.00</ffd:TtlOffsetAmt>
    <ffd:NetFeeAmt
      contextRef="c_report"
      decimals="INF"
      id="fee_020"
      unitRef="USD">5218.61</ffd:NetFeeAmt>
    <ffd:OfferingNote contextRef="c_offering_1" id="fee_021">Pursuant to Rule 416(a) under the Securities Act of 1933, as amended (the &#x201c;Securities Act&#x201d;), this Registration Statement shall also cover any additional shares of the Consumer Portfolio Services, Inc.&#x2019;s (the &#x201c;Registrant&#x201d;) common stock, no par value per share (the &#x201c;Common Stock&#x201d;), that become issuable under the Registrant&#x2019;s 2025 Equity Incentive Plan (the &#x201c;2025 Equity Plan&#x201d;) by reason of any stock dividend, stock split, recapitalization, or other similar transaction effected that results in the increase in the number of outstanding shares of the Common Stock.&lt;br/&gt;&lt;br/&gt;Represents 4,501,330 shares of Common Stock reserved for issuance under the 2025 Equity Plan that were not previously registered for issuance on a registration statement on Form S-8. The total number of shares of Common Stock reserved for issuance under the 2025 Equity Plan consists of (a) 3,000,000 shares of Common Stock reserved for future issuances under the 2025 Equity Plan, (b) 1,501,330 shares of Common Stock previously reserved but unissued under the CPS 2006 Long-Term Equity Incentive Plan that are now available for issuance under the 2025 Equity Plan, and (c) any shares of Common Stock that expire or are forfeited, surrendered, terminated (other than by exercise), cancelled, lapsed or reacquired by the Registrant prior to vesting, without the delivery of any shares of Common Stock in accordance with the terms of the 2006 Equity Plan, and comply with the share recycling provisions of the 2006 Equity Plan and Section 5(c) of the 2025 Equity Plan.&lt;br/&gt;&lt;br/&gt;Estimated solely for the purpose of calculating the amount of the registration fee pursuant to Rule 457(c) and Rule 457(h) under the Securities Act. The offering price per share and aggregate offering price are based on the average of the high and low prices of the Common Stock as reported on the Nasdaq Global Market on December 3, 2025, which is a date within five business days prior to the filing of this Registration Statement.&lt;br/&gt;&lt;br/&gt;The Registrant does not have any fee offsets.&lt;br/&gt;&lt;br/&gt;</ffd:OfferingNote>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
