table {
  margin-inline: var(--table-margin-inline, auto);
  margin-block: var(--table-margin-block, 2rem);
  display: var(--table-display, table);

  border-collapse: separate;
  border-spacing: 0;
  color: var(--table-clr, inherit);
  border: var(--table-border-clr, 1px solid transparent);

  font-size: var(--table-fs, inherit);
  font-weight: var(--table-fw, inherit);
  text-wrap: balance;
  text-wrap: var(--table-tw, pretty);

  /* Контейнер заголовка и описания таблицы (caption) */
  & caption {
    margin-block-end: var(--table-caption-mbe, 1em);

    /* Заголовок/название таблицы (caption > p) */
    & .table-name {
      color: var(--table-name-clr, inherit);
      font-size: var(--table-name-fs, 1.5rem);
      font-weight: var(--table-name-fw, 600);
      text-transform: var(--table-name-tt, uppercase);
      padding-block-end: var(--table-name-pbe, 1rem);
    }

    /* Подзаголовок/описание таблицы (caption > p) */
    & .table-description {
      color: var(--table-desc-clr, inherit);
      font-size: var(--table-desc-fs, 1.5rem);
      font-weight: var(--table-desc-fw, 600);
      text-transform: var(--table-desc-tt, uppercase);
    }
  }

  /* Липкая строка таблицы (обычно применяется к Header)  */
  & .sticky {
    background-color: var(--table-header-bg-clr, white);
    border: var(--table-border-clr, 1px solid black);
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 5;
  }

  .table-chapter {
    color: var(--table-chapter-clr, white);
    background-color: var(--table-chapter-bg-clr, orangered);
    text-align: var(--table-chapter-ta, center);
    font-size: var(--table-chapter-fs, inherit);
    font-weight: var(--table-chapter-fw, 600);
  }

  & .accent-text {
    color: var(--table-accent-text-clr, red);
    font-weight: var(--table-accent-text-fw, 600);
    text-decoration: var(--table-accent-text-td, underline);
    text-decoration-thickness: var(--table-accent-text-td-th, 0.15em);
  }

  /* Раздел с доп. информацией ( предпоследнийв табл. ) */
  .additional-section {
    padding-block: var(--table-add-pb, 0.5rem);

    & .title {
      color: var(--table-add-title-clr, red);
      text-transform: var(--table-add-title-tt, none);
      font-weight: var(--table-add-title-fw, 600);
    }

    & .left {
      text-align: left;
    }

    & .center {
      text-align: center;
    }

    & .right {
      text-align: right;
    }

    & .accent {
      color: var(--table-accent-clr, red);
    }

    & .black {
      color: black;
    }

    & .white {
      color: white;
    }
  }

  /* Раздел со сносками (последний в табл.) */
  .footnotes-section {
    text-wrap: stable;
    text-indent: var(--table-footnotes-ti, 4ch);
    padding-block: var(--table-footnotes-pb, 1rem);
    text-align: justify;

    & .footnotes {
      margin-block-end: 0.5em;
    }

    & .footnotes-icon {
      color: var(--table-footnotes-clr, red);
      font-weight: var(--table-footnotes-fw, 900);
    }
  }
}

thead,
tbody,
tfoot {
  border: var(--table-border-clr, 1px solid black);
}

thead {
  font-weight: var(--table-header-fw, 400);
}

/* Общий стиль ячеек */
tr,
th,
td {
  border: inherit;
  padding: 0.2rem 0.5rem;
}
