/* PixieDocs — Overlay de chargement IA (compatible thèmes) */

#ia-loading-overlay {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 1.5rem;
    background: color-mix(in srgb, var(--color-text) 42%, transparent);
    backdrop-filter: blur(6px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.22s ease, visibility 0.22s ease;
}

#ia-loading-overlay.is-visible {
    opacity: 1;
    visibility: visible;
}

#ia-loading-overlay .ia-loading-card {
    width: min(100%, 22rem);
    display: grid;
    gap: 0.875rem;
    padding: 1.75rem 1.5rem 1.5rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-card);
    background: var(--color-surface);
    box-shadow: 0 28px 80px color-mix(in srgb, var(--color-text) 22%, transparent);
    text-align: center;
    transform: translateY(12px) scale(0.98);
    transition: transform 0.24s ease;
}

#ia-loading-overlay.is-visible .ia-loading-card {
    transform: translateY(0) scale(1);
}

.ia-loading-card__spinner {
    width: 2.75rem;
    height: 2.75rem;
    margin: 0 auto;
    border: 3px solid color-mix(in srgb, var(--color-primary) 18%, transparent);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: ia-loading-spin 0.85s linear infinite;
}

.ia-loading-card h2 {
    margin: 0;
    font-size: 1.15rem;
    letter-spacing: -0.02em;
}

.ia-loading-card p {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.ia-loading-card small {
    color: var(--color-muted);
    font-size: 0.78rem;
}

.ia-loading-card__icon {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0 auto;
    font-size: 2.25rem;
    color: var(--color-error, #c0392b);
}

#ia-loading-overlay[data-mode="success"] .ia-loading-card__icon {
    color: var(--color-success-text, #1a7f4b);
}

.ia-loading-card__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
    padding-top: 0.25rem;
}

.ia-loading-card__actions [hidden] {
    display: none !important;
}

.ia-loading-card__actions .primary-button,
.ia-loading-card__actions .secondary-button {
    min-width: 8rem;
    width: 100%;
    justify-content: center;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.65rem 1rem;
    border: 0;
    border-radius: var(--radius-button);
    font-weight: 600;
    cursor: pointer;
    box-sizing: border-box;
}

.ia-loading-card__actions .primary-button {
    background: var(--color-primary);
    color: var(--color-on-primary);
    box-shadow: 0 12px 28px var(--color-shadow-primary);
}

.ia-loading-card__actions .secondary-button {
    background: var(--color-surface-elevated);
    color: var(--color-text);
    box-shadow: none;
}

body.ia-loading-active {
    overflow: hidden;
}

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

@media (prefers-reduced-motion: reduce) {
    #ia-loading-overlay,
    #ia-loading-overlay .ia-loading-card {
        transition: none;
    }

    .ia-loading-card__spinner {
        animation-duration: 1.4s;
    }
}
