/* =============================================================================
   COMPONENT: bottom-nav — MOBILE primary navigation in the thumb zone (FEA-0000).
   Hidden at desktop posture (>=48rem), where side-nav takes over. Active tab is
   shown by icon AND label + aria-current (never color alone).
   ========================================================================== */
@layer components {
  .bottom-nav {
    display: flex;
    justify-content: space-around;
    background: var(--surface-raised);
    border-block-start: var(--border-width) solid var(--color-border);
    padding-block-start: var(--space-xs);
    padding-block-end: var(--safe-bottom);
    position: sticky;
    inset-block-end: 0;
    z-index: var(--z-header);
  }
  .bottom-nav__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-3xs);
    min-block-size: var(--bottom-nav-h);
    min-inline-size: 0;
    padding-block: var(--space-2xs);
    padding-inline: var(--space-3xs);
    border-radius: var(--radius-md);
    font-size: var(--text-xs);
    color: var(--color-text-muted);
    text-decoration: none;
    transition: color 0.15s ease, background 0.15s ease;
  }

  .bottom-nav__item span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-inline-size: 100%;
  }

  /* Active tab: pill tint + accent (matches side-nav; icon + label, not color alone). */
  .bottom-nav__item[aria-current="page"] {
    background: var(--accent-tint);
    color: var(--accent);
    font-weight: var(--weight-semibold);
  }

  .bottom-nav__item[aria-current="page"] .lucide {
    stroke-width: 2.25;
  }

  .bottom-nav__item:focus-visible { box-shadow: var(--focus-ring); }

  .bottom-nav__item:active {
    background: color-mix(in oklab, var(--accent) 12%, transparent);
  }

  @media (min-width: 48rem) { .bottom-nav { display: none; } }
}
