:root {
    --arttime-label-size: 14px;
    --arttime-label-weight: 700;
    --arttime-label-inset: 5px;
    --arttime-input-size: 14px;
    --arttime-input-color: #7b8799;
    --arttime-input-entered-color: #000;
    --arttime-label-input-gap: 2px;
    --arttime-field-gap: 10px;
}

/* Important rules in this layer take precedence over page-specific styles. */
@layer arttime-forms {
    [data-arttime-form-label],
    [data-arttime-form-label-text] {
        font-size: var(--arttime-label-size) !important;
        font-weight: var(--arttime-label-weight) !important;
        line-height: 1.5 !important;
        letter-spacing: normal !important;
        text-transform: none !important;
    }

    [data-arttime-form-label]:not([data-arttime-form-wrapped]):not(.d-flex) {
        display: block !important;
    }

    [data-arttime-form-label]:not([data-arttime-form-wrapped]) {
        margin-bottom: var(--arttime-label-input-gap) !important;
        padding-inline-start: var(--arttime-label-inset) !important;
    }

    [data-arttime-form-wrapped] {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        row-gap: var(--arttime-label-input-gap) !important;
        text-indent: var(--arttime-label-inset) !important;
    }

    [data-arttime-form-wrapped] > * {
        text-indent: 0 !important;
    }

    [data-arttime-form-label-text] {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-inline-start: var(--arttime-label-inset) !important;
    }

    [data-arttime-form-group] [data-arttime-form-control] {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"])),
    select,
    textarea,
    .fp-select-pro-control,
    .fp-select-pro-value,
    .fp-select-pro-search,
    .fp-select-pro-option,
    .select2-selection__rendered,
    .select2-search__field,
    .select2-results__option {
        font-size: var(--arttime-input-size) !important;
        color: var(--arttime-input-color) !important;
        -webkit-text-fill-color: var(--arttime-input-color) !important;
    }

    input[data-arttime-input-entered],
    textarea[data-arttime-input-entered] {
        color: var(--arttime-input-entered-color) !important;
        -webkit-text-fill-color: var(--arttime-input-entered-color) !important;
    }

    input::placeholder,
    textarea::placeholder {
        font-size: var(--arttime-input-size) !important;
        color: var(--arttime-input-color) !important;
        -webkit-text-fill-color: var(--arttime-input-color) !important;
    }

    input:focus::placeholder,
    textarea:focus::placeholder {
        color: transparent !important;
        -webkit-text-fill-color: transparent !important;
        opacity: 0 !important;
    }

    [data-arttime-form-layout="grid"],
    [data-arttime-form-layout="flex"],
    [data-arttime-form-layout="bootstrap"] {
        row-gap: var(--arttime-field-gap) !important;
    }

    [data-arttime-form-layout="bootstrap"] {
        --pe-gutter-y: 0px !important;
        --bs-gutter-y: 0px !important;
    }

    [data-arttime-form-layout] > [data-arttime-form-group] {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    [data-arttime-form-layout="bootstrap"] > [data-arttime-form-group] {
        padding-top: 0 !important;
    }

    [data-arttime-form-stack] > [data-arttime-form-group] {
        margin-top: 0 !important;
        margin-bottom: var(--arttime-field-gap) !important;
    }

    [data-arttime-form-stack] > [data-arttime-form-group]:last-child {
        margin-bottom: 0 !important;
    }

    [data-arttime-form-control] + [data-arttime-form-label] {
        margin-top: var(--arttime-field-gap) !important;
    }
}
