/* Heading Animation Styles */
.ce-heading-animation {
    position: relative;
    width: 100%;
}

.ce-heading-item {
    position: relative;
    margin: 0;
    line-height: 1.2;
    opacity: 1;
    transform: none;
}

/* Character animation styles */
.ce-text-wrapper {
    display: inline-block;
    position: relative;
}

.ce-char {
    display: inline-block;
    position: relative;
}

.ce-space {
    width: 0.25em;
}

/* Typewriter animation styles */
.ce-typewriter-char {
    display: inline-block;
}

.ce-typewriter-cursor {
    display: inline-block;
    margin-left: 2px;
    font-weight: normal;
    opacity: 1;
    animation: ce-cursor-blink 1s infinite;
}

@keyframes ce-cursor-blink {
    0%, 50% {
        opacity: 1;
    }
    51%, 100% {
        opacity: 0;
    }
}

/* Animation properties for CSS override */
.ce-heading-item {
    --animation-offset: 50px;
    --animation-scale: 0.8;
}

/* Responsive styles */
@media screen and (max-width: 768px) {
    .ce-heading-item {
        font-size: 90%;
    }
}

@media screen and (max-width: 480px) {
    .ce-heading-item {
        font-size: 80%;
    }
}

/* Elementor editor styles */
.elementor-editor-active .ce-heading-animation {
    min-height: 100px;
}

.elementor-editor-active .ce-heading-item {
    opacity: 1 !important;
    transform: none !important;
}