:host {
  display: flex;
  overflow: hidden;
  padding-top: var(--s-space-12);
  padding-right: var(--s-space-16);
  padding-bottom: var(--s-space-12);
  padding-left: var(--s-space-16);
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
  align-items: center;
  border-bottom: var(--s-border-width-default) solid var(--s-border-default);
  color: var(--s-text-subdued);
  font-size: var(--s-font-size-sm);
  font-weight: var(--s-font-weight-medium);
  line-height: var(--s-line-height-sm);
  white-space: nowrap;
  letter-spacing: var(--s-letter-spacing-tighter);
  text-overflow: ellipsis;
  transition: box-shadow 0.15s;
  gap: var(--s-space-8);
}

  :host(.table-column--is-sticky) {
    position: sticky;
    z-index: 1;
  }

  :host(.table-column--is-sticky-right) {
    position: sticky;
    z-index: 1;
    right: 0;
  }

  :host(.table-column--has-shadow-right) {
    box-shadow: var(--swirl-table-sticky-right-shadow);
  }

  :host(.table-column--has-shadow-left) {
    box-shadow: var(--swirl-table-sticky-left-shadow);
  }

  :host(.table-column--default) {
    background-color: var(--s-surface-default);
  }

  :host(.table-column--sunken) {
    background-color: var(--s-surface-sunken-default);
  }

  :host(.table-column--raised) {
    background-color: var(--s-surface-neutral-subdued);
  }

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

.table-column__sort-indicator {
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
  flex-grow: 0;
  flex-shrink: 0;
}
