.wp-block-heading {
  word-break: auto-phrase;
}

.wp-block-heading:where(:lang(en)) {
  -webkit-hyphens: auto;
  hyphens: auto;
}

.wp-block-heading.has-text-align-center {
  text-wrap: balance;
}

.wp-block-heading:where(h1):where(:not([class*="is-style-"])) {
  border-block-end: 1px solid var(--color-contrast);
  font-size: var(--font-size-2x-large);
  padding-block-end: var(--spacing-16);
  font-weight: 600;
  line-height: 1.5;
}

.wp-block-heading:where(h2):where(:not([class*="is-style-"])) {
  padding-block: var(--spacing-16);
  padding-inline: var(--spacing-16);
  background: var(--color-base-primary);
  border-inline-start: 8px solid var(--color-primary);
  color: var(--color-primary);
  font-size: var(--font-size-x-large);
  letter-spacing: .05em;
  font-weight: 600;
  line-height: 1.5;
}

.wp-block-heading:where(h3):where(:not([class*="is-style-"])) {
  border-block-end: 1.5px solid var(--color-primary);
  color: var(--color-primary);
  font-size: var(--font-size-large);
  padding-block-end: var(--spacing-8);
  font-weight: 600;
  line-height: 1.5;
}

.wp-block-heading:where(h4):where(:not([class*="is-style-"])) {
  border-inline-start: 2px solid var(--color-primary);
  color: var(--color-primary);
  font-size: var(--font-size-semi-large);
  padding-inline-start: var(--spacing-8);
  font-weight: 600;
  line-height: 1.5;
}

.wp-block-heading:where(h5):where(:not([class*="is-style-"])) {
  color: var(--color-primary);
  font-size: var(--font-size-base);
  font-weight: 600;
  line-height: 1.5;
}

.wp-block-heading:where(h6):where(:not([class*="is-style-"])) {
  font-size: var(--font-size-small);
  font-weight: 600;
  line-height: 1.5;
}

.wp-block-heading:where(h2):where(:not([class*="is-style-"])):not(:first-child) {
  margin-block-start: var(--spacing-40);
}

#ez-toc-container.ez-toc-counter {
  margin-block: var(--spacing-24);
  border-radius: var(--border-radius-4);
  border: 1px solid var(--color-neutral-medium);
  box-shadow: none;
  background: var(--color-neutral-soft);
  padding: 0;
  display: block;
}

#ez-toc-container.ez-toc-counter a {
  color: var(--color-primary);
  text-decoration-skip-ink: none;
  text-underline-offset: auto;
  text-underline-position: from-font;
  font-weight: 500;
  line-height: 1.6;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-thickness: auto;
  transition: color .3s;
}

@media (any-hover: hover) {
  #ez-toc-container.ez-toc-counter a:hover {
    color: var(--color-secondary);
  }
}

#ez-toc-container.ez-toc-counter .ez-toc-title {
  color: var(--color-neutral-soft);
  font-size: var(--font-size-large);
  font-weight: 600;
  line-height: 1.8;
}

#ez-toc-container.ez-toc-counter .ez-toc-title-container {
  align-items: center;
  gap: var(--spacing-16);
  padding: var(--spacing-8) var(--spacing-16);
  background: var(--color-secondary);
  color: var(--color-base-body);
  display: flex;
}

#ez-toc-container.ez-toc-counter .ez-toc-js-icon-con {
  float: none;
  border: none;
  position: static;
}

#ez-toc-container.ez-toc-counter .ez-toc-pull-right {
  float: none !important;
  margin: 0 !important;
}

#ez-toc-container.ez-toc-counter .ez-toc-btn-xs {
  padding: 0;
}

#ez-toc-container.ez-toc-counter .ez-toc-icon-toggle-span {
  justify-content: center;
  align-items: center;
  display: flex;
  transform: translateY(.1em);
}

#ez-toc-container.ez-toc-counter .ez-toc-icon-toggle-span svg {
  fill: var(--color-neutral-soft);
}

#ez-toc-container.ez-toc-counter .ez-toc-list {
  padding-inline: var(--spacing-24);
  padding-block: var(--spacing-24);
  margin: 0;
}

#ez-toc-container.ez-toc-counter .ez-toc-list > * + * {
  margin-block-start: var(--spacing-8);
}

#ez-toc-container.ez-toc-counter li > ul, #ez-toc-container.ez-toc-counter li + li {
  margin-block-start: var(--spacing-8);
}

#ez-toc-container.ez-toc-counter ul ul {
  margin-inline-start: 1em;
}
