.bfm-vm-title {
    margin: 0 0 14px;
    padding: 10px 14px;

    border-radius: 4px;

    background:
        var(
            --wp--preset--color--custom-akzent-3
        );

    color:
        var(
            --wp--preset--color--contrast,
            #111111
        );

    font-size: 1.4em;
    line-height: 1.2;
}


.bfm-vm-description {
    max-width: 680px;

    margin: 0 0 22px;

    line-height: 1.5;
}


.bfm-vm-wrapper {
    width: 100%;
    max-width: 680px;

    margin: 24px 0;
}


.bfm-vm-form {
    display: grid;

    gap: 14px;

    padding: 20px;

    border:
        1px solid rgba(0, 0, 0, 0.14);

    border-radius: 10px;

    background: #ffffff;

    box-sizing: border-box;
}


.bfm-vm-email-label {
    display: grid;

    gap: 7px;

    font-weight: 600;
}


.bfm-vm-email-label input {
    width: 100%;
    min-height: 46px;

    padding: 10px 12px;

    border:
        1px solid rgba(0, 0, 0, 0.22);

    border-radius: 8px;

    box-sizing: border-box;

    font: inherit;
}


.bfm-vm-consent {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 58px;

    padding: 14px 16px;

    border:
        1px solid rgba(0, 0, 0, 0.14);

    border-radius: 8px;

    background: #ffffff;

    cursor: pointer;

    box-sizing: border-box;

    line-height: 1.45;

    transition:
        transform 0.15s ease,
        background-color 0.15s ease,
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}


.bfm-vm-consent:has(input:checked) {
    background: rgba(255, 205, 195, 0.5);

    background:
        color-mix(
            in srgb,
            var(
                --wp--preset--color--custom-akzent-4,
                #ffcdc3
            ) 50%,
            transparent
        );
}


.bfm-vm-consent:hover {
    transform: translateY(-2px);

    border-color:
        rgba(0, 0, 0, 0.4);

    box-shadow:
        0 5px 14px rgba(0, 0, 0, 0.09);
}


.bfm-vm-consent input {
    flex: 0 0 auto;

    width: 18px;
    height: 18px;

    margin: 0 12px 0 0;
}


.bfm-vm-submit {
    min-height: 46px;

    padding: 10px 18px;

    border:
        1px solid var(
            --wp--preset--color--custom-akzent-2
        );

    border-radius: 8px;

    background:
        var(
            --wp--preset--color--custom-akzent-2
        );

    color:
        var(
            --wp--preset--color--contrast,
            #111111
        );

    font: inherit;
    font-weight: 700;

    cursor: pointer;

    transition:
        transform 0.15s ease,
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}


.bfm-vm-submit:hover,
.bfm-vm-submit:focus {
    transform: translateY(-2px);

    border-color:
        rgba(0, 0, 0, 0.4);

    box-shadow:
        0 5px 14px rgba(0, 0, 0, 0.09);
}


.bfm-vm-message {
    margin-bottom: 14px;
    padding: 12px 16px;

    border-radius: 8px;
}


.bfm-vm-success {
    border:
        1px solid rgba(40, 130, 70, 0.35);

    background:
        rgba(40, 130, 70, 0.1);
}


.bfm-vm-error {
    border:
        1px solid rgba(201, 53, 53, 0.35);

    background:
        rgba(201, 53, 53, 0.1);
}


.bfm-vm-wrapper .bfm-required {
    color: #c93535;
}


.bfm-vm-honeypot {
    position: absolute !important;

    left: -10000px !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;
}


@media (max-width: 600px) {

    .bfm-vm-form {
        padding: 16px;
    }


    .bfm-vm-consent {
        align-items: flex-start;
    }
}