* {
    scroll-behavior: smooth;
}

.image-input-placeholder {
    background-position: center;
    background-size: contain !important;
    width: 100%;
    height: 300px;
}

.image-input-wrapper {
    background-position: center;
    background-size: contain !important;

}

.form-control,
.image-input-wrapper,
.form-select {
    border-color: #DBDFE9 !important;
}

.iti {
    width: 100%;
}

.menu-sub-indention .menu-item .menu-item .menu-link.active {
    margin-right: 0;
}

.menu-sub-indention .menu-item .menu-item .menu-link .badge-light-secondary {
    opacity: 0.6;
}

.menu-sub-indention .menu-item .menu-item .menu-link:hover .badge-light-secondary,
.menu-sub-indention .menu-item .menu-item .menu-link.active .badge-light-secondary {
    opacity: 1;
}

.file-loader {
    display: none;
    height: 50%;
    aspect-ratio: 1;
    border: 10px solid #ddd;
    border-top: 10px solid #000;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
}

@keyframes spin {
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.image-input-placeholder {
    background-image: url('../media/svg/files/blank-image.svg');
}

[data-bs-theme="dark"] .image-input-placeholder {
    background-image: url('../media/svg/files/blank-image-dark.svg');
}

.image-input-placeholder.loading .image-input-wrapper {
    background-image: none !important;
}

[data-bs-theme="dark"] .image-input-placeholder.loading .image-input-wrapper {
    background-image: none !important;
}

.image-input-placeholder.loading .file-loader {
    display: block;
}

[data-bs-theme="dark"] .image-input-placeholder.loading .file-loader {
    border: 10px solid #000;
    border-top: 10px solid #ddd;
}

.dropzone .dz-preview .dz-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.image-input[data-disabled="true"] {
    background-color: var(--bs-gray-200);
}

/* Draggable table rows (Shopify Draggable) */
.draggable-handle {
    cursor: grab;
}

.draggable-handle:active {
    cursor: grabbing;
}

tr.draggable-source--is-dragging {
    opacity: .35;
}

.reorder-disabled .draggable-handle {
    pointer-events: none;
    opacity: .35;
    cursor: not-allowed;
}

tr.draggable-mirror {
    display: table;
    table-layout: fixed;
    background-color: var(--bs-body-bg);
    box-shadow: 0 0 20px rgba(0, 0, 0, .15);
    opacity: .9;
    pointer-events: none;
    z-index: 1060;
}

/* Brand logos are stored whitened, so they need a dark plate to stay legible. */
.logo-plate {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 40px;
    padding: 4px 6px;
    border-radius: .475rem;
    background-color: var(--bs-gray-800);
}

.logo-plate img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.brand-logo-input .image-input-wrapper {
    background-color: var(--bs-gray-800);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
