// ==========================================================================
// Field Layout
// ==========================================================================

.fui-label-left-input {
    .fui-input-wrapper {
        margin-left: var(--fui-field-gutter);
    }
}

.fui-label-right-input {
    .fui-input-wrapper {
        margin-right: var(--fui-field-gutter);
    }
}


// ==========================================================================
// Field Labels
// ==========================================================================

.fui-label,
.fui-legend {
    font-size: var(--fui-label-font-size);
    line-height: var(--fui-label-line-height);
    font-weight: var(--fui-label-font-weight);
    display: block;
    padding: 0;
    color: var(--fui-label-color, var(--fui-gray-700));

    .fui-label-above-input &,
    .fui-subfield-label-above-input & {
        margin-bottom: var(--fui-label-margin);
    }

    .fui-label-below-input &,
    .fui-subfield-label-below-input & {
        margin-top: var(--fui-label-margin);
    }

    .fui-error & {
        color: var(--fui-label-error-color);
        border-color: var(--fui-label-error-border-color);
    }
}

.fui-required {
    color: var(--fui-required-color, var(--fui-error));
}

.fui-optional {
    color: var(--fui-instructions-color, var(--fui-gray-400));
}

.fui-instructions,
.fui-limit-text,
.fui-file-summary {
    color: var(--fui-instructions-color, var(--fui-gray-400));
    font-size: var(--fui-instructions-font-size);
    line-height: var(--fui-instructions-line-height);
    display: block;

    p, ul {
        margin: 0;
    }
}

.fui-instructions {
    .fui-instructions-above-input & {
        margin-bottom: var(--fui-instructions-margin);
    }

    .fui-instructions-below-input & {
        margin-top: var(--fui-instructions-margin);
    }
}

.fui-limit-text {
    margin-top: var(--fui-instructions-margin);

    .fui-limit-number {
        &.fui-limit-number-error {
            color: var(--fui-required-color, var(--fui-error));
        }
    }
}

.fui-file-summary {
    & > p {
        margin-top: var(--fui-instructions-margin);
        margin-bottom: var(--fui-instructions-margin);
    }

    ul {
        padding-left: 1.75rem;
    }

    li {
        list-style: disc;
    }
}


// ==========================================================================
// Fieldsets
// ==========================================================================

.fui-fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}


// ==========================================================================
// ReCAPTCHA
// ==========================================================================

.formie-recaptcha-placeholder > div > * {
    margin-top: 1rem;
}


// ==========================================================================
// Friendly Captchas
// ==========================================================================

.formie-friendly-captcha-placeholder {
    position: relative;
    padding-bottom: 12px;
}
