/**
 * TurboJet - Estilos para Efeito Item
 * v2.3 - Removida a propriedade 'visibility' para depurar linha invisível.
 * Foco apenas em opacity e transform para animação.
 */

.tj-efeito-item-wrapper {
    opacity: 0; /* Estado inicial padrão: invisível/transparente */
    /* visibility: hidden; /* REMOVIDO - o elemento ocupará espaço mas será transparente */
    
    transition-property: opacity, transform; 
    transition-duration: var(--tj-anim-duration, 0.7s);
    transition-timing-function: var(--tj-anim-timing-function, ease-in-out);
    transition-delay: var(--tj-anim-delay, 0s);
    
    /* Transformações iniciais são definidas por seletores de atributo abaixo */
}

/* Estado ATIVO: quando o elemento deve estar visível e na posição final */
.tj-efeito-item-wrapper.tj-efeito-ativo {
    opacity: 1 !important; /* Força a opacidade para 1 */
    /* visibility: visible !important; /* REMOVIDO */
    transform: none !important; /* Remove qualquer transformação inicial, trazendo para a posição final */
}

/* --- Efeitos de Entrada Específicos (definem o estado ANTES da classe .tj-efeito-ativo) --- */

/* Fade In */
.tj-efeito-item-wrapper[data-tj-efeito-entrada="fade-in"] {
    opacity: 0; /* Já é o padrão do wrapper, mas explícito aqui */
    transform: none; /* Estado inicial sem transformação para fade-in */
}

/* Slide In Left */
.tj-efeito-item-wrapper[data-tj-efeito-entrada="slide-in-left"] {
    opacity: 0;
    transform: translateX(-40px); 
}

/* Slide In Right */
.tj-efeito-item-wrapper[data-tj-efeito-entrada="slide-in-right"] {
    opacity: 0;
    transform: translateX(40px);
}

/* Slide In Up */
.tj-efeito-item-wrapper[data-tj-efeito-entrada="slide-in-up"] {
    opacity: 0;
    transform: translateY(40px);
}

/* Slide In Down */
.tj-efeito-item-wrapper[data-tj-efeito-entrada="slide-in-down"] {
    opacity: 0;
    transform: translateY(-40px);
}

/* Zoom In */
.tj-efeito-item-wrapper[data-tj-efeito-entrada="zoom-in"] {
    opacity: 0;
    transform: scale(0.85);
}

/* Quando .tj-efeito-ativo é removido (para repetir_animacao_scroll="true" ao sair da tela),
   o elemento reverterá para o estado inicial de opacidade 0 e a transformação definida 
   pelo seu seletor [data-tj-efeito-entrada="..."], causando a animação de "saída".
*/
