.project-upload-form {
    display: block !important;
    min-width: 0;
    padding: 0 !important;
    background: #fff !important;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    overflow-wrap: anywhere;
}
.project-upload-form > .project-upload-heading {
    padding: .75rem 1rem;
    background: #3399cc;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 400;
    text-align: center;
}
.project-upload-form > .card-body { padding: 1rem; }
.project-upload-form > .card-footer { padding: .75rem 1rem; background: #f8f9fa; }
.project-upload-form .form-group { margin-bottom: 1rem; }
.project-upload-form .form-control:not(:disabled):not([readonly]) { background-color: #fff; }
.project-upload-form .form-inline .form-control { width: 100%; }
.project-upload-drop {
    min-width: 0;
    padding: 1.2rem;
    text-align: center;
    border: 2px dashed #adb5bd;
    border-radius: .5rem;
    background: #f8f9fa;
    transition: border-color .15s ease, background-color .15s ease;
}
.project-upload-drop.is-dragging { border-color: #3399cc; background: #e9f6fc; }
.project-upload-drop[data-disabled="true"] { opacity: .6; }
.project-upload-drop input[type="file"] {
    position: static !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    cursor: pointer;
}
.project-upload-form .custom-file, .project-upload-form .uploadBtn {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    background: none !important;
}
.project-upload-preview { display: grid; gap: .75rem; margin-top: .75rem; }
.project-upload-preview-card {
    margin: 0;
    overflow: hidden;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    background: #f8f9fa;
}
.project-upload-preview-card figcaption { padding: .5rem .75rem; font-size: .85rem; overflow-wrap: anywhere; }
.project-upload-preview-card img { display: block; max-width: 100%; max-height: 360px; margin: auto; object-fit: contain; }
.project-upload-preview-card iframe { display: block; width: 100%; height: 360px; border: 0; background: #fff; }
.project-upload-form [hidden] { display: none !important; }
@media (max-width: 575.98px) {
    .project-upload-drop { padding: .8rem; }
    .project-upload-preview-card iframe { height: 280px; }
}
@media (prefers-reduced-motion: reduce) {
    .project-upload-drop { transition: none; }
}
.project-upload-form .imageUploadedOrNot { display: none !important; }

.project-upload-preview-card video { display: block; width: 100%; max-height: 360px; }
.project-upload-preview-card pre { max-height: 300px; margin: 0; padding: 1rem; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
/* Media fills the remaining module height instead of a fixed 360px thumbnail. */
.project-upload-preview { grid-auto-rows: minmax(0, 1fr); min-height: 0; }
.project-upload-preview-card { display: flex; flex-direction: column; min-height: 0; height: 100%; }
.project-upload-preview-card figcaption { flex-shrink: 0; }
.project-upload-preview-card img,
.project-upload-preview-card video { flex: 1; min-height: 0; width: 100%; height: 100%; max-height: none; object-fit: contain; }
.project-upload-preview-card iframe { flex: 1; min-height: 0; height: 100%; }
.project-upload-preview-card pre { flex: 1; min-height: 0; max-height: none; }
