.sterling-tab {
  align-content: center;
  align-items: center;
  appearance: none;
  background-color: var(--stsv-common__background-color);
  border-color: transparent;
  border-radius: 8px;
  border-style: solid;
  border-width: 0;
  box-sizing: border-box;
  color: var(--stsv-common__color);
  cursor: pointer;
  display: grid;
  font: inherit;
  overflow: hidden;
  padding: 0.5em 1em 0.25em 1em;
  position: relative;
  text-decoration: none;
  text-overflow: ellipsis;
  transition:
    background-color 250ms,
    color 250ms,
    border-color 250ms;
  white-space: nowrap;
}

.sterling-tab:not(.vertical) {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1em;
  justify-content: center;
  justify-items: center;
  row-gap: 0.15em;
}

.sterling-tab.vertical {
  grid-template-columns: 1fr 1em;
  grid-template-rows: 1fr;
  justify-content: flex-start;
  justify-items: flex-start;
  align-content: center;
  align-items: center;
  column-gap: 0.15em;
  padding: 0.25em 1em;
}

.sterling-tab.using-keyboard:focus-visible {
  outline-color: var(--stsv-common__outline-color);
  outline-offset: 0;
  outline-style: solid;
  outline-width: var(--stsv-common__outline-width);
}

/* ----- content -----*/

.sterling-tab .content {
  padding: 0 0.2em;
}

/* ----- indicator -----*/

.sterling-tab .indicator {
  background-color: transparent;
  border-radius: 10000px;
  transition: background-color 250ms;
}

.sterling-tab:not(.vertical) .indicator {
  justify-self: stretch;
  height: 0.4em;
}

.sterling-tab.vertical .indicator {
  align-self: stretch;
  width: 0.4em;
}

.sterling-tab:not(:disabled):not(.selected):not(:active):hover .indicator {
  background-color: var(--stsv-common__color--subtle);
}

.sterling-tab:not(:disabled):active .indicator {
  background-color: var(--stsv-input__border-color--selected);
}

.sterling-tab:not(:disabled).selected .indicator {
  background-color: var(--stsv-input__border-color--selected);
}

/* ----- reduced motion -----*/

@media (prefers-reduced-motion) {
  .sterling-tab,
  .sterling-tab::after,
  .sterling-tab .indicator {
    transition: none;
  }
}
