/* Explicit typography choices apply inside custom blocks; unset choices keep
 * the approved hierarchy and inline child styles remain authoritative.
 * Blocks with per-element styles (`has-ac-element-styles`, see
 * inc/element-styles.php) are left out of these descendant rules: there the
 * section value reaches each text element (`.ac-element`) only, the element's
 * own inline value wins, and words inside it inherit from their element. */
.has-ac-content-font-size.has-ac-content-font-size.has-ac-content-font-size.has-ac-content-font-size.has-ac-content-font-size:not(.has-ac-element-styles) :is(h1, h2, h3, h4, h5, h6, p, span, strong, em, a, button, label, input, select, textarea, li) {
  font-size: var(--ac-content-font-size);
}
.has-ac-content-font-family.has-ac-content-font-family.has-ac-content-font-family.has-ac-content-font-family.has-ac-content-font-family:not(.has-ac-element-styles) :is(h1, h2, h3, h4, h5, h6, p, span, strong, em, a, button, label, input, select, textarea, li) {
  font-family: var(--ac-content-font-family);
}
.has-ac-content-font-weight.has-ac-content-font-weight.has-ac-content-font-weight.has-ac-content-font-weight.has-ac-content-font-weight:not(.has-ac-element-styles) :is(h1, h2, h3, h4, h5, h6, p, span, strong, em, a, button, label, input, select, textarea, li) {
  font-weight: var(--ac-content-font-weight);
}
.has-ac-content-font-style.has-ac-content-font-style.has-ac-content-font-style.has-ac-content-font-style.has-ac-content-font-style:not(.has-ac-element-styles) :is(h1, h2, h3, h4, h5, h6, p, span, strong, em, a, button, label, input, select, textarea, li) {
  font-style: var(--ac-content-font-style);
}
.has-ac-content-line-height.has-ac-content-line-height.has-ac-content-line-height.has-ac-content-line-height.has-ac-content-line-height:not(.has-ac-element-styles) :is(h1, h2, h3, h4, h5, h6, p, span, strong, em, a, button, label, input, select, textarea, li) {
  line-height: var(--ac-content-line-height);
}
.has-ac-content-letter-spacing.has-ac-content-letter-spacing.has-ac-content-letter-spacing.has-ac-content-letter-spacing.has-ac-content-letter-spacing:not(.has-ac-element-styles) :is(h1, h2, h3, h4, h5, h6, p, span, strong, em, a, button, label, input, select, textarea, li) {
  letter-spacing: var(--ac-content-letter-spacing);
}
.has-ac-content-text-transform.has-ac-content-text-transform.has-ac-content-text-transform.has-ac-content-text-transform.has-ac-content-text-transform:not(.has-ac-element-styles) :is(h1, h2, h3, h4, h5, h6, p, span, strong, em, a, button, label, input, select, textarea, li) {
  text-transform: var(--ac-content-text-transform);
}
.has-ac-content-text-decoration.has-ac-content-text-decoration.has-ac-content-text-decoration.has-ac-content-text-decoration.has-ac-content-text-decoration:not(.has-ac-element-styles) :is(h1, h2, h3, h4, h5, h6, p, span, strong, em, a, button, label, input, select, textarea, li) {
  text-decoration: var(--ac-content-text-decoration);
}

.has-ac-element-styles.has-ac-content-font-size .ac-element {
  font-size: var(--ac-content-font-size);
}
.has-ac-element-styles.has-ac-content-font-family .ac-element {
  font-family: var(--ac-content-font-family);
}
.has-ac-element-styles.has-ac-content-font-weight .ac-element {
  font-weight: var(--ac-content-font-weight);
}
.has-ac-element-styles.has-ac-content-font-style .ac-element {
  font-style: var(--ac-content-font-style);
}
.has-ac-element-styles.has-ac-content-line-height .ac-element {
  line-height: var(--ac-content-line-height);
}
.has-ac-element-styles.has-ac-content-letter-spacing .ac-element {
  letter-spacing: var(--ac-content-letter-spacing);
}
.has-ac-element-styles.has-ac-content-text-transform .ac-element {
  text-transform: var(--ac-content-text-transform);
}
.has-ac-element-styles.has-ac-content-text-decoration .ac-element {
  text-decoration: var(--ac-content-text-decoration);
}
