.form {
    display: flex;
}

.input {
    font-size: 90%;
    border: none;
    color: black;
    width: 100%;
    padding: 5px 5px 5px 25px;
    margin: 0 16px;
    background-color: white;
    background-image: url('/assets/search.png');
    background-repeat: no-repeat;
    background-position: 6px 6px;
    background-size: 14px 15px;
    border-radius: 15px;
    box-shadow: none;
    transition: box-shadow 150ms;

    &:focus {
        outline: none;
        box-shadow: 0 0 0 4px var(--yellow500);
    }

    @media only screen and (max-width: 820px) {
        margin: 10px 0;
    }
}

.input-lg {
    composes: input;

    @media only screen and (max-width: 820px) {
        display: none;
    }
}

.input-sm {
    composes: input;
    display: none;

    @media only screen and (max-width: 820px) {
        display: unset;
    }
}

.submit-button {
    position: absolute;
    visibility: hidden;
    width: 0;
    height: 0;
}

.form {
    display: flex;
    padding: 0 16px;

    @media only screen and (max-width: 820px) {
        padding: 10px 0;
    }
}

.input {
    font-size: 90%;
    border: none;
    color: black;
    width: 100%;
    padding: 5px 5px 5px 25px;
    background-color: white;
    background-image: url('/assets/search.png');
    background-repeat: no-repeat;
    background-position: 6px 6px;
    background-size: 14px 15px;
    border-radius: 15px;
    box-shadow: none;
    transition: box-shadow 150ms;

    &:focus {
        outline: none;
        box-shadow: 0 0 0 4px var(--yellow500);
    }
}

.input-lg {
    composes: input;

    @media only screen and (max-width: 820px) {
        display: none;
    }
}

.input-sm {
    composes: input;
    display: none;

    @media only screen and (max-width: 820px) {
        display: unset;
    }
}

.submit-button {
    position: absolute;
    visibility: hidden;
    width: 0;
    height: 0;
}

Convert `margin` to parent `padding`
SearchForm: Convert `margin` to parent `padding`
