/* ============================================================
   Component: Button
   c-button — 汎用ボタン
   ============================================================ */

.c-button[hidden] {
  display: none;
}

.c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-xs);
  min-height: 42px;
  padding: var(--spacing-sm) var(--spacing-md);
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--color-bg-surface);
  color: var(--color-text);
  font-family: inherit;
  font-size: inherit;
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}

.c-button:hover {
  text-decoration: none;
  opacity: 0.82;
}

.c-button--primary:hover {
  opacity: 1;
  filter: brightness(1.1);
}

.c-button--small:hover {
  opacity: 1;
  background: var(--color-bg-hover, rgba(0, 0, 0, 0.06));
}

.c-button span {
  white-space: nowrap;
}

/* --- Color Modifiers --- */

.c-button--primary {
  background: var(--color-primary);
  color: var(--color-text-inverse);
}

.c-button--danger {
  background: rgba(179, 58, 58, 0.1);
  color: var(--color-danger);
}

.c-button--ghost {
  background: rgba(255, 255, 255, 0.12);
  color: var(--color-text-inverse);
}

/* --- Size Modifiers --- */

.c-button--small {
  min-height: 34px;
  padding: var(--spacing-xs) var(--spacing-sm);
  font-size: var(--font-size-sm);
}

/* --- Icon Button (circle) --- */

.c-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: var(--radius-pill);
  background: var(--color-bg);
  color: var(--color-text);
  cursor: pointer;
}

.c-icon-button--danger {
  background: var(--color-danger);
  color: var(--color-text-inverse);
}
