/* ============================================================
   Buttons (section 12)
   ============================================================ */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  height: var(--row-height);
  padding: 0 var(--space-4);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  font-weight: 500;
  white-space: nowrap;
  transition: background 120ms, color 120ms, box-shadow 120ms;
}

/* Primary */
.btn-primary {
  background: var(--accent);
  color: var(--text-inverse);
}

.btn-primary:hover {
  background: var(--accent-hover);
  box-shadow: var(--accent-glow);
}

/* Ghost */
.btn-ghost {
  background: transparent;
  color: var(--text-secondary);
}

.btn-ghost:hover {
  background: var(--accent-dim);
  color: var(--text-primary);
}

/* Danger */
.btn-danger {
  background: var(--negative-dim);
  color: var(--negative);
}

.btn-danger:hover {
  background: var(--negative);
  color: var(--text-inverse);
}

/* Watch toggle */
.btn-watch {
  background: var(--accent-dim);
  color: var(--accent);
}

.btn-watch:hover {
  background: var(--accent-dim-hover);
}

.btn-watch.watching {
  background: var(--accent);
  color: var(--text-inverse);
}

.btn-icon { width: 14px; height: 14px; stroke-width: 2; flex-shrink: 0; }

/* Icon-only variant */
.btn-icon-only {
  width: var(--row-height);
  padding: 0;
}

.btn-icon-only svg {
  width: 16px;
  height: 16px;
}
