/* ===================================
   ED ANIMATION TEXTE - CSS
   =================================== */

.ed-anim-texte {
    position: relative;
    margin: 50px 0;
    width: 100%;
}

/* Conteneur du texte */
.ed-anim-text-wrapper {
    line-height: 1.4;
}

/* Texte par défaut - paragraphe */
.ed-anim-text-wrapper.text-type-p {
    font-size: 18px;
    font-weight: 400;
}

/* Styles des titres */
.ed-anim-text-wrapper.text-type-h1 {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
}

.ed-anim-text-wrapper.text-type-h2 {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
}

.ed-anim-text-wrapper.text-type-h3 {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.3;
}

/* Wrapper pour chaque mot */
.ed-word {
    display: inline-block;
    position: relative;
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity;
}

/* État non-révélé (par défaut 30% d'opacité) */
.ed-word.unrevealed {
    opacity: 0.3;
}

/* État révélé */
.ed-word.revealed {
    opacity: 1;
}

/* Espacements entre les mots */
.ed-word:not(:last-child)::after {
    content: ' ';
    display: inline;
}

/* Support des retours à la ligne */
.ed-line-break {
    display: block;
    height: 0;
}

/* Espacement des retours à la ligne (br) */
.ed-anim-text-wrapper br {
    display: block;
    margin-bottom: 10px;
}

/* ===================================
   RESPONSIVE
   =================================== */

@media screen and (max-width: 768px) {
    .ed-anim-texte {
        margin: 30px 0;
    }
    
    .ed-anim-text-wrapper.text-type-h1 {
        font-size: 36px;
    }
    
    .ed-anim-text-wrapper.text-type-h2 {
        font-size: 32px;
    }
    
    .ed-anim-text-wrapper.text-type-h3 {
        font-size: 28px;
    }
    
    .ed-anim-text-wrapper.text-type-p {
        font-size: 16px;
    }
}

@media screen and (max-width: 480px) {
    .ed-anim-text-wrapper.text-type-h1 {
        font-size: 28px;
    }
    
    .ed-anim-text-wrapper.text-type-h2 {
        font-size: 24px;
    }
    
    .ed-anim-text-wrapper.text-type-h3 {
        font-size: 22px;
    }
    
    .ed-anim-text-wrapper.text-type-p {
        font-size: 15px;
    }
}

/* ===================================
   ANIMATIONS D'APPARITION
   =================================== */

/* Animation de fade in au chargement */
.ed-anim-texte {
    animation: fadeIn 0.6s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
