.buildaform-form .buildaform-field { margin-block-end: 1rem; }
.buildaform-field > label { display: block; margin-block-end: .35rem; }
.buildaform-field > input:not([type="hidden"]),
.buildaform-field > textarea,
.buildaform-field > select { box-sizing: border-box; width: 100%; max-width: 100%; padding: .65rem .75rem; font: inherit; border: 1px solid #8c8f94; border-radius: 3px; }
.buildaform-field[hidden] { display: none !important; }
.buildaform-form[hidden] { display: none !important; }
.buildaform-checkbox-label { display: flex !important; align-items: center; gap: .5rem; }
.buildaform-checkbox-label input { margin: 0; }
.buildaform-button-group { margin: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.buildaform-button-group legend { padding: 0; margin-block-end: .35rem; }
.buildaform-form .buildaform-field legend,
.buildaform-editor .buildaform-field legend {
    margin-left: 0;
    margin-inline-start: 0;
}
.buildaform-choice { position: relative; cursor: pointer; }
.buildaform-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.buildaform-choice span { display: inline-block; border: 1px solid #8c8f94; border-radius: 3px; padding: .65rem 1rem; }
.buildaform-choice input:checked + span { background: #1e1e1e; color: #fff; border-color: #1e1e1e; }
.buildaform-choice input:focus-visible + span { outline: 2px solid #2271b1; outline-offset: 3px; }
.buildaform-choice input:disabled + span { cursor: default; }
.buildaform-status:not(:empty) { margin-block-start: 1rem; }

.buildaform-errors { color: #b32d2e; border: 1px solid currentColor; padding: 0.75rem; margin-block-end: 1rem; white-space: pre-line; }
.buildaform-errors[hidden] { display: none !important; }

.buildaform-multichoice { margin: 0; padding: 0; border: 0; min-width: 0; }
.buildaform-multichoice legend { padding: 0; margin-bottom: .35rem; }
.buildaform-multichoice-option { display: flex; align-items: center; gap: .5rem; margin-bottom: .35rem; }
.buildaform-multichoice-option input { margin: 0; flex: none; }

/* Override fixed theme/admin select heights so padding cannot clip the text. */
.buildaform-form .buildaform-field > select,
.buildaform-editor .buildaform-field > select {
    height: auto;
    min-height: calc(1.5em + 1.3rem + 2px);
    line-height: 1.5;
    padding-block: .65rem;
}
