/* ═══════════════════════════════════════════════════════════════════════════ */
/*                 SUPREMACY HUB — SCROLL & TEXT ANIMATIONS                    */
/*          (Scroll Float, Blur Text, Reveal Titles, Stagger Groups)           */
/* ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. TITLES & HEADINGS REVEAL (Safe for all Text Gradients) ───────────── */
.reveal-title,
[data-split-text],
.split-text-root {
    opacity: 0;
    transform: translateY(24px);
    filter: blur(8px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.8s cubic-bezier(0.16, 1, 0.3, 1),
                filter 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform, filter;
}

.reveal-title.is-revealed,
[data-split-text].is-revealed,
.split-text-root.is-revealed {
    opacity: 1 !important;
    transform: translateY(0) !important;
    filter: blur(0px) !important;
}

/* ── 2. BLUR TEXT (Descriptions, Subtexts, Paragraphs) ───────────────────── */
.blur-text,
[data-blur-text] {
    opacity: 0;
    filter: blur(10px);
    transform: translateY(16px);
    transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
                filter 0.85s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, filter, transform;
}

.blur-text.is-revealed,
[data-blur-text].is-revealed {
    opacity: 1 !important;
    filter: blur(0px) !important;
    transform: translateY(0) !important;
}

/* ── 3. SCROLL FLOAT (Cards, Badges, Containers) ─────────────────────────── */
.scroll-float,
[data-scroll-float] {
    opacity: 0;
    transform: translateY(32px) scale(0.985);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.scroll-float.is-revealed,
[data-scroll-float].is-revealed {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
}

/* ── 4. STAGGER CASCADE LISTS & GRIDS ────────────────────────────────────── */
[data-stagger-group] > * {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: calc(var(--stagger-idx, 0) * 0.08s);
    will-change: opacity, transform;
}

[data-stagger-group].is-revealed > *,
.is-revealed [data-stagger-group] > *,
[data-stagger-group] > *.is-revealed {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* ── 5. TYPEWRITER CURSOR ────────────────────────────────────────────────── */
.typewriter-cursor {
    display: inline-block;
    margin-left: 2px;
    color: var(--cor-primaria, #5865f2);
    font-weight: 300;
    animation: typeBlink 0.9s infinite;
}

@keyframes typeBlink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

/* ── 6. ACCESSIBILITY (prefers-reduced-motion) ────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .reveal-title,
    [data-split-text],
    .split-text-root,
    .blur-text,
    [data-blur-text],
    .scroll-float,
    [data-scroll-float],
    [data-stagger-group] > * {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }
}
