/* ── Animated Text Module styles ─────────────────────────────────── */

.tfs-at-container {
    --tfs-at-bg: #0f0f12;
    --tfs-at-bg-image: none;
    --tfs-at-bg-position: center center;
    --tfs-at-bg-size: cover;
    --tfs-at-pad-top: 80px;
    --tfs-at-pad-right: 20px;
    --tfs-at-pad-bottom: 80px;
    --tfs-at-pad-left: 20px;
    --tfs-at-min-height: auto;
    --tfs-at-align: center;

    --tfs-at-heading-font: 'Poppins', sans-serif;
    --tfs-at-heading-size: clamp(2rem, 6vw, 5rem);
    --tfs-at-heading-color: #ffffff;
    --tfs-at-heading-weight: 700;
    --tfs-at-heading-align: center;
    --tfs-at-heading-spacing: -0.02em;
    --tfs-at-heading-line-height: 1.1;
    --tfs-at-heading-transform: none;

    --tfs-at-sub-font: 'Poppins', sans-serif;
    --tfs-at-sub-size: 1.2rem;
    --tfs-at-sub-color: #47cf3a;
    --tfs-at-sub-weight: 500;
    --tfs-at-sub-align: center;
    --tfs-at-sub-spacing: 0.1em;
    --tfs-at-sub-transform: uppercase;

    --tfs-at-body-font: 'Poppins', sans-serif;
    --tfs-at-body-size: 1.1rem;
    --tfs-at-body-color: #c3cad5;
    --tfs-at-body-weight: 300;
    --tfs-at-body-align: center;
    --tfs-at-body-line-height: 1.6;
    --tfs-at-body-max-width: 600px;

    width: 100%;
    display: flex;
    align-items: center;
    justify-content: var(--tfs-at-align, center);
    background-color: var(--tfs-at-bg, #0f0f12);
    background-image: var(--tfs-at-bg-image, none);
    background-position: var(--tfs-at-bg-position, center center);
    background-size: var(--tfs-at-bg-size, cover);
    background-repeat: no-repeat;
    min-height: var(--tfs-at-min-height, auto);
    box-sizing: border-box;
    overflow: hidden;
    font-family: var(--tfs-at-heading-font, 'Poppins', sans-serif);
    color: var(--tfs-at-heading-color, #ffffff);
}

.tfs-at-content {
    max-width: 100%;
    text-align: var(--tfs-at-align, center);
    position: relative;
    z-index: 1;
    padding-top: var(--tfs-at-pad-top, 80px);
    padding-right: var(--tfs-at-pad-right, 20px);
    padding-bottom: var(--tfs-at-pad-bottom, 80px);
    padding-left: var(--tfs-at-pad-left, 20px);
    box-sizing: border-box;
}

/* ── Subheading ──────────────────────────────────────────────────── */

.tfs-at-subheading {
    font-family: var(--tfs-at-sub-font, var(--tfs-at-heading-font, 'Poppins', sans-serif));
    font-size: var(--tfs-at-sub-size, 1.2rem);
    color: var(--tfs-at-sub-color, #47cf3a);
    font-weight: var(--tfs-at-sub-weight, 500);
    text-align: var(--tfs-at-sub-align, var(--tfs-at-align, center));
    letter-spacing: var(--tfs-at-sub-spacing, 0.1em);
    text-transform: var(--tfs-at-sub-transform, uppercase);
    margin: 0 0 24px 0;
    line-height: 1.4;
    opacity: 0;
}

/* ── Heading ─────────────────────────────────────────────────────── */

.tfs-at-heading {
    font-family: var(--tfs-at-heading-font, 'Poppins', sans-serif);
    font-size: var(--tfs-at-heading-size, clamp(2rem, 6vw, 5rem));
    color: var(--tfs-at-heading-color, #ffffff);
    font-weight: var(--tfs-at-heading-weight, 700);
    text-align: var(--tfs-at-heading-align, var(--tfs-at-align, center));
    letter-spacing: var(--tfs-at-heading-spacing, -0.02em);
    line-height: var(--tfs-at-heading-line-height, 1.1);
    text-transform: var(--tfs-at-heading-transform, none);
    margin: 0 0 32px 0;
    opacity: 0;
    /* Prevent kerning shift when SplitText wraps chars in divs */
    font-kerning: none;
    text-rendering: optimizeSpeed;
}

/* ── Body ────────────────────────────────────────────────────────── */

.tfs-at-body {
    font-family: var(--tfs-at-body-font, var(--tfs-at-heading-font, 'Poppins', sans-serif));
    font-size: var(--tfs-at-body-size, 1.1rem);
    color: var(--tfs-at-body-color, #c3cad5);
    font-weight: var(--tfs-at-body-weight, 300);
    text-align: var(--tfs-at-body-align, var(--tfs-at-align, center));
    line-height: var(--tfs-at-body-line-height, 1.6);
    max-width: var(--tfs-at-body-max-width, 600px);
    margin: 0 auto;
    opacity: 0;
}

.tfs-at-body p {
    margin: 0 0 1em 0;
}

.tfs-at-body p:last-child {
    margin-bottom: 0;
}

/* ── SplitText line masks (for masked_reveal style) ──────────────── */

.tfs-at-heading .tfs-at-line-mask,
.tfs-at-subheading .tfs-at-line-mask,
.tfs-at-body .tfs-at-line-mask {
    overflow: clip;
    overflow: hidden;
}

/* ── Responsive ──────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .tfs-at-container {
        --tfs-at-pad-top: 50px;
        --tfs-at-pad-right: 16px;
        --tfs-at-pad-bottom: 50px;
        --tfs-at-pad-left: 16px;
    }
}

@media (max-width: 480px) {
    .tfs-at-container {
        --tfs-at-pad-top: 30px;
        --tfs-at-pad-right: 12px;
        --tfs-at-pad-bottom: 30px;
        --tfs-at-pad-left: 12px;
    }
}
