.mb-contact-form {
    max-width: 42rem;
}

.mb-contact-form__field {
    margin-block: 0 1.25rem;
}

.mb-contact-form label {
    display: block;
    font-weight: 600;
    margin-block-end: 0.35rem;
}

.mb-contact-form input[type="text"],
.mb-contact-form input[type="email"],
.mb-contact-form textarea {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 0.7rem 0.8rem;
    border: 1px solid currentColor;
    border-radius: 0;
    background: Canvas;
    color: CanvasText;
    font: inherit;
}

.mb-contact-form textarea {
    resize: vertical;
}

.mb-contact-form__field--checkbox label {
    display: flex;
    gap: 0.55rem;
    align-items: flex-start;
    font-weight: 400;
}

.mb-contact-form__field--checkbox input {
    margin-block-start: 0.25em;
}

.mb-contact-form__field--trap {
    position: absolute;
    left: -100vw;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.mb-contact-form button {
    padding: 0.7rem 1rem;
    border: 1px solid currentColor;
    border-radius: 0;
    background: CanvasText;
    color: Canvas;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.mb-contact-form button:hover,
.mb-contact-form button:focus-visible {
    text-decoration: underline;
}

.mb-contact-message {
    max-width: 42rem;
    padding: 0.8rem 1rem;
    border: 1px solid currentColor;
}

.mb-contact-message--success {
    background: color-mix(in srgb, CanvasText 8%, Canvas);
}

.mb-contact-message--error {
    background: color-mix(in srgb, CanvasText 12%, Canvas);
}