/* Override Tailwind CDN text utilities inside custom templates */
.template-font-scale p,
.landing-mobile-scale p,
.case-outcomes-scale p,
.template-font-scale p.text-xs,
.template-font-scale p.text-sm,
.template-font-scale p.text-base,
.template-font-scale p.text-lg,
.template-font-scale p.text-xl,
.template-font-scale p.text-2xl,
.landing-mobile-scale p.text-xs,
.landing-mobile-scale p.text-sm,
.landing-mobile-scale p.text-base,
.landing-mobile-scale p.text-lg,
.landing-mobile-scale p.text-xl,
.landing-mobile-scale p.text-2xl,
.case-outcomes-scale p.text-xs,
.case-outcomes-scale p.text-sm,
.case-outcomes-scale p.text-base,
.case-outcomes-scale p.text-lg,
.case-outcomes-scale p.text-xl,
.case-outcomes-scale p.text-2xl {
    font-size: 1.55rem !important;
    line-height: 1.7 !important;
}

.template-font-scale :not(p).text-xs,
.landing-mobile-scale :not(p).text-xs,
.case-outcomes-scale :not(p).text-xs {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
}

.template-font-scale :not(p).text-sm,
.landing-mobile-scale :not(p).text-sm,
.case-outcomes-scale :not(p).text-sm {
    font-size: 1rem !important;
    line-height: 1.5 !important;
}

.template-font-scale :not(p).text-base,
.landing-mobile-scale :not(p).text-base,
.case-outcomes-scale :not(p).text-base {
    font-size: 1.05rem !important;
    line-height: 1.55 !important;
}

.template-font-scale :not(p).text-lg,
.landing-mobile-scale :not(p).text-lg,
.case-outcomes-scale :not(p).text-lg {
    font-size: 1.15rem !important;
    line-height: 1.6 !important;
}

.template-font-scale :not(p).text-xl,
.landing-mobile-scale :not(p).text-xl,
.case-outcomes-scale :not(p).text-xl {
    font-size: 1.25rem !important;
    line-height: 1.65 !important;
}

.template-font-scale :not(p).text-2xl,
.landing-mobile-scale :not(p).text-2xl,
.case-outcomes-scale :not(p).text-2xl {
    font-size: 1.35rem !important;
    line-height: 1.7 !important;
}

.template-font-scale a,
.template-font-scale button,
.landing-mobile-scale a,
.landing-mobile-scale button,
.case-outcomes-scale a,
.case-outcomes-scale button {
    font-size: 0.9rem !important;
    line-height: 1.35 !important;
}

@media (min-width: 768px) and (max-width: 1439px) {
    .template-font-scale p,
    .landing-mobile-scale p,
    .case-outcomes-scale p,
    .template-font-scale p.text-xs,
    .template-font-scale p.text-sm,
    .template-font-scale p.text-base,
    .template-font-scale p.text-lg,
    .template-font-scale p.text-xl,
    .template-font-scale p.text-2xl,
    .landing-mobile-scale p.text-xs,
    .landing-mobile-scale p.text-sm,
    .landing-mobile-scale p.text-base,
    .landing-mobile-scale p.text-lg,
    .landing-mobile-scale p.text-xl,
    .landing-mobile-scale p.text-2xl,
    .case-outcomes-scale p.text-xs,
    .case-outcomes-scale p.text-sm,
    .case-outcomes-scale p.text-base,
    .case-outcomes-scale p.text-lg,
    .case-outcomes-scale p.text-xl,
    .case-outcomes-scale p.text-2xl {
        font-size: 1.6rem !important;
        line-height: 1.7 !important;
    }

    .template-font-scale :not(p).text-xs,
    .landing-mobile-scale :not(p).text-xs,
    .case-outcomes-scale :not(p).text-xs {
        font-size: 0.85rem !important;
    }

    .template-font-scale :not(p).text-sm,
    .landing-mobile-scale :not(p).text-sm,
    .case-outcomes-scale :not(p).text-sm {
        font-size: 1rem !important;
    }

    .template-font-scale :not(p).text-base,
    .landing-mobile-scale :not(p).text-base,
    .case-outcomes-scale :not(p).text-base {
        font-size: 1.05rem !important;
    }

    .template-font-scale :not(p).text-lg,
    .landing-mobile-scale :not(p).text-lg,
    .case-outcomes-scale :not(p).text-lg {
        font-size: 1.15rem !important;
    }

    .template-font-scale :not(p).text-xl,
    .landing-mobile-scale :not(p).text-xl,
    .case-outcomes-scale :not(p).text-xl {
        font-size: 1.25rem !important;
    }

    .template-font-scale :not(p).text-2xl,
    .landing-mobile-scale :not(p).text-2xl,
    .case-outcomes-scale :not(p).text-2xl {
        font-size: 1.35rem !important;
    }

    .template-font-scale a,
    .template-font-scale button,
    .landing-mobile-scale a,
    .landing-mobile-scale button,
    .case-outcomes-scale a,
    .case-outcomes-scale button {
        font-size: 0.95rem !important;
    }
}

