.buildaform-form .buildaform-field { margin-block-end: 1rem; }
.buildaform-field > label { display: block; margin-block-end: .35rem; }
.buildaform-field[data-buildaform-required] > label::after,
.buildaform-field[data-buildaform-required] > fieldset > legend::after {
    content: " *";
    color: #b32d2e;
    font-weight: 600;
}
.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-feedback .buildaform-status:not(:empty), .buildaform-errors {
    box-sizing: border-box; padding: .85rem 1rem; margin-block: 0 1rem;
    border-width: 1px; border-style: solid; border-inline-start-width: 4px; border-inline-start-color: currentColor; border-radius: 0;
    white-space: pre-line; overflow-wrap: anywhere;
}
.buildaform-errors, .buildaform-status[data-feedback="error"] { color: #842029; background: #f8d7da; border-color: #f1aeb5; }
.buildaform-status[data-feedback="success"] { color: #0f5132; background: #d1e7dd; border-color: #a3cfbb; }
.buildaform-status[data-feedback="warning"] { color: #664d03; background: #fff3cd; border-color: #ffe69c; }
.buildaform-status[data-feedback="info"] { color: #055160; background: #cff4fc; border-color: #9eeaf9; }
.buildaform-errors[hidden], .buildaform-status[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;
}
