.wpcf7 .wpcf7-form-items {
    display: flex;
    flex-direction: column;
    gap: 0.6875em;
    margin-top: var(--wp--style--block-gap);
}

.wpcf7 .wpcf7-form-item {
    margin-top: 1em;
}

.wpcf7 .wpcf7-form-items .wpcf7-form-item {
    margin-top: 0;
}

.wpcf7 .wpcf7-form-label {
    font-size: var(--theme--font-size--small);
    font-weight: 700;
    display: block;
}

.wpcf7 .wpcf7-form-label .required {
    color: var(--theme--color--error);
    font-weight: 700;
}

.wpcf7 .wpcf7-form-instruction,
.wpcf7 .wpcf7-form-item-instruction {
    display: block;
    color: rgba(0,0,0, 0.66);
    font-size: var(--theme--font-size--small);
    margin: 4px 0;
}

.wpcf7 .wpcf7-form-control-wrap {
    display: block;
}

.wpcf7 .wp-block-columns {
    margin-bottom: 0;
}

.wpcf7 .wpcf7-spinner {
    position: absolute;
    top: 50%;
    left: 5%;
    z-index: 1;
    transform: translate(0, -50%);
    pointer-events: none;
    margin: 0;
}

.wpcf7 .wpcf7-checkbox,
.wpcf7 .wpcf7-radio,
.wpcf7 .wpcf7-acceptance {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6875em 1.375em;
}

.wpcf7 .wpcf7-list-item {
    width: 100%;
    margin: 0;
}

.wpcf7 .wpcf7-form-control:not(.wpcf7-acceptance) .wpcf7-list-item input {
    position: absolute !important;
     clip: rect(1px, 1px, 1px, 1px);
     overflow: hidden;
     height: 1px;
     width: 1px;
}

.wpcf7 .wpcf7-list-item .wpcf7-list-item-label {
    position: relative;
    display: flex;
    font-weight: 400;
    cursor: pointer;
    align-items: baseline;
}
    .wpcf7 .wpcf7-list-item .wpcf7-list-item-label::before,
    .wpcf7 .wpcf7-list-item .wpcf7-list-item-label::after {
        content: none;
    }

.wpcf7 .wpcf7-list-item .wpcf7-list-item-label::before {
    font-family: var(--theme--font-family--font-awesome);
    font-weight: 400;
    font-size: 1.5rem;
    margin-right: 0.6875em;
    transform: translate(0, 10%);
}
    .wpcf7 .wpcf7-list-item label:hover .wpcf7-list-item-label::before {
        color: var(--theme--color--primary);
    }
    .wpcf7 .wpcf7-checkbox .wpcf7-list-item-label::before,
    .wpcf7 .wpcf7-acceptance .wpcf7-list-item-label::before {
        content: '\f0c8';
    }
        .wpcf7 .wpcf7-checkbox input:checked + .wpcf7-list-item-label::before,
        .wpcf7 .wpcf7-acceptance input:checked + .wpcf7-list-item-label::before {
            content: '\f14a';
            font-weight: 900;
        }
    .wpcf7 .wpcf7-radio .wpcf7-list-item-label::before {
        content: '\f111';
    }
        .wpcf7 .wpcf7-radio input:checked + .wpcf7-list-item-label::before {
            content: '\f192';
            font-weight: 900;
        }

    .wpcf7 .wpcf7-not-valid .wpcf7-list-item label .wpcf7-list-item-label::before {
        color: var(--theme--color--error);
    }

.wpcf7 .wpcf7-not-valid-tip {
    display: block;
    color: var(--theme--color--error);
    font-size: var(--theme--font-size--small);
    margin-top: 4px;
    font-weight: 700;
}

.wpcf7 form .wpcf7-response-output {
    font-size: var(--font-size);
    text-align: center;
    padding: 0.6875em 1.375em;
    border: 0;
    color: rgba(255,255,255, 1);
    background: var(--theme--color--primary);
    font-weight: 700;
    border-radius: 8px;
    margin: 1.375em 0 0;
}
    .wpcf7 form.failed .wpcf7-response-output,
    .wpcf7 form.aborted .wpcf7-response-output,
    .wpcf7 form.spam .wpcf7-response-output,
    .wpcf7 form.invalid .wpcf7-response-output,
    .wpcf7 form.unaccepted .wpcf7-response-output,
    .wpcf7 form.payment-required .wpcf7-response-output {
        background: var(--theme--color--error);
    }
    .wpcf7 form.sent .wpcf7-response-output {
        background: var(--theme--color--success);
    }

.wpcf7 .wpcf7-not-valid {
    border-color: var(--theme--color--error);
}

.wpcf7 .wp-block-button {
    position: relative;
}

@media (min-width: 768px) {
    .wpcf7 .wpcf7-form-items {
        flex-direction: row;
        gap: var(--theme--gap--normal);
    }

    .wpcf7 .wpcf7-form-item--25 {
        width: 25%;
    }

    .wpcf7 .wpcf7-form-item--33 {
        width: 33.333%
    }

    .wpcf7 .wpcf7-form-item--50 {
        width: 50%
    }

    .wpcf7 .wpcf7-form-item--60 {
        width: 66.666%
    }

    .wpcf7 .wpcf7-form-item--75 {
        width: 75%;
    }

    .wpcf7 .wpcf7-list-item .wpcf7-list-item-label::before {
        margin-right: 0.34375em;
        font-size: 1.5rem;
    }

    .wpcf7 .wpcf7-checkbox .wpcf7-list-item:not(.first.last),
    .wpcf7 .wpcf7-radio .wpcf7-list-item:not(.first.last) {
        width: auto;
        margin: 0;
    }
}
