/*
 * Preloader global do projeto
 * Fundo preto + pulso branco centralizado em qualquer tamanho de tela.
 */
.preloader {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    display: flex;
    width: 100vw !important;
    min-width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #000000 !important;
    opacity: 1;
    visibility: visible;
}

@supports (height: 100dvh) {
    .preloader {
        height: 100dvh !important;
        min-height: 100dvh !important;
    }
}

.preloader .spinner {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: block !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transform-origin: 50% 50% !important;
    animation: project-white-pulse 1s ease-in-out infinite !important;
}

/* Os temas antigos usavam dois círculos internos. O pulso agora é único. */
.preloader .spinner > *,
.preloader .spinner::before,
.preloader .spinner::after {
    display: none !important;
    content: none !important;
}

@keyframes project-white-pulse {
    0% {
        transform: scale(0.18);
        opacity: 1;
    }
    70%,
    100% {
        transform: scale(1);
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .preloader .spinner {
        animation-duration: 1.6s !important;
    }
}
