.ui-loading-gif-host {
    position: relative;
}

.ui-loading-gif {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    opacity: 0;
    transition: opacity 180ms ease;
    z-index: 1;
}

.ui-loading-gif.is-visible {
    opacity: 1;
}

.ui-loading-gif--inline {
    position: static;
    inset: auto;
    min-height: clamp(72px, 10vh, 120px);
}

.ui-loading-gif__image {
    width: clamp(52px, 9vw, 100px);
    height: auto;
    display: block;
    border-radius: var(--radius-lg);
    object-fit: contain;
}

@media (prefers-reduced-motion: reduce) {
    .ui-loading-gif {
        transition: none;
    }
}
