h1.catTitle {
    width: 760px;
    margin: auto;
    text-align: left !important;
    font-size: 32px;
    font-weight: 500;
}

    .zfr_register_steps-form {
        border: 1px solid #ddd;
        border-radius: 10px;
        width: 760px;
        margin: 20px auto;
        padding: 0 30px 30px 30px;
    }

    .zfr_register_steps {
        display: flex;
        align-items: center;
        justify-content: space-between !important;
        gap: 30px;
        margin: 20px 0 40px;

    }
    .zfr_register_step {
        display: flex;
        align-items: center;
        gap: 10px;
        color: #757575;
        font-size: 14px;
        flex-direction:column;
    }

    .zfr_register_steps-form .form.create, .zfr_register_steps {
        width: 100%;
    }

    .zfr_step-register input[aria-invalid=true] {
        border-color: #ef7272 !important;
        background-color:#FDF5F4;
    }

    .zfr_step-register div.mage-error {
        font-size: .8rem;
    }

    .zfr_register_step.zfr_register_active {
        color: #0056ff;
        font-weight: 600;
    }
    .zfr_register_circle {
        width: 16px;
        height: 16px;
        border: 2px solid #757575;
        border-radius: 50%;
        display: inline-block;
    }
    .zfr_register_step.zfr_register_active .zfr_register_circle {
        border-color: #0056ff;
    }
    .zfr_register_line {
        width: 80px;
        height: 2px;
        background-color: #757575;
    }
    .zfr_register_line.zfr_register_active_line {
        background-color: #0056ff;
    }



    .zfr_step-button {
        border-radius: 33px !important;
        border: 1px solid var(--colors-blue-03, #0050c8) !important;
        display: flex !important;
        color: var(--colors-blue-03, #0050c8) !important;
        padding: 12px !important;
        justify-content: center;
        align-items: center;
        gap: 8px;
        align-self: stretch;
        font-style: normal;
        font-weight: 500 !important;
        line-height: normal;
        background: transparent !important;
        font-size: 1rem !important;
        min-width: 90px;
        float: left !important;
        margin: 0 !important;
        transition: 0.3s ease;
    }

    .zfr_step-button.primary-outline:hover {
        background: var(--colors-blue-03, #0050c8) !important;
        color: #fff !important;
    }

    .zfr_step_toolbar_action-finish, .field.telephone, .field.country {
        display: none !important;
    }

    .actions-toolbar.zfr_step_toolbar {
        justify-content: end;
    }

    .actions-toolbar.zfr_step_toolbar.zfr_step_toolbar-start .zfr_step_section-prev,.zfr_step-register:not(.zfr_step_status-active), .actions-toolbar.zfr_step_toolbar .zfr_step_section-login, .actions-toolbar.zfr_step_toolbar.zfr_step_toolbar-finish .zfr_step_section-next
    {
        display: none;
    }





    .actions-toolbar.zfr_step_toolbar.zfr_step_toolbar-start .zfr_step_section-login,  .actions-toolbar.zfr_step_toolbar.zfr_step_toolbar-finish .zfr_step_toolbar_action-finish {
        display: flex !important;
    }


    .ca_pessoa .control {
        background: #f5f5f5;
        width: 100% !important;
        box-sizing: border-box;
        padding: 5px;
        border-radius: 5px;
        display: flex;
        align-items: center;
    }

    body.customer-account-create {
        background: #fff;
    }

    .ca_pessoa#ca_pessoa .control .field.choice {
        margin: 0;
        width: 50% !important;
        display: flex !important;
    }


    .ca_pessoa .control .field.choice label[for="ca_pessoa4"]:before {
        content:"person";
    }
    .ca_pessoa .control .field.choice label[for="ca_pessoa5"]:before {
        content:"business";
    }
    .ca_pessoa .control .field.choice [type="radio"]+label:after {
        display: none;
    }

    .ca_pessoa .control .field.choice [type="radio"]:checked +label {
        color: #0050C8;
    }

    .ca_pessoa .control .field.choice [type="radio"]+label:before, .mage-error:before {
        font-family: 'Material Icons';
        font-weight: normal;
        font-style: normal;
        font-size: 24px;
        line-height: 1;
        letter-spacing: normal;
        text-transform: none;
        display: inline-block;
        white-space: nowrap;
        word-wrap: normal;
        direction: ltr;
        -webkit-font-feature-settings: 'liga';
        -webkit-font-smoothing: antialiased;
        position:unset !important;
    }

    .ca_pessoa .control .field.choice [type="radio"]:checked+label {
        background: #fff;
        border-radius: 8px;

    }

    .ca_pessoa .control .field.choice [type="radio"] +label {
        width: 100% !important;
        padding: 12px;
        padding-left: 0px !important;
        line-height: normal;
        height: auto;
        display: flex;
        gap:10px;
        align-items: center;
        justify-content: center;
        color: #000;
    }

    .ca_pessoa .control .field.choice [type="radio"] +label:before {
        top: 8px;
        left: 8px;
        border:none;
        width: 24px;
        height: 24px;
    }

    .zfr_register_steps-form .customer-account-create input[type="text"] {
        padding: 12px 16px !important;
        background: #123456;
    }



    .customer-account-create input[type="text"], .customer-account-create input[type="email"], .customer-account-create input[type="password"] {
        padding: 12px 16px;
        box-sizing: border-box;
        height: auto;
        background: #f5f5f5;
        border-radius: 8px;
        width: 100%;
    }

    .customer-account-create select {
        background-color: #f5f5f5;
        border-radius: 8px;
        border: 1px solid #dddddd;
        height: 46px;
    }

    .form-create-account input, .form-create-account select {
        border-bottom: 1px solid #dddddd !important;
        box-shadow:none !important;
    }

    .mage-error:before {
        content: "warning";
        font-size: 15px;
    }

    .mage-error {
        display: flex;
        gap: 5px;
        align-items: center;
    }



    .show-password-icon {
        position: absolute;
        top: 24px;
        right: 10px;
        transform: translateY(-50%);
        cursor: pointer;
        font-size: 18px;
        color: #888;
        z-index: 10;
        transition: color 0.3s;
        line-height: 18px;
        padding: 0;
    }

    .show-password-icon.active {
        color: #333;
    }
    .control {
        position: relative;
    }

    select.mage-error {
        border-color: #ef7272;
        border-bottom-color: #ef7272!important;
    }


    .customer-account-create .fieldset > .legend span:before {
        display: none;
    }

    .customer-account-create .fieldset > .legend span {
        font-size: 21px !important;
        font-weight: 500;
        color: #333;
    }

    .customer-account-create .fieldset > .legend {
        border: 0;
        margin-bottom: 0;
        margin-top: 0;
    }


    .custom-file-wrapper {
        position: relative;
        border: 2px dashed #cdd6e0;
        border-radius: 8px;
        padding: 20px;
        text-align: center;
        background-color: #f8f9fb;
        transition: border-color 0.3s, background-color 0.3s;
    }
    .custom-file-wrapper.dragover {
        border-color: #007bff;
        background-color: #eef6ff;
    }
    .custom-file-wrapper.error {
        border-color: #e74c3c;
        background-color: #fff5f5;
    }
    .custom-file-wrapper.success {
        border-color: #28a745;
        background-color: #f6fff8;
        padding:10px;
    }
    .custom-file-wrapper .file-icon {
        font-size: 36px;
        color: #a0a8b5;
        margin-bottom: 5px;
    }
    .custom-file-wrapper .file-label {
        display: block;
        color: #666;
        margin-bottom: 10px;
    }
    .custom-file-wrapper .file-button {
        display: inline-block;
        padding: 6px 16px;
        background-color: #DAE9FF;
        color: #007bff;
        border-radius: 5px;
        cursor: pointer;
        font-weight: 500;
    }
    .custom-file-wrapper .file-name {
        margin-top: 10px;
        font-size: 14px;
        color: #333;
    }
    .custom-file-wrapper .file-error {
        color: #e74c3c;
        font-size: 13px;
        margin-top: 8px;
        display: flex;
        justify-content: center;
    }
    .custom-file-wrapper .file-remove {
        color: #007bff;
        cursor: pointer;
        margin-left: 8px;
    }

    .zfr_step-register.zfr_step_register-doc fieldset.fieldset.create.info {
        display: contents;
    }

    .ca_ca_aceito_de_termos .field.choice {
        width: 100% !important;
        align-items: normal;
        flex-wrap: wrap;
    }

    .ca_ca_aceito_de_termos .field.choice label {
        height: auto;
        width: 100% !important;
    }

    .ca_ca_aceito_de_termos .field.choice label span {
        width: 100%;
    }

    .ca_ca_aceito_de_termos .field.choice.mage-error:before {
        display: none;
    }


    .custom-file-wrapper.success .file-label, .custom-file-wrapper.success .file-button, .custom-file-wrapper.success .file-label, .custom-file-wrapper.success .file-icon {
        display: none;
    }

    .custom-file-wrapper.success .file-name {
        display: flex;
        justify-content: flex-start;
        gap: 10px;
        width: 100%;
    }

    .custom-file-wrapper.success .file-name i.material-icons.left {
        color: #00AE11;
    }

    .custom-file-wrapper.success .file-name span.file-remove {
        color: #0050C8;
        margin-left: auto;
    }

    .custom-file-wrapper {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 20px;
    }

    .custom-file-wrapper:not(.success) span.file-label {
        text-align: left;
        max-width: 50%;
    }

    .custom-file-wrapper:not(.success) .file-button {
        height: 40px;
        display: flex;
        align-items: center;
        border-radius: 60px;
        margin-left: auto;
    }

    .custom-file-wrapper:not(.success)  .file-name {
        display: none;
    }

    .custom-file-wrapper:not(.success)  .file-error {
        flex-basis: 100%;
        width: 100%;
    }

    .custom-file-wrapper:not(.success) {
        flex-wrap: wrap;
    }

    .custom-file-wrapper:not(.error) .file-error {
        display:none;
    }
    
    .zfr_step-register.zfr_step_register-doc .fieldset > .field {
    margin-bottom: 20px !important;
}


div#modal-content-14 div {
    overflow-wrap: break-word;
}



.password-rules {
    margin-top: 10px;
    border-radius: 8px;
    padding: 12px 15px;
    font-size: 13px;
    color: #555;
    width: 100%;
}

.password-rules .rule-title {
    font-weight: 600;
    margin-bottom: 6px;
    color: #333;
}

.password-rules ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.password-rules .rule-item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
    transition: color 0.3s, font-weight 0.3s;
}

