.wbdforms-form { font-family: var(--wbd-font-family, inherit); display: grid; gap: var(--wbd-field-gap, 16px); }
.wbdforms-step, .wbdforms-field fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.wbdforms-step { display: grid; gap: var(--wbd-field-gap, 16px); }
.wbdforms-field[hidden] { display: none !important; }
.wbdforms-field label, .wbdforms-field legend { display: block; color: var(--wbd-label-color, inherit); font-size: var(--wbd-label-size, 1em); }
.wbdforms-field :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
    width: 100%; box-sizing: border-box; padding: .65em .75em; font: inherit;
    color: var(--wbd-field-color, inherit); background: var(--wbd-field-background, white);
    border: 1px solid var(--wbd-field-border, #888); border-radius: var(--wbd-field-radius, 4px);
}
.wbdforms-submit {
    justify-self: start; padding: .65em 1.25em; font: inherit;
    color: var(--wbd-button-color, white); background: var(--wbd-button-background, #244874);
    border: 0; border-radius: var(--wbd-button-radius, 4px);
}
.wbdforms-feedback { margin: 0; white-space: pre-line; }
.wbdforms-feedback:empty { display: none; }

.wbdforms-form,
.wbdforms-step {
    grid-template-columns: repeat(var(--wbd-form-columns, 1), minmax(0, 1fr));
}
.wbdforms-step,
.wbdforms-field[data-full-width],
.wbdforms-field[data-type="textarea"],
.wbdforms-feedback,
.wbdforms-submit,
.wbdforms-form noscript {
    grid-column: 1 / -1;
}
.wbdforms-field {
    min-width: 0;
}
.wbdforms-field :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
    padding: var(--wbd-field-padding-y, .65em) var(--wbd-field-padding-x, .75em);
    border-width: var(--wbd-field-border-width, 1px);
}
.wbdforms-field :is(input,select,textarea):focus-visible,
.wbdforms-submit:focus-visible {
    outline: 2px solid var(--wbd-field-focus, #244874);
    outline-offset: 2px;
}
.wbdforms-field input:is([type=checkbox],[type=radio]) {
    accent-color: var(--wbd-choice-color, auto);
}
.wbdforms-choices {
    display: var(--wbd-choice-layout, grid);
    flex-wrap: wrap;
    gap: .25em 1em;
}
.wbdforms-submit {
    justify-self: var(--wbd-button-align, start);
}
@media (max-width: 767px) {
    .wbdforms-form,
    .wbdforms-step {
        grid-template-columns: minmax(0, 1fr);
    }
}

.wbdforms-field > label,
.wbdforms-field legend {
    font-weight: var(--wbd-label-weight, inherit);
    margin-bottom: var(--wbd-label-gap, 0);
}
.wbdforms-submit {
    padding: var(--wbd-button-padding-y, .65em) var(--wbd-button-padding-x, 1.25em);
    border: var(--wbd-button-border-width, 0) solid var(--wbd-button-border-color, currentColor);
}
.wbdforms-submit:not(:disabled):is(:hover, :focus-visible) {
    color: var(--wbd-button-hover-color, var(--wbd-button-color, white));
    background: var(--wbd-button-hover-background, var(--wbd-button-background, #244874));
}

.wbdforms-field .wbdforms-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
.wbdforms-field[data-size="small"] { width: min(100%, 18rem); }
.wbdforms-field[data-size="medium"] { width: min(100%, 28rem); }
.wbdforms-field[data-choice-style="modern"] select { border-radius: max(var(--wbd-field-radius, 4px), 8px); }
.wbdforms-description { margin: .35em 0 0; font-size: .9em; white-space: pre-line; }

.wbdforms-field[data-type="rating"] .wbdforms-choices,
.wbdforms-field[data-type="nps"] .wbdforms-choices {
    display: flex;
    flex-wrap: wrap;
}
.wbdforms-section-rule { margin: .75em 0; border: 0; border-top: 1px solid currentColor; opacity: .3; }
.wbdforms-field [data-wbdforms-review] { display: grid; gap: .25rem 1rem; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.wbdforms-field [data-wbdforms-review] dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }

.wbdforms-field [data-wbd-signature] { display:block; width:min(100%,40rem); height:auto; touch-action:none; background:#fff; border:1px solid #778; border-radius:4px; }
.wbdforms-field [data-wbd-map-frame] iframe { width:100%; height:260px; border:0; }
.wbdforms-field :is([data-wbd-map],[data-wbd-location],[data-wbd-clear-signature]) { margin:.45rem .35rem .15rem 0; }
