table {
  border:
    var(--table--border--width, 1px)
    var(--table--border--style, solid)
    var(--table--border--color, transparent);
  padding: var(--table--padding, 0);
  margin: var(--table--margin, 0);
  border-collapse: collapse;
  table-layout: auto;
  width: var(--table--width);
  color: var(--table--color);

  tr {
    background-color: var(--tr--bg-color);
    border:
      var(--tr--border--width, 1px)
      var(--tr--border--style, solid)
      var(--tr--border--color);
  }

  th {
    font-size: var(--th--font-size);
    font-family: var(--th--font-family);
    font-weight: var(--th--font-weight);
    padding: var(--th--padding, 1rem);
    text-align: var(--th--text-align);
    text-transform: var(--th--text-transform);
    border:
      var(--th--border--width, 1px)
      var(--th--border--style, solid)
      var(--th--border--color);
  }

  td {
    padding: var(--td--padding, 1rem);
    text-align: var(--td--text-align);
    vertical-align: var(--td--vertical-align);
    border:
      var(--td--border--width, 1px)
      var(--td--border--style, solid)
      var(--td--border--color);
  }

  &:last-child {
    margin-bottom: 0;
  }
}
