/* Dropzone */
/* (C) */
/* common styles */
.dropzone {
    --bs-dz-icon-bg: #eeedf0;
    --bs-dz-bg: var(--bs-paper-bg);
    --bs-dz-border-color: var(--bs-border-color);
    --bs-dz-hover-border-color: var(--bs-primary-border-subtle);
    --bs-dz-shadow: 0 0.125rem 0.5rem 0 rgba(var(--bs-black-rgb), 0.08);
    --bs-dz-hover-shadow: 0 0.25rem 1rem 0 rgba(var(--bs-black-rgb), 0.12);
    --bs-dz-preview-shadow: 0 0.1875rem 0.75rem 0 rgba(var(--bs-black-rgb), 0.1);
    position: relative;
    min-block-size: 13rem;
    border: 1px dashed var(--bs-dz-border-color);
    border-radius: var(--bs-border-radius-xl);
    background: linear-gradient(180deg, color-mix(in srgb, var(--bs-dz-bg) 96%, #fff 4%) 0%, var(--bs-dz-bg) 100%);
    box-shadow: var(--bs-dz-shadow);
    cursor: pointer;
    inline-size: 100%;
    padding: 1rem 1rem 1.25rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease,
        transform 0.2s ease;
    /* Disabled */
    /* Hover */
    /* Fallback */
    /* Default message */
    /* Preview */
    /* File information */
    /* Progressbar */
    /* Thumbnail */
    /* Remove link */
    /* error/success states */
    /* Error state */
    /* Success state */
}

.dropzone:not(.dz-clickable) {
    cursor: not-allowed;
    opacity: 0.5;
}

.dropzone:hover {
    border-color: var(--bs-dz-hover-border-color);
    box-shadow: var(--bs-dz-hover-shadow);
}

.dropzone.dz-drag-hover {
    border-style: solid;
    border-color: var(--bs-primary);
    background: color-mix(in srgb, var(--bs-primary-bg-subtle) 30%, var(--bs-dz-bg) 70%);
    box-shadow: 0 0.5rem 1.25rem 0 rgba(var(--bs-primary-rgb), 0.18);
    transform: translateY(-1px);
}

.dropzone.dz-drag-hover .dz-message {
    opacity: 0.75;
}

.dropzone .dz-message {
    color: var(--bs-heading-color);
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.5;
    margin-block: 1rem 1rem;
    margin-inline: 0;
    text-align: center;
}

.dropzone .dz-message .note {
    display: block;
    color: var(--bs-body-color);
    font-size: 0.9375rem;
    font-weight: 400;
    margin-block-start: 0.5rem;
}

.dropzone .dz-browser-not-supported.dropzone-box {
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: default !important;
    inline-size: auto !important;
    min-block-size: auto !important;
    transition: none;
}

.dropzone .dz-browser-not-supported .dz-message {
    display: none !important;
}

.dropzone.dz-started .dz-message {
    display: none;
}

.dropzone .dz-preview {
    position: relative;
    box-sizing: content-box;
    border: 0 solid var(--bs-border-color);
    border-radius: var(--bs-border-radius-lg);
    background: var(--bs-paper-bg);
    box-shadow: var(--bs-dz-preview-shadow);
    cursor: default;
    font-size: 0.8125rem;
    margin-block: 0.75rem 0;
    margin-inline: 0.5rem;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

@media (min-width: 576px) {
    .dropzone .dz-preview {
        display: inline-block;
        inline-size: 11rem;
    }
}

.dropzone .dz-preview:hover {
    transform: translateY(-2px);
    box-shadow: 0 0.5rem 1.25rem 0 rgba(var(--bs-black-rgb), 0.14);
}

.dropzone .dz-filename {
    position: absolute;
    overflow: hidden;
    background: var(--bs-paper-bg);
    inline-size: 100%;
    padding-block: 0.625rem 0;
    padding-inline: 0.625rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dropzone .dz-filename:hover {
    text-overflow: inherit;
    white-space: normal;
}

.dropzone .dz-size {
    color: var(--bs-secondary-color);
    font-size: 0.6875rem;
    font-style: italic;
    padding-block: 1.875rem 0.625rem;
    padding-inline: 0.625rem;
}

.dropzone .dz-preview .progress,
.dropzone .dz-preview .progess-bar {
    block-size: 0.375rem;
}

.dropzone .dz-preview .progress {
    position: absolute;
    z-index: 30;
    overflow: hidden;
    background: rgba(var(--bs-black-rgb), 0.08);
    border-radius: var(--bs-border-radius-pill);
    inset-block-start: auto;
    inset-block-end: 0.875rem;
    inset-inline: 0.875rem;
    margin-block-start: 0;
}

.dropzone .dz-complete .progress {
    display: none;
}

.dropzone .dz-thumbnail {
    position: relative;
    box-sizing: content-box;
    padding: 0.875rem;
    background: linear-gradient(180deg, color-mix(in srgb, var(--bs-gray-25) 80%, var(--bs-paper-bg) 20%) 0%, var(--bs-paper-bg) 100%);
    block-size: 7.5rem;
    border-block-end: 1px solid var(--bs-border-color);
    text-align: center;
    border-top-left-radius: calc(var(--bs-border-radius-lg) - 1px);
    border-top-right-radius: calc(var(--bs-border-radius-lg) - 1px);
}

.dropzone .dz-thumbnail>img,
.dropzone .dz-thumbnail .dz-nopreview {
    position: relative;
    display: block;
    inset-block-start: 50%;
    margin-block: 0;
    margin-inline: auto;
    transform: translateY(-50%) scale(1);
}

.dropzone .dz-thumbnail>img {
    max-block-size: 100%;
    max-inline-size: 100%;
    border-radius: calc(var(--bs-border-radius) + 1px);
}

@media (min-width: 576px) {
    .dropzone .dz-thumbnail {
        inline-size: 10rem;
    }
}

.dropzone .dz-nopreview {
    color: var(--bs-secondary-color);
    font-size: 0.6875rem;
    font-weight: 500;
    text-transform: uppercase;
}

.dropzone .dz-thumbnail img[src]~.dz-nopreview {
    display: none;
}

.dropzone .dz-remove {
    display: block;
    border-block-start: 1px solid var(--bs-border-color);
    color: var(--bs-danger);
    font-size: 0.75rem;
    font-weight: 500;
    padding-block: 0.5rem;
    padding-inline: 0;
    text-align: center;
    background: color-mix(in srgb, var(--bs-danger-bg-subtle) 55%, var(--bs-paper-bg) 45%);
    border-bottom-right-radius: calc(var(--bs-border-radius-lg) - 1px);
    border-bottom-left-radius: calc(var(--bs-border-radius-lg) - 1px);
}

.dropzone .dz-remove:hover,
.dropzone .dz-remove:focus {
    background: color-mix(in srgb, var(--bs-danger-bg-subtle) 75%, var(--bs-paper-bg) 25%);
    border-block-start-color: var(--bs-danger-border-subtle);
    color: var(--bs-danger);
    text-decoration: none;
}

.dropzone .dz-error-mark,
.dropzone .dz-success-mark {
    position: absolute;
    display: none;
    border-radius: 50%;
    background-color: rgba(var(--bs-dark-rgb), 0.5);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 1.875rem 1.875rem;
    block-size: 3.75rem;
    box-shadow: 0 0 1.25rem rgba(var(--bs-pure-black), 0.06);
    inline-size: 3.75rem;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    margin-block-start: -1.875rem;
    margin-inline-start: -1.875rem;
}

.dropzone .dz-success-mark {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");
}

.dropzone .dz-error-mark {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");
}

.dropzone .dz-error-message {
    position: absolute;
    z-index: 40;
    display: none;
    overflow: auto;
    padding: 0.75rem;
    background: rgba(var(--bs-danger-rgb), 0.92);
    color: var(--bs-white);
    font-weight: 500;
    inset: -1px;
    text-align: start;
    border-top-left-radius: var(--bs-border-radius-lg);
    border-top-right-radius: var(--bs-border-radius-lg);
}

.dropzone .dz-error .dz-error-message {
    display: none;
}

.dropzone .dz-error .dz-error-mark {
    display: block;
}

.dropzone .dz-error:hover .dz-error-message {
    display: block;
}

.dropzone .dz-error:hover .dz-error-mark {
    display: none;
}

.dropzone .dz-success .dz-success-mark {
    display: block;
}

/* ecommerce */
.app-ecommerce .dz-message {
    margin-block-start: 5rem;
}

.app-ecommerce .dz-message::before {
    inset-block-start: 3rem;
}

[data-bs-theme=dark] .dropzone {
    --bs-dz-icon-bg: #373b50;
    --bs-dz-bg: color-mix(in srgb, var(--bs-paper-bg) 86%, var(--bs-body-bg) 14%);
    --bs-dz-border-color: rgba(255, 255, 255, 0.14);
    --bs-dz-hover-border-color: var(--bs-primary-border-subtle);
    --bs-dz-shadow: 0 0.125rem 0.625rem 0 rgba(var(--bs-pure-black), 0.22);
    --bs-dz-hover-shadow: 0 0.5rem 1.5rem 0 rgba(var(--bs-pure-black), 0.28);
    --bs-dz-preview-shadow: 0 0.25rem 1rem 0 rgba(var(--bs-pure-black), 0.2);
}

[data-bs-theme=dark] .dropzone .dz-thumbnail {
    background: linear-gradient(180deg, color-mix(in srgb, var(--bs-dz-icon-bg) 80%, var(--bs-paper-bg) 20%) 0%, var(--bs-paper-bg) 100%);
}

[data-bs-theme=dark] .dropzone .dz-preview .progress {
    background: rgba(255, 255, 255, 0.1);
}

[data-bs-theme=dark] .dropzone .dz-remove {
    background: color-mix(in srgb, var(--bs-danger-bg-subtle) 45%, var(--bs-paper-bg) 55%);
}
