/* Explicit native block choices take precedence over component defaults. */
.has-text-align-left { text-align: left !important; }
.has-text-align-center { text-align: center !important; }
.has-text-align-right { text-align: right !important; }

/* A class-based hero must not keep its H1/H2 size after a heading conversion.
 * No rule matches the original H1 title or H2 headline, preserving their layout.
 * Native preset sizes use !important; custom inline sizes also remain authoritative.
 */
.kd-service-category .kd-category-hero h2.kd-category-title { font-size: clamp(24px, 2.5vw, 32px); }
.kd-service-category .kd-category-hero h1.kd-category-headline { font-size: clamp(32px, 3.6vw, 52px); }
:is(.kd-service-category .kd-category-hero h3.kd-category-title, .kd-service-category .kd-category-hero h3.kd-category-headline, h3.kd-business-section-title) { font-size: clamp(21px, 2vw, 28px); }
:is(.kd-service-category .kd-category-hero h4.kd-category-title, .kd-service-category .kd-category-hero h4.kd-category-headline, h4.kd-business-section-title) { font-size: clamp(18px, 1.6vw, 22px); }
:is(.kd-service-category .kd-category-hero h5.kd-category-title, .kd-service-category .kd-category-hero h5.kd-category-headline, h5.kd-business-section-title) { font-size: 17px; }
:is(.kd-service-category .kd-category-hero h6.kd-category-title, .kd-service-category .kd-category-hero h6.kd-category-headline, h6.kd-business-section-title) { font-size: 15px; }

/* An inline link is part of the text being resized, unless it has its own size. */
:is(p, h1, h2, h3, h4, h5, h6):is([style*="font-size"], [class*="-font-size"]) a:not([style*="font-size"]):not([class*="-font-size"]) { font-size: inherit !important; }
