.ol-tabs {
  --border-width-base: 3px;

  .nav-tabs-container {
    overflow-x: auto;
    display: flex;
    flex-direction: column;

    @include media-breakpoint-down(md) {
      display: block;
    }

    .nav-tabs {
      display: inline-flex;
      gap: var(--spacing-04);
      margin: 0 auto;
      padding: 0;
      border-bottom: var(--border-width-base) solid var(--border-divider);
      text-align: center;
      border-top: 2px solid transparent; // so that top focus border is visible
      min-width: max-content; // This is for horizontal scrolling

      li {
        display: inline-block;
        float: none;
        margin-bottom: calc(var(--border-width-base) * -0.6);

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

        a,
        button {
          border: 0;
          border-radius: 0;
          color: var(--content-secondary);
          margin-right: unset;
          padding: var(--spacing-04);
          line-height: var(--line-height-03);
          text-decoration: none;

          &:focus,
          &:hover {
            border: 0;
          }

          &:focus,
          &:focus-visible {
            background-color: unset;
            outline: 0;
          }

          &:hover {
            background-color: var(--bg-light-secondary);
            text-decoration: none;
          }

          &:focus-visible {
            @include box-shadow-button-input;
          }
        }
      }

      li > a.active,
      li > button.active {
        background-color: transparent;
        border: 0;
        border-bottom: 3px solid var(--green-50);
        color: var(--content-primary);
      }

      &.align-left {
        margin-left: 0;
        margin-right: 0;
      }
    }
  }

  .tab-content {
    margin-top: var(--spacing-11);
  }
}

// Scroll the page up a bit to allow tab links to be shown when navigating to
// a bookmarked tab hash
[data-ol-bookmarkable-tabset] .tab-pane {
  scroll-margin-top: 120px;
}
