.bfc-contact-form {
    width: 100%;
}

.bfc-contact-form__form {
    display: grid;
    gap: 1.25rem;
}

.bfc-contact-form__field {
    display: grid;
    gap: 0.4rem;
}

.bfc-contact-form__field label {
    font-weight: 700;
}

.bfc-contact-form__field :is(input, select, textarea) {
    width: 100%;
    box-sizing: border-box;
}

.bfc-contact-form__field--checkbox {
    grid-template-columns: auto 1fr;
    align-items: start;
}

.bfc-contact-form__field--checkbox input {
    width: auto;
    margin-top: 0.35em;
}

.bfc-contact-form__optional,
.bfc-contact-form__required {
    font-size: 0.875em;
    font-weight: 400;
}

.bfc-contact-form__honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.bfc-contact-form__notice {
    margin-bottom: 1.5rem;
    padding: 1rem;
    border: 2px solid currentColor;
}

.bfc-contact-form__notice--success {
    color: #173326;
    background: #a8c686;
}

.bfc-contact-form__notice--error {
    color: #6d201b;
    background: #f9e1df;
}