@media (min-width: 1440px) {
    .template-font-scale p,
    .landing-mobile-scale p,
    .case-outcomes-scale p,
    .template-font-scale p.text-xs,
    .template-font-scale p.text-sm,
    .template-font-scale p.text-base,
    .template-font-scale p.text-lg,
    .template-font-scale p.text-xl,
    .template-font-scale p.text-2xl,
    .landing-mobile-scale p.text-xs,
    .landing-mobile-scale p.text-sm,
    .landing-mobile-scale p.text-base,
    .landing-mobile-scale p.text-lg,
    .landing-mobile-scale p.text-xl,
    .landing-mobile-scale p.text-2xl,
    .case-outcomes-scale p.text-xs,
    .case-outcomes-scale p.text-sm,
    .case-outcomes-scale p.text-base,
    .case-outcomes-scale p.text-lg,
    .case-outcomes-scale p.text-xl,
    .case-outcomes-scale p.text-2xl {
        font-size: 1.8rem !important;
        line-height: 1.8 !important;
    }

    .template-font-scale :not(p).text-xs,
    .landing-mobile-scale :not(p).text-xs,
    .case-outcomes-scale :not(p).text-xs {
        font-size: 0.9rem !important;
    }

    .template-font-scale :not(p).text-sm,
    .landing-mobile-scale :not(p).text-sm,
    .case-outcomes-scale :not(p).text-sm {
        font-size: 1.1rem !important;
    }

    .template-font-scale :not(p).text-base,
    .landing-mobile-scale :not(p).text-base,
    .case-outcomes-scale :not(p).text-base {
        font-size: 1.15rem !important;
    }

    .template-font-scale :not(p).text-lg,
    .landing-mobile-scale :not(p).text-lg,
    .case-outcomes-scale :not(p).text-lg {
        font-size: 1.25rem !important;
    }

    .template-font-scale :not(p).text-xl,
    .landing-mobile-scale :not(p).text-xl,
    .case-outcomes-scale :not(p).text-xl {
        font-size: 1.35rem !important;
    }

    .template-font-scale :not(p).text-2xl,
    .landing-mobile-scale :not(p).text-2xl,
    .case-outcomes-scale :not(p).text-2xl {
        font-size: 1.55rem !important;
    }

    .template-font-scale a,
    .template-font-scale button,
    .landing-mobile-scale a,
    .landing-mobile-scale button,
    .case-outcomes-scale a,
    .case-outcomes-scale button {
        font-size: 1rem !important;
    }
}

.template-font-scale h1,
.landing-mobile-scale h1,
.case-outcomes-scale h1 {
    font-size: clamp(2.5rem, 5vw, 4rem) !important;
    line-height: 1.08 !important;
}

.template-font-scale h2,
.landing-mobile-scale h2,
.case-outcomes-scale h2 {
    font-size: clamp(1.75rem, 3.8vw, 3.5rem) !important;
    line-height: 1.12 !important;
}

.template-font-scale h3,
.landing-mobile-scale h3,
.case-outcomes-scale h3 {
    font-size: clamp(1.35rem, 2.5vw, 2rem) !important;
    line-height: 1.2 !important;
}

.template-font-scale h4,
.landing-mobile-scale h4,
.case-outcomes-scale h4 {
    font-size: clamp(1.15rem, 2vw, 1.5rem) !important;
    line-height: 1.25 !important;
}

/* Final pass: paragraphs always use body size, never Tailwind text-xs/sm */
.template-font-scale p,
.landing-mobile-scale p,
.case-outcomes-scale p,
.template-font-scale p.text-xs,
.template-font-scale p.text-sm,
.template-font-scale p.text-base,
.landing-mobile-scale p.text-xs,
.landing-mobile-scale p.text-sm,
.landing-mobile-scale p.text-base,
.case-outcomes-scale p.text-xs,
.case-outcomes-scale p.text-sm,
.case-outcomes-scale p.text-base {
    font-size: 1.55rem !important;
    line-height: 1.7 !important;
}

@media (min-width: 768px) and (max-width: 1439px) {
    .template-font-scale p,
    .landing-mobile-scale p,
    .case-outcomes-scale p,
    .template-font-scale p.text-xs,
    .template-font-scale p.text-sm,
    .template-font-scale p.text-base,
    .landing-mobile-scale p.text-xs,
    .landing-mobile-scale p.text-sm,
    .landing-mobile-scale p.text-base,
    .case-outcomes-scale p.text-xs,
    .case-outcomes-scale p.text-sm,
    .case-outcomes-scale p.text-base {
        font-size: 1.6rem !important;
    }
}

@media (min-width: 1440px) {
    .template-font-scale p,
    .landing-mobile-scale p,
    .case-outcomes-scale p,
    .template-font-scale p.text-xs,
    .template-font-scale p.text-sm,
    .template-font-scale p.text-base,
    .landing-mobile-scale p.text-xs,
    .landing-mobile-scale p.text-sm,
    .landing-mobile-scale p.text-base,
    .case-outcomes-scale p.text-xs,
    .case-outcomes-scale p.text-sm,
    .case-outcomes-scale p.text-base {
        font-size: 1.8rem !important;
    }
}
