/* ================================================================
   GR1P DEALER PAGE — Become an Authorized Dealer

   Ownership:
   - Dealer page layout (hero, form, CTA)
   - Scoped under .gr1p-dealer-page
   - No global class duplication

   Reuses from policy-pages.css (loaded globally):
   - .section-label
   - .section-title
   - .gold-divider
   - .reveal
   ================================================================ */


/* ================================================================
   DEALER PAGE BASE
   ================================================================ */

.gr1p-dealer-page {

    background:var(--gr1p-light,#F4F4F4);

}


/* ================================================================
   SECTION 1 — REGISTRATION (hero + form card)
   ================================================================ */

.gr1p-dealer-page .dealer-registration {

    padding:100px 0 80px;

}

.gr1p-dealer-page .dealer-registration .section-title {

    font-size:2rem;

}

.gr1p-dealer-page .dealer-intro {

    max-width:920px;

    margin:35px auto 0;

    font-family:var(--f-body,var(--gr1p-font));

    color:var(--gr1p-medium-gray,#54595F);

    font-size:1.05rem;

    line-height:1.9;

}

.gr1p-dealer-page .dealer-form-card {

    max-width:1140px;

    margin:60px auto 0;

    background:var(--gr1p-white,#FFFFFF);

    border-radius:12px;

    padding:50px 60px;

}

.gr1p-dealer-page .dealer-form-title {

    text-align:center;

    margin-bottom:40px;

}

.gr1p-dealer-page .dealer-form-footer {

    max-width:720px;

    margin:40px auto 0;

    font-family:var(--f-body,var(--gr1p-font));

    color:var(--gr1p-medium-gray,#54595F);

    font-size:1rem;

    line-height:1.8;

    text-align:center;

}


/* ================================================================
   FLUENT FORMS — Scoped styling for dealer form
   ================================================================ */

/* form container */

.gr1p-dealer-page .dealer-form-card .fluentform .ff-el-group {

    margin-bottom:22px;

}

/* labels */

.gr1p-dealer-page .dealer-form-card .fluentform .ff-el-input--label {

    margin-bottom:6px;

    font-family:var(--f-body,var(--gr1p-font));

    font-size:0.9rem;

    font-weight:600;

    color:var(--gr1p-dark,#29292C);

}

/* required indicator */

.gr1p-dealer-page .dealer-form-card .fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label:after {

    color:var(--gr1p-gold,#E6AB40);

    content:" *";

}

/* text inputs, selects, textarea */

.gr1p-dealer-page .dealer-form-card .fluentform .ff-el-form-control {

    display:block;

    width:100%;

    padding:12px 16px;

    font-family:var(--f-body,var(--gr1p-font));

    font-size:0.95rem;

    color:var(--gr1p-dark,#29292C);

    background:var(--gr1p-white,#FFFFFF);

    border:1px solid rgba(28,28,30,.12);

    border-radius:8px;

    transition:border-color 0.25s ease,box-shadow 0.25s ease;

}

.gr1p-dealer-page .dealer-form-card .fluentform .ff-el-form-control:focus {

    border-color:var(--gr1p-dark,#29292C);

    box-shadow: none;

    outline:none;

}

.gr1p-dealer-page .dealer-form-card .fluentform .ff-el-form-control::-moz-placeholder {

    color:rgba(41,41,44,.35);

    opacity:1;

}

.gr1p-dealer-page .dealer-form-card .fluentform .ff-el-form-control::placeholder {

    color:rgba(41,41,44,.35);

    opacity:1;

}

/* select fields */

.gr1p-dealer-page .dealer-form-card .fluentform select.ff-el-form-control {

    -webkit-appearance:none;

    appearance:none;

    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2329292C' d='M6 8L0 0h12z'/%3E%3C/svg%3E");

    background-repeat:no-repeat;

    background-position:right 14px center;

    padding-right:40px;

    cursor:pointer;

}

/* textarea */

.gr1p-dealer-page .dealer-form-card .fluentform textarea.ff-el-form-control {

    min-height:120px;

    resize:vertical;

    line-height:1.6;

}

/* radio / checkbox */

.gr1p-dealer-page .dealer-form-card .fluentform .ff-el-form-check {

    margin-bottom:10px;

}

.gr1p-dealer-page .dealer-form-card .fluentform .ff-el-form-check-label {

    display:flex;

    align-items:center;

    gap:10px;

    font-family:var(--f-body,var(--gr1p-font));

    font-size:0.9rem;

    color:var(--gr1p-dark,#29292C);

    cursor:pointer;

}

.gr1p-dealer-page .dealer-form-card .fluentform .ff-el-form-check-input[type=radio],

.gr1p-dealer-page .dealer-form-card .fluentform .ff-el-form-check-input[type=checkbox] {

    width:18px;

    height:18px;

    accent-color:var(--gr1p-gold,#E6AB40);

    cursor:pointer;

    flex-shrink:0;

}

/* validation messages */

.gr1p-dealer-page .dealer-form-card .fluentform .ff-el-is-error .ff-el-form-control {

    border-color:#D1232A;

}

.gr1p-dealer-page .dealer-form-card .fluentform .ff-el-is-error .text-danger {

    font-size:0.8rem;

    color:#D1232A;

    margin-top:4px;

    font-family:var(--f-body,var(--gr1p-font));

}

/* submit button — match GR1P CTA button style */

.gr1p-dealer-page .dealer-form-card .fluentform .ff-btn-submit {

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    font-family:var(--gr1p-font);

    font-size:0.95rem;

    font-weight:600;

    text-transform:uppercase;

    text-decoration:none;

    background-color:var(--gr1p-dark,#29292C);

    color:#ffffff;

    border:1px solid var(--gr1p-dark,#29292C);

    border-radius:5px;

    padding:12px 32px;

    cursor:pointer;

    transition:all 0.25s ease;

    letter-spacing:.04em;

}

.gr1p-dealer-page .dealer-form-card .fluentform .ff-btn-submit:hover {

    background-color:#ffffff;

    color:var(--gr1p-gold,#E6AB40);

    border-color:var(--gr1p-gold,#E6AB40);

}

/* submit button wrapper — center align */

.gr1p-dealer-page .dealer-form-card .fluentform .ff_submit_btn_wrapper {

    text-align:center;

    margin-top:10px;

}

/* success message */

.gr1p-dealer-page .dealer-form-card .fluentform .ff-message-success {

    border:1px solid rgba(28,28,30,.12);

    border-radius:8px;

    padding:20px;

    font-family:var(--f-body,var(--gr1p-font));

    text-align:center;

}


/* ================================================================
   SECTION 3 — DEALER CTA

   Design language matches the existing global CTA component
   (cta-section.css) but is scoped under .gr1p-dealer-page
   to avoid cross-page conflicts.
   ================================================================ */

.gr1p-dealer-page .dealer-cta {

    position:relative;

    width:100vw;

    margin-left:calc(-50vw + 50%);

    margin-top:0;

    background-color:var(--gr1p-cta-bg,#222529);

    padding:5.65rem 0;

    overflow:hidden;

}

.gr1p-dealer-page .dealer-cta-marquee {

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:100%;

    overflow:hidden;

    pointer-events:none;

    user-select:none;

}

.gr1p-dealer-page .dealer-cta-track {

    display:flex;

    align-items:center;

    height:100%;

    animation:dealer-cta-scroll 25s linear infinite;

    white-space:nowrap;

}

.gr1p-dealer-page .dealer-cta-text {

    flex-shrink:0;

    font-family:var(--gr1p-font);

    font-size:6.8792em;

    font-weight:500;

    line-height:1;

    letter-spacing:0.3em;

    color:transparent;

    -webkit-text-fill-color:transparent;

    -webkit-text-stroke-width:1px;

    -webkit-text-stroke-color:rgba(204,204,204,0.07);

    padding-right:0.5em;

}

@keyframes dealer-cta-scroll {

    0% { transform:translateX(0); }

    100% { transform:translateX(-50%); }

}

.gr1p-dealer-page .dealer-cta-container {

    position:relative;

    width:66.62%;

    margin:0 auto;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    gap:20px;

    z-index:1;

}

.gr1p-dealer-page .dealer-cta-heading {

    font-size:2rem;

    font-weight:500;

    line-height:1.4;

    letter-spacing:0.1rem;

    text-transform:uppercase;

    text-align:center;

    color:var(--gr1p-gold);

    margin:0;

}

.gr1p-dealer-page .dealer-cta-description {

    font-family:'DM Sans',sans-serif;

    font-size:1rem;

    font-weight:400;

    line-height:1.4;

    letter-spacing:0.1rem;

    text-align:center;

    color:var(--gr1p-gold);

    max-width:650px;

    margin:0;

}

.gr1p-dealer-page .dealer-cta-button {

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    font-family:var(--gr1p-font);

    font-weight:600;

    text-transform:uppercase;

    text-decoration:none;

    background-color:var(--gr1p-gold);

    color:#ffffff;

    border:1px solid var(--gr1p-gold);

    border-radius:5px;

    padding:10px 10px;

    transition:all 0.25s ease;

}

.gr1p-dealer-page .dealer-cta-button:hover {

    background-color:#ffffff;

    color:var(--gr1p-gold);

    border-color:var(--gr1p-gold);

}

.gr1p-dealer-page .dealer-cta-button i {

    font-size:14px;

    transition:transform 0.2s ease;

}

.gr1p-dealer-page .dealer-cta-button:hover i {

    transform:translateX(4px);

}


/* ================================================================
   RESPONSIVE
   ================================================================ */

@media(max-width:991px){

.gr1p-dealer-page .dealer-registration .section-title {

    font-size:2.4rem;

}

}

@media(max-width:767px){

.gr1p-dealer-page .dealer-registration {

    padding:60px 0 40px;

}

.gr1p-dealer-page .dealer-registration .section-title {

    font-size:1.8rem;

}

.gr1p-dealer-page .dealer-form-card {

    padding:30px 20px;

}

.gr1p-dealer-page .dealer-cta {

    padding:2rem 0;

}

.gr1p-dealer-page .dealer-cta-text {

    font-size:4em;

}

.gr1p-dealer-page .dealer-cta-container {

    width:100%;

    gap:10px;

}

.gr1p-dealer-page .dealer-cta-heading {

    font-size:1.1rem;

    line-height:1;

}

.gr1p-dealer-page .dealer-cta-description {

    font-size:0.8rem;

    line-height:1;

    letter-spacing:0.04rem;

}

}
