﻿.apple-spinner-wrap {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    position: relative;
}

.apple-spinner-label {
    font-size: .95rem;
    color: var(--text-muted, #6c757d);
}

/* Overlay */
.apple-spinner-wrap--overlay {
    position: relative;
    min-height: 160px;
    width: 100%;
    justify-content: center;
}

    .apple-spinner-wrap--overlay > .apple-spinner-overlay {
        position: absolute;
        inset: 0;
        background: rgba(255, 255, 255, 0.65);
        backdrop-filter: saturate(160%) blur(6px);
        border-radius: .75rem;
    }

    .apple-spinner-wrap--overlay > .apple-spinner,
    .apple-spinner-wrap--overlay > .apple-spinner-label {
        position: relative;
    }

/* Ring estilo Apple */
.apple-spinner {
    width: var(--s, 44px);
    height: var(--s, 44px);
    border-radius: 9999px;
    background: conic-gradient(from 0turn, var(--color) 0 25%, rgba(0,0,0,0) 25% 100%);
    -webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - var(--t, 3px)), #000 calc(100% - var(--t, 3px)));
    mask: radial-gradient(farthest-side, #0000 calc(100% - var(--t, 3px)), #000 calc(100% - var(--t, 3px)));
    animation: apple-spin 0.9s linear infinite;
    filter: drop-shadow(0 2px 6px color-mix(in oklab, var(--color) 35%, transparent)) drop-shadow(0 8px 16px rgba(0,0,0,.06));
}

@keyframes apple-spin {
    to {
        transform: rotate(1turn);
    }
}

@media (prefers-reduced-motion: reduce) {
    .apple-spinner {
        animation-duration: 2.2s;
    }
}
