.eb-loading-control {
    cursor: progress !important;
    opacity: .68;
}

.eb-loading-status {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    max-width: 100%;
    margin-block: .4rem;
    color: inherit;
    font-size: .875rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.eb-loading-spinner,
.eb-loading-indicator::after {
    display: inline-block;
    flex: 0 0 auto;
    width: 1em;
    height: 1em;
    border: .12em solid currentColor;
    border-inline-end-color: transparent;
    border-radius: 50%;
    animation: eb-loading-spin .8s linear infinite;
}

.eb-loading-indicator {
    position: relative;
    color: transparent !important;
    opacity: 1;
}

.eb-loading-indicator > * {
    visibility: hidden;
}

.eb-loading-indicator::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -.5em 0 0 -.5em;
    color: var(--eb-loading-ink, currentColor);
    visibility: visible;
    pointer-events: none;
}

.eb-loading-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@keyframes eb-loading-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .eb-loading-spinner,
    .eb-loading-indicator::after { animation: none; }
}
