/*
 * Shared file-upload presentation.
 * The real file input remains available to the form, while the visible control
 * is unmistakably a button and the selected filename is shown as status text.
 */
.unified-file-upload.input-group {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
    width: 100%;
    align-items: stretch;
}

.unified-file-upload .input-group-append {
    display: block;
    width: 100%;
    margin: 0 !important;
    order: 1;
}

.unified-file-upload .file-upload-browse {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    width: 100%;
    min-height: var(--id-control-md, 44px);
    padding: 0.65rem 1rem;
    border-radius: var(--id-radius-control, 18px) !important;
    font-weight: 600;
    line-height: 1.25;
    white-space: normal;
    cursor: pointer;
}

.unified-file-upload .file-upload-button-icon {
    flex: 0 0 auto;
    font-size: 1rem;
}

/* Filename inputs remain for legacy readers, never as visible form controls. */
.unified-file-upload .file-upload-info,
.unified-file-upload .file-upload-status[hidden] {
    display: none !important;
}

.unified-file-upload .file-upload-status {
    order: 2;
    min-width: 0;
    color: var(--id-patina, #247879);
    font-size: var(--id-type-meta, 12px);
    line-height: var(--id-leading, 1.7);
    text-align: start;
    overflow-wrap: anywhere;
    unicode-bidi: plaintext;
}
input.file-upload-default.unified-file-upload-input,
input.unified-file-upload-source.unified-file-upload-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
}

html[dir="rtl"] .unified-file-upload .file-upload-button-content,
html[dir="rtl"] .unified-file-upload .file-upload-info {
    direction: rtl;
}

html[dir="ltr"] .unified-file-upload .file-upload-button-content,
html[dir="ltr"] .unified-file-upload .file-upload-info {
    direction: ltr;
}

@media (max-width: 575.98px) {
    .unified-file-upload .file-upload-browse {
        min-height: 2.75rem;
        padding-inline: 0.75rem;
    }
}
