.password-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.password-wrapper input {
    width: 100%;
    padding-right: 2.5rem !important;
    box-sizing: border-box;
}

.password-wrapper .toggle-icon {
    position: absolute;
    right: 0.75rem;
    transform: translateY(-50%);
    margin-left: 0;
    font-size: 0.9rem;
    color: var(--grey-color);
    z-index: 2;
}

.toggle-icon:hover {
    color: var(--secondary-color);
}

.field-error {
    display: none;
    margin-top: 0.1rem;
    color: var(--secondary-color);
    font-size: 0.85rem;
    line-height: 1.2;
}

.field-error.is-visible {
    display: block;
}

.input-error {
    border-color: transparent !important;
    border-bottom: 2px solid var(--secondary-color) !important;
}

select.form-control.input-lg.ui-autocomplete-input,
select.form-control.input-lg.ui-autocomplete-input:focus,
select.form-control.input-lg.ui-autocomplete-input:active {
    color: var(--primary-color) !important;
}

.mobile-icon-field {
    position: relative;
}

.mobile-left-icon {
    display: none;
}

@media (max-width: 767.98px) {
    #grpDatosTelefono .grp-in-2 > span:first-child,
    #grpPasswordLogin .grp-in-2 > span:first-child {
        display: none;
    }

    .mobile-icon-field {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .mobile-left-icon {
        display: inline-flex;
        width: 18px;
        min-width: 18px;
        justify-content: center;
        color: var(--grey-color);
        font-size: 0.95rem;
    }

    #grpDatosTelefono .mobile-icon-field .form-control,
    #grpPasswordLogin .mobile-icon-field .form-control {
        width: 100%;
    }

    #grpPasswordLogin .mobile-icon-field .password-field {
        padding-right: 2.5rem !important;
    }

    #grpPasswordLogin .mobile-icon-field .password-wrapper {
        margin-bottom: 0;
    }

    #grpDatosTelefono select.select-placeholder-tone,
    #grpDatosTelefono select.select-placeholder-tone:focus,
    #grpDatosTelefono select.select-placeholder-tone:active {
        color: var(--grey-color) !important;
    }

    #grpDatosTelefono input.form-control::placeholder,
    #grpPasswordLogin input.form-control::placeholder {
        color: var(--grey-color) !important;
        opacity: 1;
    }

    #grpDatosTelefono .field-error,
    #grpPasswordLogin .field-error {
        margin: 0;
        padding-left: 26px;
    }

    #grpPasswordLogin .mobile-icon-field .password-wrapper {
        flex: 1;
    }

    .contact-section2 {
        margin-top: 0px !important;
        padding: 0px !important;
    }

    .contact-inner-right {
        margin-top: 0px;
    }
    
    .contact-inner-right .input-lg {
        margin-bottom: 5px;
    }

    .row > * {
        padding-left: 0px;
        padding-right: 0px;
    }

    .btn-default {
        font-size: 14px;
        padding: 6px 15px;
    }
    .btn-default-secondary {
        font-size: 14px;
        padding: 4px 15px;
    }
}