/* ================================================================
   ESF Typewriter — Widget Styles
   ================================================================ */

/* Wrap */
.esf-tw-wrap {
    width: 100%;
}

/* Band (full-width style) */
.esf-tw-band {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    padding: 18px 20px;
    text-align: center;
    background: #F59E0B;
}
.esf-tw-band.esf-tw-shadow {
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

/* Title element */
.esf-tw-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    color: #FFFFFF;
    margin: 0;
    letter-spacing: 0.3px;
    line-height: 1.3;
    display: inline;
}

/* Blinking cursor */
.esf-tw-title.esf-tw-cursor {
    border-right: 3px solid rgba(255,255,255,0.8);
    animation: esf-tw-blink 0.7s step-end infinite;
}
.esf-tw-title.esf-tw-cursor.esf-tw-done {
    border-right-color: transparent;
    animation: none;
}
@keyframes esf-tw-blink {
    50% { border-right-color: transparent; }
}

/* Inline style (non-band) */
.esf-tw-wrap:not(:has(.esf-tw-band)) .esf-tw-title {
    display: inline-block;
    border-radius: 6px;
}

/* Hidden before animation */
.esf-tw-title[data-esf-tw-text] {
    visibility: hidden;
}

/* Editor: show text visible */
.elementor-editor-active .esf-tw-title[data-esf-tw-text] {
    visibility: visible !important;
}
