/* Morphing Text Block — bkbg-mt-* */

.bkbg-mt-app { display: block; }

.bkbg-mt-wrap { display: block; }

.bkbg-mt-heading { margin: 0; padding: 0; }

/* ---- Heading typography via CSS vars ---- */
.bkbg-mt-wrap .bkbg-mt-heading {
    font-family: var(--bkbg-mrt-hd-font-family, inherit);
    font-size: var(--bkbg-mrt-hd-font-size-d, 56px);
    font-weight: var(--bkbg-mrt-hd-font-weight, 800);
    font-style: var(--bkbg-mrt-hd-font-style, normal);
    line-height: var(--bkbg-mrt-hd-line-height-d, var(--bkbg-mrt-hd-line-height, 1.2));
    letter-spacing: var(--bkbg-mrt-hd-letter-spacing-d, var(--bkbg-mrt-hd-letter-spacing, -1px));
    text-decoration: var(--bkbg-mrt-hd-text-decoration, none);
    text-transform: var(--bkbg-mrt-hd-text-transform, none);
}

/* Cursor */
.bkbg-mt-cursor {
    display: inline-block;
    width: 3px;
    background: currentColor;
    margin-left: 3px;
    vertical-align: baseline;
    animation: bkbg-mt-blink 1s step-end infinite;
}

@keyframes bkbg-mt-blink {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0; }
}

/* ── Blur mode ── */
.bkbg-mt-morph-word {
    display: inline-block;
    transition: filter 0.35s ease, opacity 0.35s ease;
}

.bkbg-mt-morph-word.bkbg-mt-out-blur {
    filter: blur(12px);
    opacity: 0;
}

.bkbg-mt-morph-word.bkbg-mt-in-blur {
    filter: blur(0);
    opacity: 1;
}

/* ── Crossfade mode ── */
.bkbg-mt-morph-word.bkbg-mt-out-fade {
    opacity: 0;
    transition: opacity 0.5s ease;
}

.bkbg-mt-morph-word.bkbg-mt-in-fade {
    opacity: 1;
    transition: opacity 0.5s ease;
}

/* ── Slide Up ── */
.bkbg-mt-morph-word.bkbg-mt-out-slideup {
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.bkbg-mt-morph-word.bkbg-mt-in-slideup {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

/* ── Slide Down ── */
.bkbg-mt-morph-word.bkbg-mt-out-slidedown {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.bkbg-mt-morph-word.bkbg-mt-in-slidedown {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

/* ── Gradient text ── */
.bkbg-mt-gradient {
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* ---- Responsive typography ---- */
@media (max-width: 1024px) {
    .bkbg-mt-wrap .bkbg-mt-heading {
        font-size: var(--bkbg-mrt-hd-font-size-t, var(--bkbg-mrt-hd-font-size-d, 56px));
        line-height: var(--bkbg-mrt-hd-line-height-t, var(--bkbg-mrt-hd-line-height-d, var(--bkbg-mrt-hd-line-height, 1.2)));
            letter-spacing: var(--bkbg-mrt-hd-letter-spacing-t, var(--bkbg-mrt-hd-letter-spacing-d, var(--bkbg-mrt-hd-letter-spacing, -1px)));
    }
}
@media (max-width: 767px) {
    .bkbg-mt-wrap .bkbg-mt-heading {
        font-size: var(--bkbg-mrt-hd-font-size-m, var(--bkbg-mrt-hd-font-size-t, var(--bkbg-mrt-hd-font-size-d, 42px)));
        line-height: var(--bkbg-mrt-hd-line-height-m, var(--bkbg-mrt-hd-line-height-t, var(--bkbg-mrt-hd-line-height-d, var(--bkbg-mrt-hd-line-height, 1.2))));
            letter-spacing: var(--bkbg-mrt-hd-letter-spacing-m, var(--bkbg-mrt-hd-letter-spacing-t, var(--bkbg-mrt-hd-letter-spacing-d, var(--bkbg-mrt-hd-letter-spacing, -1px))));
    }
}
