/* Talkee Animations */
.talkee-anim-item {
    transition: transform 1.5s ease;
    will-change: transform;
    --talkee-rotate: 0deg; /* Default rotation */
}

.talkee-anim-item.talkee-anim-fade {
    opacity: 0;
    transition: opacity 1.5s ease, transform 1.5s ease;
    will-change: opacity, transform;
}

/* Ensure visible in editor */
.block-editor-block-list__block .talkee-anim-item {
    opacity: 1 !important;
    transform: none !important;
}

.talkee-anim-slide-up {
    transform: translateY(50%) rotate(var(--talkee-rotate));
}

.talkee-anim-slide-down {
    transform: translateY(-50%) rotate(var(--talkee-rotate));
}

.talkee-anim-slide-left {
    transform: translateX(-50%) rotate(var(--talkee-rotate));
}

.talkee-anim-slide-right {
    transform: translateX(50%) rotate(var(--talkee-rotate));
}

.talkee-anim-zoom-in {
    transform: scale(0.3) rotate(var(--talkee-rotate));
}

/* Default Rotation Only (no slide/zoom) */
.talkee-anim-item.talkee-anim-rotate:not(.talkee-anim-slide-up):not(.talkee-anim-slide-down):not(.talkee-anim-slide-left):not(.talkee-anim-slide-right):not(.talkee-anim-zoom-in) {
    transform: rotate(var(--talkee-rotate));
}

.talkee-anim-item.is-visible {
    transform: translate(0, 0) rotate(0deg);
}

.talkee-anim-item.talkee-anim-zoom-in.is-visible {
    transform: scale(1) rotate(0deg);
}

.talkee-anim-item.is-visible.talkee-anim-fade {
    opacity: 1;
}

/* Scroll Sync - Disable transition to allow JS control */
.talkee-anim-item.talkee-anim-scroll-sync {
    transition: none !important;
    opacity: 1; /* Default visibility handled by JS or simple opacity if fade is off */
}

/* Reset CSS transforms for Scroll Sync to avoid jumps (JS handles positioning) */
.talkee-anim-item.talkee-anim-scroll-sync.talkee-anim-slide-up,
.talkee-anim-item.talkee-anim-scroll-sync.talkee-anim-slide-down,
.talkee-anim-item.talkee-anim-scroll-sync.talkee-anim-slide-left,
.talkee-anim-item.talkee-anim-scroll-sync.talkee-anim-slide-right,
.talkee-anim-item.talkee-anim-scroll-sync.talkee-anim-zoom-in {
    transform: none;
}

.talkee-anim-item.talkee-anim-scroll-sync.talkee-anim-fade {
    opacity: 0;
}

/* Editor fixes for scroll sync */
.block-editor-block-list__block .talkee-anim-item.talkee-anim-scroll-sync {
    transform: none !important;
    opacity: 1 !important;
}
