.wpcf7-form {
    width: 100%;
    & > p > br {
        display: none;
    }

    & > p {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .wpcf7-label-container {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        margin-block-end: 30px;
        flex: 100% 0 1;
        &.file-field {
            display: inline-flex;
        }
    }
    .wpcf7-label-text {
        font-size: 1.125rem;
        font-weight: 600;
    }
    .wpcf7-form-control-wrap {
        input[type="text"], input[type="email"], input[type="tel"], textarea {
            width: calc(100% - 20px);
            border: 1px solid #d9d9d9;
            padding: 10px;
            border-radius: 6px;
            &.wpcf7-not-valid {
                border: 1px solid #ff0000;
            }
        }
    }
    .wpcf7-form-control.wpcf7-submit {
        display: block;
        width: auto;
        border: none;
        background-color: var(--wp--preset--color--accent-1);
        color: var(--wp--preset--color--accent-2);
        padding: 10px 15px;
        border-radius: 6px;
        font-weight: 700;
        cursor: pointer;
        transition: background-color .25s ease-in, color .25s ease-in;
        &:hover {
            background-color: var(--wp--preset--color--contrast);
            color: var(--wp--preset--color--base)
        }
    }
}

@media ( min-width: 1024px) {
    .wpcf7-form {
        .wpcf7-label-container {
            &.half-content {
                flex: 50% 0 1;
            }
            &:first-child,
            &:nth-of-type(3) {
                flex: calc(50% - 30px) 0 1;
                margin-right: 30px;
            }

            &.full-content {
                flex: 100% 0 1;
            }
        }
    }
}