.cf7-container-half-fields-2 form,
.cf7-container-half-fields-4 form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1em;
}

.cf7-container-default form label {
    width: 100%;
}

.cf7-container-half-fields-2 form label:nth-of-type(1),
.cf7-container-half-fields-4 form label:nth-of-type(1),
.cf7-container-half-fields-2 form label:nth-of-type(2),
.cf7-container-half-fields-4 form label:nth-of-type(2),
.cf7-container-half-fields-4 form label:nth-of-type(3),
.cf7-container-half-fields-4 form label:nth-of-type(4) {
    grid-column: span 1;
}

.cf7-container-half-fields-2 form label:nth-of-type(n+3) {
    grid-column: span 2;
}

.cf7-container-half-fields-4 form label:nth-of-type(n+5) {
    grid-column: span 2;
}

.cf7-container-half-fields-2 form .wpcf7-response-output,
.cf7-container-half-fields-4 form .wpcf7-response-output {
    grid-column: span 1;
}

.cf7-container-line form {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    justify-content: center;
    align-items: center;
}

.cf7-container-line form label {
    flex: 1;
}

.cf7-container-line.cf7-container-button-off form .wpcf7-submit {
    width: 100%;
}

@media (max-width: 1024px) {
    .cf7-container-line form label {
        flex: 100%;
    }
}

@media (max-width: 820px) {

    .cf7-container-half-fields-2 form,
    .cf7-container-half-fields-4 form {
        display: flex;
        flex-direction: column;
    }

    .cf7-container-line form label {
        flex: 100%;
    }
}

@media (max-width: 620px) {
.wpcf7 input[type=submit]{
        width: 100%;
    }
}
