/**
 * Blur Reveal Heading - Styles
 * Animation d'entrée brume vers solide
 */

/* Wrapper */
.blur-reveal-heading-wrapper {
    position: relative;
    overflow: visible;
}

/* Titre */
.blur-reveal-title {
    margin: 0;
    line-height: 1.3;
    display: block;
}

/* Conteneur du texte */
.blur-reveal-text {
    display: inline;
}

/* État initial - brume (appliqué par JS) */
.blur-reveal-title.blur-initial {
    filter: blur(var(--initial-blur, 20px));
    opacity: var(--initial-opacity, 0);
    transform: var(--initial-transform, none);
}

/* État final - solide */
.blur-reveal-title.blur-revealed {
    filter: blur(0);
    opacity: 1;
    transform: none;
}

/* Mots */
.blur-reveal-word {
    display: inline-block;
    white-space: nowrap;
}

.blur-reveal-word-item {
    display: inline-block;
    will-change: filter, opacity, transform;
}

/* Caractères */
.blur-reveal-char {
    display: inline-block;
    will-change: filter, opacity, transform;
}

/* Espaces */
.blur-reveal-space {
    display: inline-block;
    width: 0.3em;
}

/* ========================
   GRADIENT DE TEXTE
   ======================== */
.blur-reveal-title.has-gradient {
    background: linear-gradient(
        135deg,
        var(--gradient-color-1, #6366f1) 0%,
        var(--gradient-color-2, #ec4899) 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ========================
   EFFETS SPÉCIAUX
   ======================== */

/* Effet glow pendant l'animation */
.blur-reveal-title.animating {
    text-shadow: 0 0 30px rgba(99, 102, 241, 0.3);
}

.blur-reveal-title.has-gradient.animating {
    text-shadow: none;
}

/* ========================
   RESPONSIVE
   ======================== */
@media (max-width: 768px) {
    .blur-reveal-space {
        width: 0.25em;
    }
}

/* ========================
   MODE ÉDITEUR ELEMENTOR
   ======================== */
.elementor-editor-active .blur-reveal-title {
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.elementor-editor-active .blur-reveal-char,
.elementor-editor-active .blur-reveal-word-item {
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
}

/* ========================
   ACCESSIBILITÉ
   ======================== */
@media (prefers-reduced-motion: reduce) {
    .blur-reveal-title,
    .blur-reveal-char,
    .blur-reveal-word-item {
        filter: none !important;
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
