/* Shared overflow behavior and controls for every pill navigation rendered by the theme. */
.pill-nav-shell {
  position: relative;
  min-width: 0;
  max-width: 100%;
  margin: 24px 0;
}

.pill-nav {
  min-width: 0;
  max-width: 100%;
  margin: 0;
  overscroll-behavior-inline: contain;
  scroll-padding-inline-end: var(--grid-gap-compact);
  -webkit-overflow-scrolling: touch;
}

.pill-nav::after {
  flex: 0 0 calc(40px + var(--grid-gap-dense));
  content: "";
}

.pill-nav-item { flex: 0 0 auto; }

.pill-nav-scroll {
  position: absolute;
  z-index: 2;
  top: 50%;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: var(--r-full);
  background: var(--surface-control);
  color: var(--fg);
  box-shadow: 0 0 0 calc(var(--grid-gap-dense) / 2) var(--bg);
  cursor: pointer;
  transform: translateY(-50%);
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}

.pill-nav-scroll { width: 40px; height: 40px; }
.pill-nav-scroll--prev { left: 0; }
.pill-nav-scroll--next { right: 0; }
.pill-nav-scroll[hidden] { display: none; }
.pill-nav-scroll:hover { border-color: var(--accent); background: var(--accent); }
.pill-nav-scroll:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.pill-nav-scroll span { font-size: 24px; line-height: 1; transform: translateY(-1px); }
