/* Styles de base pour les widgets GSAP */

.gsap-text-wrapper {
    position: relative;
}

.gsap-text-element {
    position: relative;
}

.gsap-image-wrapper {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.gsap-image-element {
    position: relative;
    overflow: hidden;
    display: block;
}

.gsap-image-element img {
    display: block;
    width: 100%;
    height: auto;
}

/* Effet reveal overlay */
.gsap-reveal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    z-index: 2;
}

/* Amélioration des performances */
.gsap-text-element,
.gsap-image-element {
    will-change: transform, opacity;
}

/* Styles pour split text */
.gsap-text-element span {
    display: inline-block;
}

/* Responsive */
@media (max-width: 768px) {
    .gsap-image-element img {
        width: 100%;
    }
}

/* Fix pour éviter le flash de contenu - seulement pour certaines animations */
.gsap-text-element[data-gsap-animation*="fade"],
.gsap-text-element[data-gsap-animation*="slide"],
.gsap-text-element[data-gsap-animation*="scale"],
.gsap-text-element[data-gsap-animation*="rotate"],
.gsap-text-element[data-gsap-animation*="blur"],
.gsap-text-element[data-gsap-animation*="split"],
.gsap-text-element[data-gsap-animation*="wave"],
.gsap-image-element[data-gsap-animation*="fade"],
.gsap-image-element[data-gsap-animation*="slide"],
.gsap-image-element[data-gsap-animation*="zoom"],
.gsap-image-element[data-gsap-animation*="rotate"],
.gsap-image-element[data-gsap-animation*="flip"],
.gsap-image-element[data-gsap-animation*="blur"],
.gsap-image-element[data-gsap-animation*="clip"] {
    opacity: 0;
}