.password-rules .rule-item::before {
    content: "close";
    font-family: 'Material Icons';
    font-size: 18px;
    color: #c8c8c8;
    transition: color 0.3s;
}

.password-rules .rule-item.valid {
    color: #2ecc71;
    font-weight: 600;
}

.password-rules .rule-item.valid::before {
    content: "check_circle";
    color: #2ecc71;
}


@media(max-width:800px){
    
    .zfr_register_steps-form, h1.catTitle {
    width: 100%;
    padding: 0 10px 10px 10px;
}

h1.catTitle {
    margin-top: 10px;
    padding-bottom: 0;
}

.zfr_register_steps {
    gap: 10px;
}

.zfr_register_step {
    font-size: 12px;
}

.zfr_register_line {
    width: 60px;
}


}

@media(max-width:550px){
    .customer-account-create .field[class*="field-"],.customer-account-create .field[class*="ca_"], .zfr_step_register-address .field {
    width: 100% !important;
}

.zfr_step-button {
    padding: 8px !important;
}

.custom-file-wrapper:not(.success) .file-button {
    flex-basis: 80%;
    justify-content: center;
    margin: auto;
}

.custom-file-wrapper:not(.success) span.file-label {
    max-width: calc(100% - 56px);
}

.custom-file-wrapper {
    row-gap: 5px;
}

/* JF-15: botao "Criar Conta"/"Concluir cadastro" espremido ao lado do link secundario
   quebra o rotulo em duas linhas; empilhado, o primario ganha a largura toda (width:100%
   ja previsto no botao) e o link secundario desce para a linha seguinte. */
.zfr_register_steps-form .actions-toolbar {
    flex-direction: column;
}

.zfr_register_steps-form .actions-toolbar .primary,
.zfr_register_steps-form .actions-toolbar .secondary {
    width: 100%;
}


}

