@layer accessi-typography {
  html.accessi-typography-active {
    --accessi-line-height: 1.4;
    --accessi-letter-spacing: 0px;
    --accessi-text-align: revert;
    --accessi-font-scale-ratio: 1;
  }

  html.accessi-typography-active :where(
    p,
    span,
    a,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    li,
    label,
    blockquote,
    figcaption,
    td,
    th,
    dd,
    dt,
    strong,
    em,
    cite,
    address
  ):not(.acc-excluded):not(.acc-excluded *):not([class*='mp-grw-']):not([class*='mp-grw-'] *):not(
      .elementor-widget-shortcode
    ):not(.elementor-widget-shortcode *):not(.elementor-shortcode):not(.elementor-shortcode *):not(.grw-content):not(
      .grw-content *
    ):not(.elementor-element[class*='grw-']):not(.elementor-element[class*='grw-'] *):not(
      #accessi-modal
    ):not(#accessi-modal *):not(#accessi-access-btn):not(#accessi-access-btn *) {
    line-height: var(--accessi-line-height);
    letter-spacing: var(--accessi-letter-spacing);
    text-align: var(--accessi-text-align) !important;
  }

  /* Counter html font-size scale inside opt-out regions (standard mode) */
  html.accessi-typography-active .acc-excluded,
  html.accessi-typography-active .acc-excluded *,
  html.accessi-typography-active [class*='mp-grw-'],
  html.accessi-typography-active [class*='mp-grw-'] *,
  html.accessi-typography-active .elementor-widget-shortcode,
  html.accessi-typography-active .elementor-widget-shortcode *,
  html.accessi-typography-active .elementor-shortcode,
  html.accessi-typography-active .elementor-shortcode *,
  html.accessi-typography-active .grw-content,
  html.accessi-typography-active .grw-content *,
  html.accessi-typography-active .elementor-element[class*='grw-'],
  html.accessi-typography-active .elementor-element[class*='grw-'] * {
    font-size: calc(100% / var(--accessi-font-scale-ratio, 1)) !important;
    line-height: revert !important;
    letter-spacing: revert !important;
    text-align: revert !important;
  }
}
