.form {
    margin: auto;
    width: fit-content;
    padding: 20px;
}

.form > form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

div:has(>#titulo) {
    grid-column: span 2;
}

div:has(>#menssagem) {
    grid-column: span 2;
}

form .button_resultado {
    display: flex;
    justify-content: center;
    grid-column: span 2;
    transition: .2s;
}

.button_resultado:hover {
    transform: scale(1.05);
    transition: .2s;
}

@media screen and (max-width: 560px) {
    .form {
        margin: 0;
        padding: 2px;
        width: 100%;
    }

    .form > form {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .form > form > div {
        width: 100%;
    }
}