/* SRM shared form styles */
:root {
        --srm-form-action-blue: #002f87;
        --srm-form-border: #dfe5ef;
        --srm-form-error: #CF152D;
        --srm-form-font: Inter;
        --srm-form-heading: #24272F;
        --srm-form-ink: #172242;
        --srm-form-panel: #ffffff;
        --srm-form-support-blue: #203061;
        --srm-form-link-blue: #005fcc;
        --srm-form-ui-font: Arial, sans-serif;
    }

    .srm-form-banner {
        background-image: url(/assets/images/bg/bg-customers-credit-app.jpg);
    }

    .srm-form-banner-spacer {
        color: var(--srm-form-panel);
    }

    .srm-form-banner-spacer {
        font-size: 1.2em;
    }

    .srm-form-help-section {
        background-color: var(--srm-form-support-blue);
    }

    .srm-form-application-form-section {
        background: var(--srm-form-panel);
        padding: 64px 0 76px;
    }

    .srm-form-form-shell {
        margin: 0 auto;
        max-width: 1492px;
    }

    .srm-form {
        margin: 0;
    }

    .srm-form-error-message {
        cursor: pointer;
        text-decoration: underline;
    }

    .srm-form-error-message {
        color: red;
    }

    .srm-form-application-wizard {
        align-items: flex-start;
        display: grid;
        gap: 44px;
        grid-template-columns: 410px minmax(0, 1038px);
        justify-content: center;
        margin: 0 auto;
        max-width: 1492px;
    }

    .srm-form-step-sidebar {
        padding-top: 16px;
    }

    .srm-form-step-heading {
        color: var(--srm-form-heading);
        font-family: var(--srm-form-font);
        font-size: 24px;
        font-style: normal;
        font-weight: 600;
        line-height: 140%;
        margin: 0 0 10px;
    }

    .srm-form-step-status {
        color: #8f949d;
        display: block;
        font-family: var(--srm-form-ui-font);
        font-size: 12px;
        line-height: 1.2;
        margin-bottom: 8px;
    }

    .srm-form-step-progress {
        background: #edf0f4;
        border-radius: 999px;
        height: 5px;
        margin-bottom: 28px;
        overflow: hidden;
        width: 100%;
    }

    .srm-form-step-progress-fill {
        background: var(--srm-form-action-blue);
        border-radius: inherit;
        display: block;
        height: 100%;
        transition: width 180ms ease;
        width: 16.6667%;
    }

    .srm-form-step-list {
        background: transparent;
        border-radius: 0;
        display: block;
        list-style: none;
        margin: 0;
        min-height: 0;
        overflow: visible;
        padding: 0;
    }

    .srm-form-step-list li {
        flex: none;
        margin: 0 0 18px;
        min-width: 0;
    }

    .srm-form-step-list li.is-active {
        flex: none;
    }

    .srm-form-step-item {
        align-items: center;
        box-sizing: border-box;
        color: #a2a7b0;
        display: inline-flex;
        font-family: var(--srm-form-ui-font);
        font-size: 20px;
        font-weight: 600;
        gap: 12px;
        height: 80px;
        justify-content: flex-start;
        line-height: 140%;
        padding: 16px 55px 16px 16px;
        text-align: left;
        width: auto;
        max-width: 100%;
    }

    .srm-form-step-item[aria-current="step"] {
        background: rgba(1, 33, 105, 0.05);
        border: 1px solid rgba(1, 33, 105, 0.30);
        border-radius: 16px;
        color: #5b6068;
        justify-content: flex-start;
        width: 410px;
    }

    .srm-form-step-item.is-complete:not([aria-current="step"]) {
        background: #FFF;
        border-radius: 16px;
    }

    .srm-form-step-item.is-complete:not([aria-current="step"]) .srm-form-step-label {
        color: var(--Foreground-muted, #52525B);
    }

    .srm-form-step-item.is-clickable {
        cursor: pointer;
    }

    .srm-form-step-item.is-clickable:focus-visible {
        outline: 2px solid var(--srm-form-action-blue);
        outline-offset: 3px;
    }

    .srm-form-step-item:not([aria-current="step"]) .srm-form-step-label {
        color: var(--Foreground-Disabled-default, #A1A1AA);
        display: inline;
        font-family: var(--srm-form-font);
        font-size: 18px;
        font-style: normal;
        font-weight: 500;
        line-height: 28px;
    }

    .srm-form-step-marker {
        align-items: center;
        aspect-ratio: 1 / 1;
        background: #f1f2f4;
        border: 0;
        border-radius: 50%;
        color: #9da2aa;
        display: inline-flex;
        flex: 0 0 34px;
        height: 34px;
        justify-content: center;
        overflow: hidden;
        position: relative;
        width: 34px;
    }

    .srm-form-step-marker > svg {
        display: none;
    }

    .srm-form-step-marker-content {
        align-items: center;
        color: inherit;
        display: inline-flex;
        font-family: var(--srm-form-font), sans-serif;
        font-size: 17px;
        font-weight: 500;
        height: 100%;
        justify-content: center;
        line-height: normal;
        position: relative;
        width: 100%;
        z-index: 1;
    }

    .srm-form-step-marker-content svg {
        display: block;
        flex: 0 0 auto;
    }

    .srm-form-step-item[aria-current="step"] .srm-form-step-marker,
    .srm-form-step-item.is-complete .srm-form-step-marker {
        background: var(--srm-form-action-blue);
        color: var(--srm-form-panel);
    }

    .srm-form-step-label {
        color: var(--Foreground-muted, #52525B);
        font-family: var(--srm-form-font);
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: 140%;
        overflow-wrap: anywhere;
    }

    .srm-form-form-card {
        align-items: flex-end;
        background: var(--srm-form-panel);
        border: 0;
        border-radius: 16px;
        box-shadow: 0 4px 50px 0 rgba(0, 0, 0, 0.07);
        padding: 40px;
        width: 1038px;
        max-width: 100%;
    }

    .srm-form-application-step {
        background: var(--srm-form-panel);
        border: 0;
        border-radius: 8px;
        box-shadow: none;
    }

    .srm-form-field-grid {
        column-gap: 16px;
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        row-gap: 20px;
    }

    .srm-form-field {
        grid-column: span 3;
        min-width: 0;
    }

    .srm-form-field--full {
        grid-column: 1 / -1;
    }

    .srm-form-field--third {
        grid-column: span 2;
    }

    .srm-form-note {
        color: var(--srm-form-heading);
        font-family: var(--srm-form-font);
        font-size: 16px;
        line-height: 24px;
        margin: 0 0 26px;
        text-align: center;
    }

    .srm-form-address-lookup {
        position: relative;
        width: 100%;
    }

    .srm-form-application-step h4.title {
        background: transparent !important;
        border: 0;
        clip: auto;
        color: #303640 !important;
        font-family: var(--srm-form-ui-font);
        font-size: 18px;
        font-weight: 700;
        height: auto;
        line-height: 1.25;
        margin: 0 0 26px;
        overflow: visible;
        padding: 0 !important;
        position: static;
        white-space: normal;
        width: auto;
    }

    .srm-form-application-step label.form-label,
    .srm-form-application-step label {
        color: var(--srm-form-heading) !important;
        display: inline-block;
        font-family: var(--srm-form-font);
        font-size: 16px;
        font-style: normal;
        font-weight: 500 !important;
        line-height: 140%;
        margin-bottom: 8px;
    }

    .srm-form-application-step label.srm-form-product-label {
        align-items: center;
        align-self: stretch;
        display: flex;
        justify-content: space-between;
    }

    .srm-form-calculator-link {
        align-items: center;
        color: var(--srm-form-link-blue) !important;
        column-gap: 8px;
        display: inline-flex;
        font-size: 14px;
        line-height: 1;
        margin-left: 8px;
        text-decoration: none;
    }

    .srm-form-product-label .srm-form-calculator-link {
        margin-left: 16px;
    }

    .srm-form-calculator-link i {
        flex: 0 0 auto;
    }

    .srm-form-calculator-link-text {
        border-bottom: 1px solid currentColor;
        padding-bottom: 1px;
    }

    .srm-form-calculator-link:hover,
    .srm-form-calculator-link:focus {
        color: #003f88 !important;
    }

    .srm-form-calculator-link:focus-visible {
        outline: 2px solid var(--srm-form-link-blue);
        outline-offset: 3px;
    }

    .srm-form-required {
        color: var(--srm-form-error);
        font-family: var(--srm-form-font);
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: 140%;
    }

    .srm-form [data-valmsg-for],
    .srm-form [data-srm-form-client-error-for],
    .srm-form .field-validation-error,
    .srm-form .srm-form-client-validation {
        color: #CF152D !important;
        display: block;
        font-family: Inter;
        font-size: 14px;
        font-style: normal;
        font-weight: 400;
        line-height: 20px;
        margin-top: 6px;
    }

    .srm-form-application-wizard .form-control,
    .srm-form-application-wizard input[type="text"],
    .srm-form-application-wizard input[type="password"],
    .srm-form-application-wizard input[type="number"],
    .srm-form-application-wizard input[type="file"],
    .srm-form-application-wizard select,
    .srm-form-application-wizard textarea {
        background-color: var(--srm-form-panel) !important;
        border: 1px solid var(--srm-form-border) !important;
        border-radius: 6px !important;
        color: var(--srm-form-ink) !important;
        font-family: var(--srm-form-font) !important;
        font-size: 16px !important;
        font-style: normal !important;
        font-weight: 400 !important;
        height: 40px !important;
        line-height: 20px !important;
        margin-bottom: 0 !important;
        padding: 0 12px !important;
        width: 100% !important;
    }

    .srm-form-application-wizard input[type="file"] {
        padding-top: 8px !important;
    }

    .srm-form-application-wizard select {
        -moz-appearance: none;
        -webkit-appearance: none;
        appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9L12 15L18 9' stroke='%2309090B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
        background-position: right 12px center !important;
        background-repeat: no-repeat !important;
        background-size: 24px 24px !important;
        padding-right: 48px !important;
    }

    .srm-form-application-wizard select::-ms-expand {
        display: none;
    }

    .srm-form-upload-document {
        align-items: flex-start;
        background: var(--srm-form-panel);
        border: 1px solid #E2E8F0;
        border-radius: 8px;
        box-sizing: border-box;
        display: inline-flex;
        gap: 24px;
        max-width: 100%;
        padding: 18px 16px;
    }

    .srm-form-upload-document label.form-label {
        color: var(--srm-form-heading) !important;
        flex: 0 1 auto;
        font-family: var(--srm-form-font);
        font-size: 16px;
        font-style: normal;
        font-weight: 500 !important;
        line-height: 20px;
        margin-bottom: 0;
    }

    .srm-form-upload-document input[type="file"].form-control {
        flex: 1 1 280px;
        min-width: 0;
        width: auto !important;
    }

    .srm-form-application-wizard .form-control:focus,
    .srm-form-application-wizard input:focus,
    .srm-form-application-wizard select:focus,
    .srm-form-application-wizard textarea:focus {
        border-color: var(--srm-form-action-blue) !important;
        box-shadow: 0 0 0 3px rgba(0, 47, 135, 0.08);
        outline: 0;
    }

    .srm-form-application-wizard .form-control.is-invalid,
    .srm-form-application-wizard input.is-invalid,
    .srm-form-application-wizard select.is-invalid,
    .srm-form-application-wizard textarea.is-invalid,
    .srm-form-application-wizard .form-control.input-validation-error,
    .srm-form-application-wizard input.input-validation-error,
    .srm-form-application-wizard select.input-validation-error,
    .srm-form-application-wizard textarea.input-validation-error,
    .srm-form-application-wizard .srm-form-radio-group.is-invalid,
    .srm-form-application-wizard .signature-pad-wrapper.is-invalid {
        border-color: var(--srm-form-error) !important;
    }

    .srm-form-application-wizard .form-control.is-invalid:focus,
    .srm-form-application-wizard input.is-invalid:focus,
    .srm-form-application-wizard select.is-invalid:focus,
    .srm-form-application-wizard textarea.is-invalid:focus,
    .srm-form-application-wizard .form-control.input-validation-error:focus,
    .srm-form-application-wizard input.input-validation-error:focus,
    .srm-form-application-wizard select.input-validation-error:focus,
    .srm-form-application-wizard textarea.input-validation-error:focus {
        border-color: var(--srm-form-error) !important;
        box-shadow: 0 0 0 3px rgba(207, 21, 45, 0.12);
    }

    .srm-form-application-wizard .form-control::placeholder,
    .srm-form-application-wizard input::placeholder,
    .srm-form-application-wizard textarea::placeholder {
        color: #838383;
        font-family: var(--srm-form-font);
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 20px;
    }

    .srm-form-radio-group {
        align-items: center;
        border: 1px solid transparent;
        border-radius: 6px;
        display: flex;
        gap: 20px;
        min-height: 40px;
    }

    .srm-form-radio-option {
        align-items: center;
        color: #303640 !important;
        display: inline-flex !important;
        font-size: 12px !important;
        font-weight: 400 !important;
        gap: 7px;
        margin: 0 !important;
    }

    .srm-form-radio-option input {
        accent-color: var(--srm-form-action-blue);
        height: 15px;
        margin: 0;
        width: 15px;
    }

    .srm-form-radio-option input[type="radio"] {
        appearance: auto !important;
        -webkit-appearance: radio !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 50% !important;
        cursor: pointer;
        flex: 0 0 15px;
        opacity: 1 !important;
        padding: 0 !important;
        position: static !important;
    }

    .srm-form-checkbox-field {
        margin-top: 4px;
    }

    .srm-form-checkbox-option {
        align-items: center;
        color: #303640 !important;
        display: inline-flex !important;
        gap: 10px;
        margin-bottom: 0 !important;
    }

    .srm-form-checkbox-option input[type="checkbox"] {
        accent-color: var(--srm-form-action-blue);
        appearance: auto !important;
        -webkit-appearance: checkbox !important;
        cursor: pointer;
        flex: 0 0 16px;
        height: 16px;
        margin: 0;
        opacity: 1 !important;
        position: static !important;
        width: 16px;
    }

    .secondary-payment-contact-fields {
        margin-top: 2px;
    }

    .srm-form-radio-group.is-invalid {
        border-color: var(--srm-form-error) !important;
        padding-left: 8px;
    }

    .srm-form-legal-copy {
        color: var(--Foreground-muted, #52525B);
        font-family: Inter;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 24px;
        padding-bottom: 32px;
    }

    .srm-form-legal-copy p {
        margin-bottom: 16px;
    }

    .srm-form-legal-copy p:last-of-type {
        margin-bottom: 0;
    }

    .srm-form-application-step .signature-pad-wrapper {
        border: 1px solid var(--srm-form-border) !important;
        border-radius: 6px !important;
        overflow: hidden;
    }

    .srm-form-application-step canvas {
        border: 0 !important;
        height: 180px !important;
    }

    .srm-form-application-step .signature-pad-wrapper canvas {
        background-color: #f7f7f7;
        width: 100%;
    }

    .srm-form-signature-preview {
        display: block;
        margin-top: 10px;
        max-width: 100%;
    }

    .srm-form-signature-preview.is-hidden {
        display: none;
    }

    .srm-form-signature-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 12px;
    }

    .srm-form-button {
        align-items: center;
        border-radius: var(--Radius-radius-md, 8px) !important;
        display: flex;
        gap: var(--Spacing-spacing-sm, 8px);
        font-size: 18px !important;
        font-weight: 500 !important;
        height: 48px !important;
        justify-content: center;
        margin: 0 !important;
        min-width: 150px;
        padding: var(--Padding-padding-xxs, 8px) var(--Padding-padding-lg, 24px) !important;
        width: auto !important;
    }

    .srm-form-signature-accept {
        background: var(--Background-blue, #012169) !important;
        border: 1px solid var(--Background-blue, #012169) !important;
        color: var(--Foreground-Primary-Button-default, #FAFAFA) !important;
        font-family: Inter;
        font-size: 18px !important;
        font-style: normal;
        font-weight: 500 !important;
        line-height: 28px;
    }

    .srm-form-signature-clear {
        background: var(--Background-default, #FFF) !important;
        border: 1px solid var(--Border-default, #E4E4E7) !important;
        color: var(--Foreground-default, #09090B) !important;
        font-family: Inter;
        font-size: 18px !important;
        font-style: normal;
        font-weight: 500 !important;
        line-height: 28px;
    }

    .srm-form-step-controls {
        align-items: center;
        border-top: 0;
        display: flex;
        gap: 12px;
        justify-content: space-between;
        margin-top: 28px;
        padding: 0;
        width: 100%;
    }

    .srm-form-step-actions {
        align-items: center;
        display: flex;
        gap: 12px;
        justify-content: flex-end;
        margin-left: auto;
    }

    .srm-form .srm-form-step-nav,
    .srm-form .srm-form-step-submit {
        border-radius: 4px;
        font-size: 18px;
        font-weight: 500;
        height: 34px;
        flex: 0 0 auto;
        line-height: 28px;
        margin: 0 !important;
        min-width: 64px;
        padding: 0 18px;
        width: auto !important;
    }

    .srm-form .srm-form-step-nav {
        background: var(--Background-default, #FFF) !important;
        border: 1px solid var(--Border-default, #E4E4E7) !important;
        color: var(--Foreground-default, #09090B) !important;
    }

    .srm-form .srm-form-step-nav.primary,
    .srm-form .srm-form-step-submit {
        background: var(--Background-blue, #012169) !important;
        border: 1px solid var(--Background-blue, #012169) !important;
        color: var(--Foreground-Primary-Button-default, #FAFAFA) !important;
    }

    .srm-form .srm-form-step-nav,
    .srm-form .srm-form-step-submit {
        transition: none;
    }

    .srm-form .srm-form-step-nav:hover {
        background: var(--Background-default, #FFF) !important;
        border: 1px solid var(--Border-default, #E4E4E7) !important;
        color: var(--Foreground-default, #09090B) !important;
        transform: none;
    }

    .srm-form .srm-form-step-nav.primary:hover,
    .srm-form .srm-form-step-submit:hover {
        background: var(--Background-blue, #012169) !important;
        border: 1px solid var(--Background-blue, #012169) !important;
        color: var(--Foreground-Primary-Button-default, #FAFAFA) !important;
        transform: none;
    }

    .srm-form .srm-form-step-previous {
        margin-right: auto;
    }

    .srm-form-captcha {
        margin-top: 26px;
    }

    .srm-form-captcha img {
        border: 10px solid var(--srm-form-panel);
        display: block;
        margin: 0 0 12px;
        max-width: 220px;
        width: 100%;
    }

    @media (max-width: 1199px) {
        .srm-form-application-wizard {
            gap: 30px;
            grid-template-columns: 260px minmax(0, 1fr);
        }
    }

    @media (max-width: 991px) {
        .srm-form-application-form-section {
            padding: 42px 0 54px;
        }

        .srm-form-application-wizard {
            display: block;
        }

        .srm-form-step-sidebar {
            margin-bottom: 28px;
            padding-top: 0;
        }

        .srm-form-step-list {
            display: grid;
            gap: 10px;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            overflow: visible;
            padding-bottom: 0;
        }

        .srm-form-step-list li {
            flex: none;
            margin: 0;
        }

        .srm-form-step-list li.is-active {
            flex: none;
        }

        .srm-form-form-card {
            padding: 24px;
        }

        .srm-form-field-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .srm-form-field,
        .srm-form-field--third {
            grid-column: span 1;
        }

        .srm-form-field--full {
            grid-column: 1 / -1;
        }
    }

    @media (max-width: 575px) {
        .srm-form-upload-document {
            display: inline-flex;
            flex-direction: column;
            gap: 12px;
            width: 100%;
        }

        .srm-form-upload-document input[type="file"].form-control {
            flex-basis: auto;
            width: 100% !important;
        }

        .srm-form-step-list,
        .srm-form-field-grid {
            display: block;
        }

        .srm-form-step-list li,
        .srm-form-field {
            margin-bottom: 16px;
        }

        .srm-form-step-list li:last-child,
        .srm-form-field:last-child {
            margin-bottom: 0;
        }

        .srm-form-form-card {
            padding: 20px;
        }
    }
