.form-input {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    width: max-content;
    border-radius: 12px;
    position: relative;
    text-align: left;
    transition: background-color 0.3s;
    position: relative;
    background-color: white;
    padding: 12px;
}

.form-group {
    svg {
        width: 16px;
        height: 16px;
    }
}

.form-icon-left {
    svg {
        position: absolute;
        z-index: 10;
        transform: translateY(-50%);
        left: 10px;
        top: 50%;
    }

    input {
        padding-left: 36px;
    }
}

.form-icon-right {
    svg {
        position: absolute;
        z-index: 10;
        transform: translateY(-50%);
        right: 10px;
        top: 50%;
    }

    input {
        padding-right: 36px;
    }
}

.form-input-xsmall {
    font-size: var(--caption-12-size);
    line-height: var(--caption-16-line-height);
    width: max-content;
    border-radius: 12px;

    svg {
        width: 12px;
        height: 12px;
        right: 8px;
    }
}

.no-icon {
    padding-left: 12px;
    padding-right: 12px;
}

.form-input-medium {
    font-size: var(--caption-14-size);
    line-height: var(--caption-18-line-height);
    width: max-content;
    border-radius: 12px;

    svg {
        width: 16px;
        height: 16px;
        right: 12px;
    }
}

.form-input-primary {
    border: 1px solid var(--greyscale-8);
    color: var(--greyscale-8);
}

.form-input-primary:hover {
    border: 1px solid var(--greyscale-8);
}

.form-input-primary:focus {
    border: 1px solid var(--greyscale-8);
}

.form-input-primary:active {
    border: 1px solid var(--greyscale-7);
}

.form-input-primary:disabled {
    color: var(--greyscale-4);
    background-color: var(--greyscale-3);
}

.form-input-error {
    border: 1px solid var(--red-base);
    color: var(--greyscale-6);
}

.form-input-success {
    border: 1px solid var(--green-base);
    color: var(--greyscale-6);
}

select.form-input {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg viewBox='0 0 24 24' ... %3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px 16px;
}
