:host {
  --swirl-table-shadow-rgba: rgba(23, 23, 23, 0.2);

  position: relative;
  display: block;
}

  :host * {
    box-sizing: border-box;
  }

:host-context(html.theme-dark) {
  --swirl-table-shadow-rgba: rgba(0, 0, 0, 0.2);
}

.table--keyboard-move:focus-within {
    --swirl-table-moving-row-border: var(--s-border-width-default) solid
      var(--s-border-highlight);
  }

.table--show-empty-state .table__empty-row {
    display: flex;
  }

.table__container {
  position: relative;
  overflow: auto;
  width: 100%;
}

.table__container--scrolled {
  --swirl-table-sticky-right-shadow: 4px 0 16px -4px var(--swirl-table-shadow-rgba),
    2px 0 4px -2px var(--swirl-table-shadow-rgba);
}

.table__container--scrollable:not(.table__container--scrolled-to-end) {
  --swirl-table-sticky-left-shadow: 0px 4px 16px 0px
      var(--swirl-table-shadow-rgba),
    0px 1px 4px 0px var(--swirl-table-shadow-rgba);
}

.table__table {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-width: max(20rem, 100%);
}

.table__header ::slotted(*) {
    display: flex;
  }

.table__empty-row {
  display: none;
}

.table__empty-row-cell {
  display: flex;
  overflow: auto;
  padding-top: var(--s-space-8);
  padding-right: var(--s-space-16);
  padding-bottom: var(--s-space-8);
  padding-left: var(--s-space-16);
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
  align-items: center;
  background-color: var(--s-surface-default);
}

.table__empty-row-cell > * {
    flex-grow: 1;
  }
