/*
 * Navigation styles.
 * Header nav, menus, mobile nav.
 */
@layer components {
  /* Logo */
  .nav-logo {
    display: flex;
    align-items: center;
    text-decoration: none;
    font-size: var(--text-2xl);
    transition: transform 0.2s var(--ease-out);
  }

  .nav-logo:hover {
    transform: scale(1.1);
  }

  .logo-icon {
    display: block;
    filter: grayscale(0);
  }

  /* Navigation menu */
  .nav-menu {
    display: flex;
    align-items: center;
  }

  .nav-list {
    display: flex;
    gap: var(--space-xl);
    list-style: none;
    padding: 0;
    margin: 0;
  }

  /* Navigation items */
  .nav-item {
    margin: 0;
  }

  .nav-link {
    display: block;
    color: var(--color-nav-text);
    text-decoration: none;
    font-size: var(--text-sm);
    font-weight: 300;
    letter-spacing: 0.05em;
    padding-block: var(--space-xs);
    padding-inline: var(--space-sm);
    border-radius: var(--radius-sm);
    transition: color 0.2s var(--ease-out), background 0.2s var(--ease-out);
    position: relative;
  }

  .nav-link:hover {
    color: var(--color-nav-active);
    text-decoration: none;
  }

  /* Active state - yellow underline */
  .nav-link.active {
    color: var(--color-nav-active);
  }

  .nav-link.active::after {
    content: "";
    position: absolute;
    inset-inline: var(--space-sm);
    inset-block-end: 0;
    block-size: 2px;
    background: var(--color-nav-active);
  }

  /* Mobile navigation toggle (optional for future) */
  .nav-toggle {
    display: none;
    background: none;
    border: none;
    color: var(--color-nav-text);
    font-size: var(--text-2xl);
    cursor: pointer;
    padding: var(--space-xs);
  }

  /* Mobile styles */
  @media (max-width: 768px) {
    .nav-toggle {
      display: block;
    }

    .nav-menu {
      position: absolute;
      inset-block-start: 100%;
      inset-inline-start: 0;
      inset-inline-end: 0;
      background: var(--color-nav-bg);
      border-block-start: var(--border-width) solid var(--color-border);
      padding: var(--space-lg);
      display: none;
    }

    .nav-menu[data-open="true"] {
      display: block;
    }

    .nav-list {
      flex-direction: column;
      gap: var(--space-md);
    }

    .nav-link {
      font-size: var(--text-base);
    }
  }
}
