/*
 * Navigation — tabs, breadcrumb, pagination, menu (dropdown panel).
 * Docs: design-system/docs/components/navigation.md
 */

/* ---- Tabs ---- */
.ac-tabs {
  display: flex;
  min-width: 0;
}
.ac-tabs--underline {
  gap: var(--ac-space-1);
  border-bottom: 1px solid var(--ac-color-border);
  overflow-x: auto;
  scrollbar-width: none;
}
.ac-tabs--underline > :is(button, a) {
  height: 44px;
  padding: 0 14px;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  background: transparent;
  color: var(--ac-color-text-2);
  font: var(--ac-font-body);
  display: inline-flex;
  align-items: center;
  gap: var(--ac-space-1-5);
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
}
@media (hover: hover) { .ac-tabs--underline > :is(button, a):hover { color: var(--ac-color-text); } }
.ac-tabs--underline > :is([aria-selected='true'], [aria-current], .is-active) {
  border-bottom-color: var(--ac-color-primary);
  color: var(--ac-color-primary-strong);
  font-weight: 700;
}
/* Tabs that share the row, no scrolling (compact screens; extra tabs go in a « Plus » menu, an ac-menu). */
.ac-tabs--fill { gap: 0; }
.ac-tabs--fill > :is(button, a) {
  flex: 1 1 auto;
  justify-content: center;
  gap: var(--ac-space-1);
  padding: 0 var(--ac-space-2);
}
.ac-tabs--pill {
  gap: var(--ac-space-1-5);
  overflow-x: auto;
  scrollbar-width: none;
}
.ac-tabs--pill::-webkit-scrollbar,
.ac-tabs--underline::-webkit-scrollbar { display: none; }
.ac-tabs--pill > :is(button, a) {
  height: var(--ac-control-sm);
  padding: 0 14px;
  flex-shrink: 0;
  border: 1px solid var(--ac-color-border-control);
  border-radius: var(--ac-radius-pill);
  background: var(--ac-color-surface);
  color: var(--ac-color-text-2);
  font: var(--ac-font-body);
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
}
.ac-tabs--pill > :is([aria-selected='true'], [aria-current], .is-active) {
  border-color: var(--ac-color-inverse);
  background: var(--ac-color-inverse);
  color: var(--ac-color-on-inverse);
  font-weight: 700;
}
.ac-tabs__count { color: var(--ac-color-text-muted); font-weight: 600; }

/* ---- Breadcrumb ---- */
.ac-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ac-space-1-5);
  font: var(--ac-font-small);
  color: var(--ac-color-text-muted);
  margin-bottom: var(--ac-space-3);
}
.ac-breadcrumb a { color: var(--ac-color-text-muted); text-decoration: none; }
@media (hover: hover) { .ac-breadcrumb a:hover { color: var(--ac-color-text); } }
.ac-breadcrumb [aria-current] { color: var(--ac-color-text); }

/* ---- Pagination ---- */
.ac-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--ac-space-1);
  list-style: none;
  margin: var(--ac-space-6) 0 0;
  padding: 0;
}
.ac-pagination :is(a, span) {
  min-width: var(--ac-control-sm);
  height: var(--ac-control-sm);
  padding: 0 var(--ac-space-2);
  border-radius: var(--ac-radius-md);
  color: var(--ac-color-text-2);
  font: var(--ac-font-body);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
@media (hover: hover) { .ac-pagination a:hover { background: var(--ac-color-track); color: var(--ac-color-text); } }
.ac-pagination [aria-current] {
  background: var(--ac-color-inverse);
  color: var(--ac-color-on-inverse);
  font-weight: 700;
}

/* ---- Menu: floating panel of actions or links ---- */
.ac-menu {
  min-width: 200px;
  padding: var(--ac-space-1);
  background: var(--ac-color-surface);
  border: 1px solid var(--ac-color-border);
  border-radius: var(--ac-radius-lg);
  box-shadow: var(--ac-shadow-e2);
  color: var(--ac-color-text);
  list-style: none;
  margin: 0;
}
.ac-menu__item {
  display: flex;
  align-items: center;
  gap: var(--ac-space-2-5);
  width: 100%;
  min-height: var(--ac-control-md);
  padding: 0 var(--ac-space-3);
  border: none;
  border-radius: var(--ac-radius-md);
  background: none;
  color: var(--ac-color-text);
  font: var(--ac-font-body);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.ac-menu__item .ac-icon { color: var(--ac-color-text-muted); --ac-icon-size: 18px; }
.ac-menu__item:focus-visible { background: var(--ac-color-bg-subtle); color: var(--ac-color-text); }
@media (hover: hover) { .ac-menu__item:hover { background: var(--ac-color-bg-subtle); color: var(--ac-color-text); } }
.ac-menu__item:is([aria-current], .is-active) { background: var(--ac-color-primary-soft); color: var(--ac-color-primary-strong); }
.ac-menu__item:is([aria-current], .is-active) .ac-icon { color: currentColor; }
.ac-menu__item--danger,
.ac-menu__item--danger .ac-icon { color: var(--ac-color-required); }
.ac-menu__label {
  padding: var(--ac-space-2) var(--ac-space-3) var(--ac-space-1);
  font: var(--ac-font-overline);
  text-transform: uppercase;
  letter-spacing: var(--ac-letter-spacing-overline);
  color: var(--ac-color-text-muted);
}
.ac-menu__divider {
  height: 1px;
  margin: var(--ac-space-1) 0;
  background: var(--ac-color-divider);
  border: 0;
}
