/* filepond_widget.css */
/* Light Mode */
:root {
    --fp-primary: #3bb594;
    --fp-primary-hover: #318c73;
    --fp-danger: #c74343;
    --fp-danger-hover: #9c3535;
    --fp-border: #c3c3c3;
    --fp-background: #f9f9f9;
    --fp-text: #333;
    --fp-text-size: 16px;
    --fp-text-light: #eee;
    --fp-modal-backdrop: rgba(0, 0, 0, 0.5);
    --fp-modal-bg: #fff;
    --fp-preview-bg: #fff;
    --fp-preview-border: #eee;
    --fp-progress-bg: #e9ecef;
    --fp-progress-fill: #3bb594;
    --fp-chunk-indicator: #3bb594;
}

/* Dark Mode */
[data-theme="dark"],
.rex-theme-dark {
    --fp-primary: #3bb594;
    --fp-primary-hover: #4dcaa8;
    --fp-danger: #c74343;
    --fp-danger-hover: #d65757;
    --fp-border: #404448;
    --fp-background: #2c3136;
    --fp-text: #f2f2f2;
    --fp-text-light: #bbb;
    --fp-modal-backdrop: rgba(0, 0, 0, 0.7);
    --fp-modal-bg: #35393d;
    --fp-preview-bg: #2c3136;
    --fp-preview-border: #404448;
    --fp-progress-bg: #404448;
    --fp-progress-fill: #3bb594;
    --fp-chunk-indicator: #3bb594;
}

/* FilePond Container */
.filepond--root {
    margin-bottom: 1rem;
    font-size:  var(--fp-text-size);
}

/* Panel */
.filepond--panel-root {
    border: 1px solid var(--fp-border);
    background-color: var(--fp-background);
}

/* Drop Label */
.filepond--drop-label {
    color: var(--fp-text);
}

.filepond--drop-label label {
    color: var(--fp-text);
    font-size:  var(--fp-text-size);
}

/* File Info */
.filepond--file-info {
    color: var(--fp-text-light);
    font-size:  var(--fp-text-size);
}

/* File Status */
.filepond--file-status {
    color: var(--fp-text-light);
}

/* Grid Layout */
.filepond--list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem;
}

/* Item Container */
.filepond--item {
    width: calc(33.33% - 0.5rem);
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
}

/* Chunk Upload Status */
.filepond--chunk-status {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    font-size: 12px;
    padding: 2px 5px;
    z-index: 1;
}

/* Chunk Indicator */
.filepond--chunk-indicator {
    position: absolute;
    top: 0;
    left: 0;
    height: 3px;
    background: var(--fp-chunk-indicator);
    z-index: 2;
    transition: width 0.3s ease;
}

/* Modal Styles */
.modal.fade .modal-dialog {
    transform: none;
}

.modal-content {
    background-color: var(--fp-modal-bg);
    color: var(--fp-text);
    border: 1px solid var(--fp-border);
    border-radius: 6px;
}

.modal-header {
    background-color: var(--fp-modal-bg);
    border-bottom: 1px solid var(--fp-border);
    padding: 1rem;
}

.modal-header .modal-title {
    color: var(--fp-text);
    font-size: 1.2rem;
    font-weight: 500;
}

.modal-header .close {
    color: var(--fp-text);
    text-shadow: none;
    opacity: 0.7;
    padding: 1rem;
    margin: -1rem;
}

.modal-header .close:hover {
    opacity: 1;
}

/* Preview Container */
.preview-container {
    background: var(--fp-preview-bg);
    border: 1px solid var(--fp-preview-border);
    border-radius: 4px;
    padding: 1rem;
    text-align: center;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.preview-container img,
.preview-container video {
    max-width: 100%;
    max-height: 300px;
    object-fit: contain;
}

/* File Icon Preview */
.file-icon-preview {
    padding: 2rem;
    text-align: center;
}

.file-icon-preview i {
    font-size: 4rem;
    color: var(--fp-text);
}

/* Metadata Form */
.metadata-form {
    padding: 1rem;
}

.metadata-form .form-group {
    margin-bottom: 1rem;
}

.metadata-form label {
    color: var(--fp-text);
    font-weight: 500;
}

.metadata-form .form-control {
    background-color: var(--fp-background);
    border-color: var(--fp-border);
    color: var(--fp-text);
    border-radius: 4px;
}

.metadata-form .form-control:focus {
    border-color: var(--fp-primary);
    box-shadow: 0 0 0 0.2rem rgba(59, 181, 148, 0.25);
}

.metadata-form .form-text {
    color: var(--fp-text-light);
}

/* File Info */
.file-info {
    text-align: center;
    color: var(--fp-text-light);
    padding: 0.5rem;
    background: var(--fp-background);
    border-radius: 4px;
    margin-top: 0.5rem;
    word-break: break-word;
}

/* Progress Bar */
.filepond--progress-indicator {
    background: var(--fp-primary);
}

/* Delete Button */
.filepond--file-action-button {
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
}

.filepond--file-action-button:hover {
    background-color: rgba(0, 0, 0, 0.75);
}

/* Responsive Design */
@media (max-width: 768px) {
    .filepond--item {
        width: calc(50% - 0.5rem);
    }
    .modal-dialog {
        margin: 0.5rem;
    }
    .preview-container {
        min-height: 150px;
    }
}

@media (max-width: 480px) {
    .filepond--item {
        width: 100%;
    }
    .modal-body .row {
        flex-direction: column;
    }
    .modal-body .col-md-5,
    .modal-body .col-md-7 {
        width: 100%;
    }
}
