@layer components {

    .dropzone-container {
        border: 2px dashed #bbb;
        align-items: center;
        min-height: 100px;
        padding: 20px 10px;
        display: flex;
        position: relative;
    }

    .dropzone-input {
        opacity: 0;
        cursor: pointer;
        z-index: 1;
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
    }

    .dropzone-preview {
        align-items: center;
        max-width: 100%;
        display: flex;

        .loader {
            position: absolute;
            cursor: default;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: rgba(0, 0, 0, 0.05);
            top: 0;
            right: 0;
            left: 0;
            bottom: 0;
        }
        .spinner {
            width: 20px;
            height: 20px;
            border: 3px solid transparent;
            border-radius: 50%;
            border-top-color: var(--color-theme);
            border-right-color: var(--color-theme);
            animation: spin 0.8s linear infinite;
        }
        @keyframes spin {
            0% {
                transform: rotate(0deg);
            }

            100% {
                transform: rotate(360deg);
            }
        }
    }

    .dropzone-preview-image {
        background-position: 50%;
        background-repeat: no-repeat;
        background-size: contain;
        flex-basis: 0;
        min-width: 50px;
        max-width: 50px;
        height: 50px;
        margin-right: 10px;
    }

    .dropzone-preview-filename {
        word-wrap: anywhere;
    }

    .dropzone-preview-button {
        z-index: 1;
        width: auto;
        color: inherit;
        font: inherit;
        -webkit-font-smoothing: inherit;
        -moz-osx-font-smoothing: inherit;
        -webkit-appearance: none;
        background: 0 0;
        border: none;
        margin: 0;
        padding: 0;
        line-height: normal;
        position: absolute;
        top: 0;
        right: 0;
        overflow: visible;
    }

    .dropzone-preview-button:before {
        content: "×";
        cursor: pointer;
        padding: 3px 7px;
    }

    .dropzone-placeholder {
        text-align: center;
        color: #999;
        flex-grow: 1;
    }


}